Hello,

I’m using Root versions

4.02/00

4.01/02

And when I try to use matrix/vector index start from “1” not “0”,

say

TMatrixD A(1,3, 1,3);

TvectorD y(1,3);

…

TDecompSVD UwVt(A);

…

It looks to me that “TDecompSVD” returns GetSig()/GetU()/GetV()

vector/matrix w/ index start from “0”, not “1” and it crashes when

I attemp to call Solve() – see below.

Do I need to use Vector/Matrix index always start from “0”?

Or is this a feature?

Also, standard text book says matrix (mxn) A can be decomposed

to

A = U w V^T

where U = (mxn), w = disg (nxn), and V = (nxn) matrices. But Root

"TDecompSVD" documentation says,

[–

For an (m x n) matrix A with m >= n, the singular value decomposition

is

an (m x m) orthogonal matrix fU, an (m x n) diagonal matrix fS, and

an (n x n) orthogonal matrix fV so that A = U*S*V’.

–]

It may confuse people? (documentation may be incorrect?)

Thanks,

Chul Su

PS –

TDecompSVD crashes when I sttempt to call Decompose()/GetSig()/GetU()/…/Solve(),

with

Error messages

…

Error in <TVectorD::operator*=(const TMatrixD &)>: vector and matrix incompatible

Error in <TVectorD::operator=(const TVectorD &)>: vectors not compatible

…

Fatal in TVectorD::: IsValid() violated at line 1235 of `matrix/src/TVectorD.cxx’