Log of /trunk/math/matrix/inc/TDecompSparse.h
Parent Directory
Revision
22885 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Mar 28 13:57:25 2008 UTC (6 years, 9 months ago) by
rdm
File length: 9664 byte(s)
Diff to
previous 20882
move the following directories under the new "math" meta directory:
mathcore
mathmore
fftw
foam
fumili
genvector
matrix
minuit
minuit2
mlp
physics
smatrix
splot
unuran
quadp
Revision
10329 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sat Oct 16 18:09:17 2004 UTC (10 years, 3 months ago) by
brun
Original Path:
trunk/matrix/inc/TDecompSparse.h
File length: 9621 byte(s)
Diff to
previous 9181
From Eddy Offermann:
- added new decomposition class TDecompBK: Bunch-Kaufman algorithm
this class is designed to decompose real symmetric matrices . Now
we can guarantee that inverse of a symmetric matrix is again
symmetric .
- As a consequence of the introduction of TDecompBK, we added
Invert(..) functionality to TMatrixD/FSym
Also added InvertFast to TMatrixD/FSym which uses Cramer
inversion for matrices <= (6 x 6) , resulting in large speedup
but less accuracy . The necessary routines are encapsulated
in the new TMatrixDSymCramerInv class .
Note of caution :
Unlike the other decompositions, Bunch-Kaufmann does not result
in a triangular matrix of which the determinant is trivially calculated
by multiplying the diagonal elements . As a consequence,
we have to invoke yet another decomposition when the user
requests the determinant .
So Invert() will be roughly twice faster than Double_t *det; Invert(det)
- Changed the algoritm for the Cholesky decomposition so that we
do not need to have a copy of the original matrix around !
After removal of class member fA, increased the version to 2
- Added sorting of eigen -values/-vectors to TMatrixDEigen .
They are now sorted according to Re^2+Im^2 of the (possible)
complex eigenvalues in descending order . TMatrixDSymEigen
already sorted . Since most users use TMatrixD instead of
TMatrixDSym, this will ensure backward compatiblity since
old root contained the symmetric algorithms in TMatrixD .
- Added rank 1 update algorihms : A += alpha * x y^T
(x and y are vectors)
to the non-sparse matrix classes (adding this to sparse
would make this matrix immediately dense :)
- Moved Invert fom TDecompBase to the different decomposition
classes . Reason is that some classes can decompose A(m,n)
where m > n . The result of Invert() is then a "pseudo-invert"
: A_pseudo = (A^T A)^-1 A^T .
- Removed an unfortunate bug in the TMatrixD/FSub class :
both operators
void operator+=(Double_t val);
void operator*=(Double_t val);
performed actually
void operator=(Double_t val);
~
Revision
9095 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Jun 2 15:42:48 2004 UTC (10 years, 7 months ago) by
brun
Original Path:
trunk/matrix/inc/TDecompSparse.h
File length: 9662 byte(s)
Diff to
previous 8892
From Eddy Offermann:
TMatrixD/FBase::Print(Option_t *name) :
now allows an optional name to be printed.
TDecompSparse:
This decomposition class is (as stated in the header)
only for symmetric matrices . The routine wants
only the upper triangle (including diagonal) of the
matrix . Therefore, add functionality to accomplish
this .
The routine Solve() contained a bug and some of the
logic was rearranged.
The initialization in InitPivot was also rearranged so
that the pivoting threshold is set correctly
Due to these changes, the quadratic programming with
sparse matrices is now functional .
Revision
8892 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Added
Wed May 12 10:39:29 2004 UTC (10 years, 8 months ago) by
brun
Original Path:
trunk/matrix/inc/TDecompSparse.h
File length: 9171 byte(s)
From Eddy Offermann:
1) patch for the matrix directory (cvs diff -a matrix)
2) tar file containing new modules:
matrix/inc/TDecompSparse.h
matrix/inc/TMatrixDSparse.h
matrix/src/TDecompSparse.cxx
matrix/src/TMatrixDSparse.cxx
3) new stressLinear.cxx
Description of changes:
1) many updates of comments in code
2) possibility to construct random matrices, general
symmetric and positive definite
3) Introduction of new matrix class: TMatrixDSparse .
It defines a general sparse matrix in
Harwell-Boeing
format (sparse structure definition optimized for
matrix-vector multiplications).
Like all the other matrix classes, it derives from
TMatrixDBase
4) Introduction of a new decomposition class:
TDecompSparse . It allows decomposition (and
therefore equation solving) of sparse symmetric
matrices
This form allows you to request diffs between any two revisions of this file.
For each of the two "sides" of the diff,
enter a numeric revision.