Boost logo

Boost :

From: David Abrahams (abrahams_at_[hidden])
Date: 2001-03-16 18:54:13


----- Original Message -----
From: <lums_at_[hidden]>
To: <boost_at_[hidden]>
Sent: Friday, March 16, 2001 9:00 AM
Subject: [boost] Re: matrix library ?

> --- 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.

Forgive my denseness, but the math chops are rusty!
a. That's not a Taylor series expansion the way I'm used to seeing it. Is
there some trivial derivation I'm missing?
b. Which is the linear operator?

and,

3. You'd want to use more straightforward code if you had actual matrices,
no?

-Dave


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk