Hi Dean, I will look into it. For the moment replace: TMatrix b(2,2); b=a.Invert(); by TMatrix b(TMatrix::kInverted,a) Best Regards, Eddy > X-Authentication-Warning: pcroot.cern.ch: majordomo set sender to owner-roottalk@root.cern.ch using -f > X-External: Man_on_the_moon > Date: Thu, 01 May 2003 07:27:30 -0500 (CDT) > From: sdean <sdean@fnal.gov> > Subject: [ROOT] TMatrix Invert Mult > To: roottalk@pcroot.cern.ch > MIME-version: 1.0 > Content-transfer-encoding: 7BIT > > Hi there, > > Please inspect the following piece of code which attempts to perform one > of the most basic matrix operations, that of multiplying a matrix by its > inverse to obtain the unit matrix: > > root [0] TMatrix a(2,2) > root [1] a(0,0)=1.0; > root [2] a(1,0)=2.0; > root [3] a(0,1)=3.0; > root [4] a(1,1)=4.0; > root [5] TMatrix b(2,2) > root [6] b=a.Invert(); > root [7] TMatrix c(2,2) > root [8] c.Mult(b,a) > root [9] c(0,0) > (Real_t)5.50000000000000000e+00 > root [10] c(1,0) > (Real_t)(-2.50000000000000000e+00) > root [11] c(0,1) > (Real_t)(-3.75000000000000000e+00) > root [12] c(1,1) > (Real_t)1.75000000000000000e+00 > > The results look much too precise for this to be a conversion error. Can > anyone see where I'm going wrong? > > cheers, > > Simon > Eddy A.J.M. Offermann Renaissance Technologies Corp. Route 25A, East Setauket NY 11733 e-mail: eddy@rentec.com http://www.rentec.com
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:11 MET