[ROOT] bug in TMatrix - Invert !?

From: Martin Schulte-Wissermann (schulte@pktw09.phy.tu-dresden.de)
Date: Wed May 07 2003 - 15:15:51 MEST


hello all,
 the script :

{
	TMatrix M(3,3);
	M(0,0) = 1;     M(0,1) = 4;     M(0,2) =  2;
	M(1,0) = 2;     M(1,1) = 7;     M(1,2) = -3;
	M(2,0) = 3;     M(2,1) = 2;     M(2,2) =  1;

	// inverted matrix and test im M*Minv=E
	TMatrix Minv(TMatrix::kInverted,M);
	TMatrix E(M,TMatrix::kMult,Minv);

	cout << "###\n# MATRIX M"<<endl;         M.Print();
	cout << "###\n# MATRIX Minv"<<endl;      Minv.Print();
	cout << "###\n# MATRIX E (?):" <<endl;	 E.Print();
}

   results in different output using v3.02.07 and v3.05.04.
   the main problem is, that the old version to me seems to be right.
   i have noticed, that in v3.05.02 some (major) changes in TMatrix have
   been made. now i puzzle if i missed something, or this is a bug.

 (SuSE 7.3, gcc 2.95)
greetings,
 martin


ps: following - output of the script for both versions
output  ## v3.02.07 ##
###
# MATRIX M

Matrix 3x3 is as follows

     |        0  |        1  |        2  |
------------------------------------------------------------------
   0 |          1           4           2
   1 |          2           7          -3
   2 |          3           2           1

###
# MATRIX Minv

Matrix 3x3 is as follows

     |        0  |        1  |        2  |
------------------------------------------------------------------
   0 |       -0.2           0         0.4
   1 |     0.1692     0.07692     -0.1077
   2 |     0.2615     -0.1538     0.01538

###
# MATRIX E (?):

Matrix 3x3 is as follows

     |        0  |        1  |        2  |
------------------------------------------------------------------
   0 |          1           0  -1.863e-08
   1 |  1.788e-07           1  -6.147e-08
   2 |   1.49e-08           0           1

-------------------------------------------------------------
#############################################################
output ## v3.05.04 ##
###
# MATRIX M

Matrix 3x3 is as follows

     |        0  |        1  |        2  |
------------------------------------------------------------------
   0 |          1           4           2
   1 |          2           7          -3
   2 |          3           2           1

###
# MATRIX Minv

Matrix 3x3 is as follows

     |        0  |        1  |        2  |
------------------------------------------------------------------
   0 |       -0.2      0.1692      0.2615
   1 |          0     0.07692     -0.1538
   2 |        0.4     -0.1077     0.01538

###
# MATRIX E (?):

Matrix 3x3 is as follows

     |        0  |        1  |        2  |
------------------------------------------------------------------
   0 |        0.6      0.2615     -0.3231
   1 |       -1.6         1.2        -0.6
   2 |       -0.2      0.5538      0.4923



This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:11 MET