[root] / trunk / math / matrix / src / TMatrixTSparse.cxx Repository:
ViewVC logotype

Log of /trunk/math/matrix/src/TMatrixTSparse.cxx

Parent Directory Parent Directory


Links to HEAD: (view) (download) (as text) (annotate)
Sticky Revision:

Revision 46214 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Sep 27 10:10:19 2012 UTC (2 years, 3 months ago) by rdm
File length: 101506 byte(s)
Diff to previous 41891
Digital Alpha is no longer supported. Remove all references to __alpha and
__true64.

Revision 41891 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 10 22:46:31 2011 UTC (3 years, 2 months ago) by pcanal
File length: 101529 byte(s)
Diff to previous 38713
Remove all assigned but unused variable discovered by g++ 4.6.1 (including one completely nop function)

Revision 38713 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 4 08:06:41 2011 UTC (3 years, 9 months ago) by moneta
File length: 101586 byte(s)
Diff to previous 35649
update the doc as suggested by https://savannah.cern.ch/bugs/index.php?78419

Revision 35649 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Sep 23 13:18:11 2010 UTC (4 years, 4 months ago) by moneta
File length: 101424 byte(s)
Diff to previous 32796
fix for Coverity  10451, 10565 in TFitterMinuit and 10694 and 10695 in TMatrixTSparse

Revision 32796 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Mar 28 17:21:05 2010 UTC (4 years, 9 months ago) by brun
File length: 101378 byte(s)
Diff to previous 32616
From Eddy:
fix for [bug #64531] problem with TMatrixDSparse algebra

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: 101357 byte(s)
Diff to previous 30125
Fix issues reported by clang++:
- qualify calls, because name lookup doesn't look in base classes
  (two-phase name lookup).
- unused parameter warnings

Revision 30125 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 14 05:03:58 2009 UTC (5 years, 4 months ago) by brun
File length: 101311 byte(s)
Diff to previous 30103
From Eddy Offermann:
- added a Streamer function to TMatrixTSparse to remove a memory leak.
  Updated LinkDef.h accordingly.

- added vector functionality as proposed by Peter D Barnes from LNL
  (http://root.cern.ch/phpBB2/viewtopic.php?t=8351).

  Mult function: double   s = v1 * M * v2;  // e.g., physics matrix element 
  OuterProduct : TMatrixD M = v1' * v2      // outer product of v1 and v2

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: 100748 byte(s)
Diff to previous 25272
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 25272 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Aug 27 06:28:00 2008 UTC (6 years, 4 months ago) by brun
File length: 97901 byte(s)
Diff to previous 23492
From Eddy:
fix a memory leak problem in TMatrixTSparse .

Revision 23492 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 23 20:42:49 2008 UTC (6 years, 9 months ago) by brun
File length: 97911 byte(s)
Diff to previous 22885
From Eddy:
Fix shadowed variables

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: 97896 byte(s)
Diff to previous 20942
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 20942 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 21 06:07:03 2007 UTC (7 years, 2 months ago) by brun
Original Path: trunk/matrix/src/TMatrixTSparse.cxx
File length: 97896 byte(s)
Diff to previous 20907
From Eddy:
Fix a bug in TMatrixTSparse::ExtractRow (symmetric to the bug previously fixed
in TMatrixTSparse::InsertRow.

Revision 20907 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 20 06:18:06 2007 UTC (7 years, 2 months ago) by brun
Original Path: trunk/matrix/src/TMatrixTSparse.cxx
File length: 97897 byte(s)
Diff to previous 20882
From Eddy:
Fix a bug in TMatrixTSparse<Element>::ExtractRow reported by Jiajie Ling.
At line 408 acoln+n was used instead of acoln+nr.

Revision 20882 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 19 11:31:26 2007 UTC (7 years, 2 months ago) by rdm
Original Path: trunk/matrix/src/TMatrixTSparse.cxx
File length: 97895 byte(s)
Diff to previous 19826
Set property svn:eol-style LF on all source and Makefiles. This should avoid
problems with Win32 line endings ending up in the repository. All MS tools
support LF eols fine.

Revision 19826 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:56:11 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/matrix/src/TMatrixTSparse.cxx
File length: 97895 byte(s)
Diff to previous 19825
imported svn:keywords Id property

Revision 19825 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:49:10 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/matrix/src/TMatrixTSparse.cxx
File length: 97952 byte(s)
Diff to previous 19160
remove :$ from tag line

Revision 19160 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jun 24 18:44:41 2007 UTC (7 years, 7 months ago) by brun
Original Path: trunk/matrix/src/TMatrixTSparse.cxx
File length: 97962 byte(s)
Diff to previous 17654
From Eddy:
The protected routines :

   AMultB , AMultBt. APlusB, AMinusB

performed a check on an array that was not necessarily initialized .
These routines are used
by some of the constructors .

Revision 17654 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Feb 3 10:21:21 2007 UTC (7 years, 11 months ago) by brun
Original Path: trunk/matrix/src/TMatrixTSparse.cxx
File length: 97776 byte(s)
Diff to previous 17648
Remove keyword inline in the implementation of
Element TMatrixTSparse<Element>::operator()(Int_t rown,Int_t coln) const

This ws fatal on Solaris.

Revision 17648 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Feb 3 06:40:26 2007 UTC (7 years, 11 months ago) by brun
Original Path: trunk/matrix/src/TMatrixTSparse.cxx
File length: 97783 byte(s)
Diff to previous 17316
From Eddy:
Remove the inclusion of TMath.h in TMatrixTUtils.h and fix all the consequences

Revision 17316 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 15 10:16:15 2007 UTC (8 years ago) by brun
Original Path: trunk/matrix/src/TMatrixTSparse.cxx
File length: 96463 byte(s)
Diff to previous 16458
REmove several dependencies on TMath.h

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/src/TMatrixTSparse.cxx
File length: 96443 byte(s)
Diff to previous 16161
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 16161 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Aug 30 12:54:13 2006 UTC (8 years, 4 months ago) by brun
Original Path: trunk/matrix/src/TMatrixTSparse.cxx
File length: 95410 byte(s)
Diff to previous 15123
From Eddy:
the promised update/patch for

TMatrixD A; ......

B.Use(A);
C.Use(A);

C += B;

Currently, It is checked in these kinds of operation whether the
objects
are the same . Obviously, that is not enough because objects could be
using the same data location . So I have to check if the data location
is identical .

Revision 15123 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon May 22 04:53:26 2006 UTC (8 years, 8 months ago) by brun
Original Path: trunk/matrix/src/TMatrixTSparse.cxx
File length: 95093 byte(s)
Diff to previous 14745
From Eddy:
More fixes to coding conventions violations

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/src/TMatrixTSparse.cxx
File length: 91084 byte(s)
Diff to previous 14460
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.

Revision 14460 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Mar 29 05:16:49 2006 UTC (8 years, 9 months ago) by brun
Original Path: trunk/matrix/src/TMatrixTSparse.cxx
File length: 91038 byte(s)
Diff to previous 14387
From Eddy:
1) TVectorT TMatrixT TMatrixTSym TMatrixTSparse : made sure that
IsValid Assert's
    are only done when gMatrixCheck is kTRUE
2) TMatrixTSym::Similarity and SimilarityT create a temporary matrix .
If storage
     is <= kWorkMax use a local array . This way less temporary
elements are
    created .
3) In  TMatrixTSym::Similarity and SimilarityT some shape checking was
missing

Revision 14387 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 23 11:23:15 2006 UTC (8 years, 10 months ago) by brun
Original Path: trunk/matrix/src/TMatrixTSparse.cxx
File length: 91012 byte(s)
Diff to previous 14375
From Eddy:
"I introduced a global parameter : Int_t gMatrixCheck  with
which can turn on (1) and off(0) the various checks :

- validity, sizes .. in the routines .

Revision 14375 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Mar 22 15:16:59 2006 UTC (8 years, 10 months ago) by brun
Original Path: trunk/matrix/src/TMatrixTSparse.cxx
File length: 90088 byte(s)
Diff to previous 13929
From Eddy:
- made more elementary constructors public .
- changed the default for these constructors to NOT create a matrix
object
- added besides AMultB, AMinusB and APlusB

Revision 13929 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jan 25 18:49:03 2006 UTC (9 years ago) by brun
Original Path: trunk/matrix/src/TMatrixTSparse.cxx
File length: 90078 byte(s)
Diff to previous 13770
From Eddy:
1) Added to LinkDef.h the NormalEqn function from TDecompChol . They
got
    lost in this file during the transition to the templated version of
the matrix library .

2) Replaced in the templated code everywhere references to DB_EPSILON
and DBL_MIN
    by the templated version through <numeric_limits> .

Revision 13770 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 23 19:55:50 2005 UTC (9 years, 1 month ago) by brun
Original Path: trunk/matrix/src/TMatrixTSparse.cxx
File length: 90022 byte(s)
Diff to previous 13756
Do not declare templateClassImp for the R__ALPHA platform

Revision 13756 - (view) (download) (as text) (annotate) - [select for diffs]
Added Thu Dec 22 09:27:57 2005 UTC (9 years, 1 month ago) by brun
Original Path: trunk/matrix/src/TMatrixTSparse.cxx
File length: 89999 byte(s)
Adding missing implementation files for the new templatex 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.

  Diffs between and
  Type of Diff should be a

Sort log by:

Subversion Admin
ViewVC Help
Powered by ViewVC 1.0.9