Hi, Just to clarify a bit more . In the old linear algebra package, the matrix was automatically normalized if it was symmetric ! Nicolas' matrix turns out to be symmetric . The normalization procedure applied is that of procedure NormByDiag() . Since now we have seperate classes for symmetric and non-symmetric classes, we can and should not apply anymore this special normalization to the matrix in TMatrixD::Invert() . It is not apriori clear how one wants to normalize a general matrix, it is left as the users responsibility . The determinant of Nicolas matrix is correctly calculated, but now we warn the user that it is overflowing (>2^52) and return a value of zero . This last point leads to a lot of confussion/grieve so I will propose a patch that will return the calculated determinant and just warn that it overflowed . Eddy --- PRODUIT Nicolas <Nicolas.Produit@obs.unige.ch> wrote: > Hi, > working offline with Edmond we have solved my problem. > The problem was that ROOT 4.0.8 was not able to > invert a matrix that ROOT 3.4.2 was able to invert. > My matrix had huge determinant (1E53) that caused problem > to ROOT 4.0.8 when determinant calculation was explicitly asked. > I used determinant computation just to catch singularity of > the matrix. > Edmond show me better ways of testing for singularity. > Reconditioning my matrix by dividing every element by the maximum > diagonal element make it more manageable for determinant > computation and now > both version of ROOT give identical results on this better behaved > matrix. > > For those interested this is the matrix that new ROOT has problem > to determine determinant: > > Matrix 21x21 is as follows > > | 0 | 1 | 2 | 3 | 4 | > ------------------------------------------------------------------ > 0 | 833 475 474.7 154.2 490.4 > 1 | 475 947.1 538.4 155.1 560.1 > 2 | 474.7 538.4 1016 148.9 601.5 > 3 | 154.2 155.1 148.9 250.7 169.4 > 4 | 490.4 560.1 601.5 169.4 1314 > 5 | 489.2 556.5 596.4 155.1 771.8 > 6 | 481.1 549.4 588.4 155.1 760.9 > 7 | 475.5 532.8 552.2 159.7 571.6 > 8 | 476.5 543.4 584.3 156.6 772.7 > 9 | 394.4 461.4 504.8 70.02 661.3 > 10 | 474 537.3 575.8 152.8 742 > 11 | 460.4 525.7 564.5 146.2 755.7 > 12 | 276.7 319.8 353.9 22.09 478.5 > 13 | 0 16.61 52.61 0 171.2 > 14 | 101.4 149.6 182 0 292.6 > 15 | 246.4 277.8 299.4 77.6 370.5 > 16 | 0 0 0 0 58.85 > 17 | 0 0 0 0 39.23 > 18 | 0 0 0 0 42.14 > 19 | 17.77 43.23 65.38 0 133.9 > 20 | 970.8 1107 1191 315.2 1545 > > > | 5 | 6 | 7 | 8 | 9 | > ------------------------------------------------------------------ > 0 | 489.2 481.1 475.5 476.5 394.4 > 1 | 556.5 549.4 532.8 543.4 461.4 > 2 | 596.4 588.4 552.2 584.3 504.8 > 3 | 155.1 155.1 159.7 156.6 70.02 > 4 | 771.8 760.9 571.6 772.7 661.3 > 5 | 1365 781.8 567.4 792.9 703.6 > 6 | 781.8 1350 560.1 783.2 698.9 > 7 | 567.4 560.1 944.9 554.1 471.5 > 8 | 792.9 783.2 554.1 1342 711.2 > 9 | 703.6 698.9 471.5 711.2 1189 > 10 | 758.5 749.7 548.8 761.5 678.1 > 11 | 773.6 762.8 547.1 777.8 696.4 > 12 | 504.4 498.4 330.5 505.9 503.9 > 13 | 189.7 188.2 25.56 203.6 206 > 14 | 316.5 309.9 162.1 316.7 324.3 > 15 | 378.4 374.3 273.6 383.1 341.6 > 16 | 65.48 58.62 0 74.83 74.88 > 17 | 49.28 45.25 0 52.31 54.38 > 18 | 49.67 46.48 0 56.8 57.6 > 19 | 135 132.8 56.23 142.2 140.8 > 20 | 1581 1563 1131 1586 1409 > > > | 10 | 11 | 12 | 13 | 14 | > ------------------------------------------------------------------ > 0 | 474 460.4 276.7 0 101.4 > 1 | 537.3 525.7 319.8 16.61 149.6 > 2 | 575.8 564.5 353.9 52.61 182 > 3 | 152.8 146.2 22.09 0 0 > 4 | 742 755.7 478.5 171.2 292.6 > 5 | 758.5 773.6 504.4 189.7 316.5 > 6 | 749.7 762.8 498.4 188.2 309.9 > 7 | 548.8 547.1 330.5 25.56 162.1 > 8 | 761.5 777.8 505.9 203.6 316.7 > 9 | 678.1 696.4 503.9 206 324.3 > 10 | 1295 756.2 505.3 199 278.9 > 11 | 756.2 1304 508.8 201.4 319.3 > 12 | 505.3 508.8 844.5 176.1 315 > 13 | 199 201.4 176.1 319 171.6 > 14 | 278.9 319.3 315 171.6 530.7 > 15 | 382.5 375.3 317.3 120.6 230.8 > 16 | 67.16 75.5 78.26 68.94 77.3 > 17 | 45.89 55.56 51.24 49.8 57.54 > 18 | 46.73 57.49 55.5 51.34 60.05 > 19 | 127.7 144.1 142.4 101.3 149.8 > 20 | 1525 1548 1010 390.6 630 > > > | 15 | 16 | 17 | 18 | 19 | > ------------------------------------------------------------------ > 0 | 246.4 0 0 0 17.77 > 1 | 277.8 0 0 0 43.23 > 2 | 299.4 0 0 0 65.38 > 3 | 77.6 0 0 0 0 > 4 | 370.5 58.85 39.23 42.14 133.9 > 5 | 378.4 65.48 49.28 49.67 135 > 6 | 374.3 58.62 45.25 46.48 132.8 > 7 | 273.6 0 0 0 56.23 > 8 | 383.1 74.83 52.31 56.8 142.2 > 9 | 341.6 74.88 54.38 57.6 140.8 > 10 | 382.5 67.16 45.89 46.73 127.7 > 11 | 375.3 75.5 55.56 57.49 144.1 > 12 | 317.3 78.26 51.24 55.5 142.4 > 13 | 120.6 68.94 49.8 51.34 101.3 > 14 | 230.8 77.3 57.54 60.05 149.8 > 15 | 657.2 64.84 44.36 51 144 > 16 | 64.84 110.4 52.59 56 56.9 > 17 | 44.36 52.59 79.1 73.07 44.16 > 18 | 51 56 73.07 83.99 45.74 > 19 | 144 56.9 44.16 45.74 228.7 > 20 | 774 143.4 103.2 108 281.6 > > > | 20 | > ------------------------------------------------------------------ > 0 | 970.8 > 1 | 1107 > 2 | 1191 > 3 | 315.2 > 4 | 1545 > 5 | 1581 > 6 | 1563 > 7 | 1131 > 8 | 1586 > 9 | 1409 > 10 | 1525 > 11 | 1548 > 12 | 1010 > 13 | 390.6 > 14 | 630 > 15 | 774 > 16 | 143.4 > 17 | 103.2 > 18 | 108 > 19 | 281.6 > 20 | 3168 > > determinant > (as computed by ROOT 3) > 136908227115674077978030740804195813377898749408313344.000000 > > > > Thanks > > -- > Nicolas Produit > INTEGRAL Science Data Center Phone: +41 22 950 91 40 > 16, Chemin d'Ecogia Fax: +41 22 950 91 33 > CH-1290 Versoix www: http://isdc.unige.ch/~produit > Phone after 10 Dec 2004: +41 22 379 21 40 > >
This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:10 MET