Left division operator

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Left division operator

Pascal A. Dupuis-4
Hello,

from octave doc, it is said that the left division operator can be
used to solve overdetermined problems: find x  which minimises
norm(Ax-B) => x=A\B

It is also stated that it does not compute the inverse of
A. Translation: it does not use the normal equation (A'*A)*x=A'*B. Right ?

Just curious: which proceduce is used ? Householder transformation of
A? Singular values decomposition ? Other ? In fact, this matters
mainly in the case of a badly conditionned A (nearly linear dependance
between columns).

TIA

Pascal

--
Dr. ir. Pascal Dupuis
K. U. Leuven, ESAT/ELECTA (formerly ELEN):  http://www.esat.kuleuven.ac.be/
Kasteelpark Arenberg, 10; B-3001 Leuven-Heverlee, Belgium
Tel. +32-16-32 10 21 -- Fax +32-16-32 19 85


Reply | Threaded
Open this post in threaded view
|

Left division operator

John W. Eaton-6
On 12-Mar-2004, Pascal A. Dupuis <[hidden email]> wrote:

| from octave doc, it is said that the left division operator can be
| used to solve overdetermined problems: find x  which minimises
| norm(Ax-B) => x=A\B
|
| It is also stated that it does not compute the inverse of
| A. Translation: it does not use the normal equation (A'*A)*x=A'*B. Right ?
|
| Just curious: which proceduce is used ? Householder transformation of
| A? Singular values decomposition ? Other ? In fact, this matters
| mainly in the case of a badly conditionned A (nearly linear dependance
| between columns).

You could look in the sources to find out.

Eventually, you would find the function Matrix::lssolve in
liboctave/dMatrix.cc (for the real-valued case), and you would see
that it calls the Lapack function DGELSS which uses an SVD method.

BTW, this is more of a general question about Octave, not so much
about maintaining Octave or its future, so a better list probably
would have been help-octave.

Thanks,

jwe