Hi Eddy et al,
On Mon, 11 Dec 2000 10:31:50 -0500 (EST)
Eddy Offermann <eddy@rentec.com> wrote
concerning ": [ROOT] matrix inversion class; comments please":
OK. Here you go.
When implementing TPrincipal this summer, I really REALLY missed some
classes in ROOT, that basically dealt with matrix inversion, so I
welcome you effort.
However, what I missed the most, was to have classes like
TUpperTriangleMatrixD
TLowerTriangleMatrixD
TSymmetricMatrixD
TTriDiagnonalMatrixD
Since these kinds of (real) matrixes are easily inverted, using
standard algorithms, these could have specialised inversion
methods/CTORs/etc.
And one can easily find eigenvalues and -vectors of tridiagonal
matrix, so this could also be a specilised method (See
TPrincipal). And ofcourse, a symmetric matrix can be turned into a
tridiagonal one, using standard algorithms.
In otherwords, I think making these classes would be more then useful,
and one could have a utility class - like TInverse - but being a
friend of T<foo>MatrixD classes, so that it may access the data
directly.
Please note, that it's not posssible to have the above propossed
classes inherit from TMatrixD, due to variuos return values, etc. One
could have a matrix base class TBaseMatrixD, or what ever. ClHEP has a
very extensive set of matrix classes, which are fairly well
organised.
Anyway, that's my two centimes worth.
Yours,
Christian -----------------------------------------------------------
Holm Christensen Phone: (+45) 35 35 96 91
Sankt Hansgade 23, 1. th. Office: (+45) 353 25 305
DK-2200 Copenhagen N Web: www.nbi.dk/~cholm
Denmark Email: cholm@nbi.dk
This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:39 MET