|
Boost : |
From: lums_at_[hidden]
Date: 2001-03-16 09:00:51
--- In boost_at_y..., "David Abrahams" <abrahams_at_m...> wrote:
> A might not be an explicitly represented
> > matrix of any kind -- it could simply be a function that returns
the
> > result A*x without using a stored matrix (e.g., a matrix-free
> > operator).
>
> Not much code in apply() in that case ;-)
Haha! Actually there would be something. The typical way of doing a
matrix-free linear operator application is to use our old friend
Taylor's expansion
A*y ~= [ f(x + d*y) - f(x) ] / dy
So that A is the Jacobian of the nonlinear function f. To represent
A requires storing f, x, and the result of f(x) and then doing the
above computation. There will also be some computing to size dy just
right so as to make it as small as possible but not too small,
trading off mathematical accuracy for floating point accuracy.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk