Log of /trunk/math/matrix/inc/TMatrixTSparse.h
Parent Directory
Revision
32616 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Mar 15 16:56:42 2010 UTC (4 years, 10 months ago) by
rdm
File length: 19535 byte(s)
Diff to
previous 30103
Fix issues reported by clang++:
- qualify calls, because name lookup doesn't look in base classes
(two-phase name lookup).
- unused parameter warnings
Revision
30103 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Sep 11 03:15:27 2009 UTC (5 years, 4 months ago) by
brun
File length: 19529 byte(s)
Diff to
previous 27658
From Eddy:
Changes to the TSparseTMatrix class:
This should resolve bug reports: 45807,45502 and 45415
Issues with the indexing of rows and columns have been resolved.
When applying operations like adding, subtracting or multiplying
matrixes, the new matrix did not always get the right index
table for non-zero entries.
The test/stressLinear.cxx code was not always testing the sparse matrix
code with matrices that contained also zero entries, therefore
not noticing the indexing issues.
TMatrixTSparse.h,cxx:
- SetSparseIndexAB : added versions that determine the index
tables for non-zero entries between dense and sparse matrices
- TMatrixTSparse(a,op,b) : added binary constructors between dense
and sparde matrices, before it would always call a copy constructor
to convert the dense matrix and then call the binary constructor.
- recoded parts of the (protected) routines AMultBt, AMinusB and
APlusB to resove the indexing issues.
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: 18701 byte(s)
Diff to
previous 22039
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
16458 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Oct 6 06:52:34 2006 UTC (8 years, 3 months ago) by
brun
Original Path:
trunk/matrix/inc/TMatrixTSparse.h
File length: 18018 byte(s)
Diff to
previous 15068
From Eddy Offermann:
Previously, the matrix package contained a large amount of ASSERT
statements which are a nuisance for programs analyzing a series of
independent events like in high-energy physics .
Assert's were issued when for instance a division by zero was requested
or a matrix was invalid . Most algorithms made matrices/vectors invalid
after an error occured in an operation , like inversion of a singular matrix .
Unfortunately, not all assert's were accompanied by error messages .
This situation has been completely overhauled :
- All error conditions in the algorithms are now accompanied by error
messages .
- In all algorithms it is still asserted that vectors/matrices are
valid BUT only in very few cases is a matrix/vector made invalid :
for instance if memory is allocated with incorrect parameters .
- In case of division by zero, the division is skipped . In case of a
singular matrix, the inversion routine returns the original matrix .
In the past the result of an inversion could be checked through the
value of the returned determinant or checking whether the inverted matrix
was valid .
Since from now on, we never make the matrix invalid in this operation, the
latter check will not indicate a singular matrix anymore .
The decompostion classes TDecomp... have a backward-compatible
change in the interface which makes detection of singularity easier :
old interface :
void Invert (TMatrixD &inv);
TMatrixD Invert ();
new interface :
Bool_t Invert (TMatrixD &inv);
TMatrixD Invert (Bool_t &status);
TMatrixD Invert () { Bool_t status; return Invert(status);
}
The returned status is kFALSE in case of singularity .
The old situation is easily reproduced by setting the ROOT variable
gErrorAbortLevel to kError . This cause an exception when there is an error
message (Error...) ., In the past the matrix would be made invalid which
would cause the next operation to throw an exception .
Revision
14745 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Apr 19 08:22:26 2006 UTC (8 years, 9 months ago) by
rdm
Original Path:
trunk/matrix/inc/TMatrixTSparse.h
File length: 17592 byte(s)
Diff to
previous 14375
Change the TError.h macros:
Assert -> R__ASSERT
Check -> R__CHECK
Change the TCollection.h macro:
ForEach -> R__FOR_EACH
This to avoid potential problems due too trivial macro names.
The old macros will be removed in the next release. Currently
they will print out warning messages with the advice to move
to the new macro names.
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.