```// @(#)root/base:\$Id\$
// Authors: Fons Rademakers, Eddy Offermann  Jan 2004

/*************************************************************************
*                                                                       *
* For the licensing terms see \$ROOTSYS/LICENSE.                         *
* For the list of contributors see \$ROOTSYS/README/CREDITS.             *
*************************************************************************/

//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TMatrixTCramerInv                                                    //
//                                                                      //
// Encapsulate templates of Cramer Inversion routines.                  //
//                                                                      //
// The 4x4, 5x5 and 6x6 are adapted from routines written by            //
// Mark Fischler and Steven Haywood as part of the CLHEP package        //
//                                                                      //
// Although for sizes <= 6x6 the Cramer Inversion has a gain in speed   //
// compared to factorization schemes (like LU) , one pays a price in    //
// accuracy  .                                                          //
//                                                                      //
// For Example:                                                         //
//  H * H^-1 = U, where H is a 5x5 Hilbert matrix                       //
//                      U is a 5x5 Unity matrix                         //
//                                                                      //
// LU    : |U_jk| < 10e-13 for  j!=k                                    //
// Cramer: |U_jk| < 10e-7  for  j!=k                                    //
//                                                                      //
//  however Cramer algorithm is about 10 (!) times faster               //
//////////////////////////////////////////////////////////////////////////

#include "TMatrixTCramerInv.h"

#if !defined(R__SOLARIS) && !defined(R__ACC) && !defined(R__FBSD)
NamespaceImp(TMatrixTCramerInv);
#endif

//______________________________________________________________________________
template<class Element>
Bool_t TMatrixTCramerInv::Inv2x2(TMatrixT<Element> &m,Double_t *determ)
{
if (m.GetNrows() != 2 || m.GetNcols() != 2 || m.GetRowLwb() != m.GetColLwb()) {
Error("Inv2x2","matrix should be square 2x2");
return kFALSE;
}

Element *pM = m.GetMatrixArray();

const Double_t det = pM[0] * pM[3] - pM[2] * pM[1];

if (determ)
*determ = det;

const Double_t s = 1./det;
if ( det == 0 ) {
Error("Inv2x2","matrix is singular");
return kFALSE;
}

const Double_t tmp = s*pM[3];
pM[1] *= -s;
pM[2] *= -s;
pM[3] = s*pM[0];
pM[0] = tmp;

return kTRUE;
}

//______________________________________________________________________________
template<class Element>
Bool_t TMatrixTCramerInv::Inv3x3(TMatrixT<Element> &m,Double_t *determ)
{
if (m.GetNrows() != 3 || m.GetNcols() != 3 || m.GetRowLwb() != m.GetColLwb()) {
Error("Inv3x3","matrix should be square 3x3");
return kFALSE;
}

Element *pM = m.GetMatrixArray();

const Double_t c00 = pM[4] * pM[8] - pM[5] * pM[7];
const Double_t c01 = pM[5] * pM[6] - pM[3] * pM[8];
const Double_t c02 = pM[3] * pM[7] - pM[4] * pM[6];
const Double_t c10 = pM[7] * pM[2] - pM[8] * pM[1];
const Double_t c11 = pM[8] * pM[0] - pM[6] * pM[2];
const Double_t c12 = pM[6] * pM[1] - pM[7] * pM[0];
const Double_t c20 = pM[1] * pM[5] - pM[2] * pM[4];
const Double_t c21 = pM[2] * pM[3] - pM[0] * pM[5];
const Double_t c22 = pM[0] * pM[4] - pM[1] * pM[3];

const Double_t t0 = TMath::Abs(pM[0]);
const Double_t t1 = TMath::Abs(pM[3]);
const Double_t t2 = TMath::Abs(pM[6]);
Double_t det;
Double_t tmp;
if (t0 >= t1) {
if (t2 >= t0) {
tmp = pM[6];
det = c12*c01-c11*c02;
} else {
tmp = pM[0];
det = c11*c22-c12*c21;
}
} else if (t2 >= t1) {
tmp = pM[6];
det = c12*c01-c11*c02;
} else {
tmp = pM[3];
det = c02*c21-c01*c22;
}

if ( det == 0 || tmp == 0) {
Error("Inv3x3","matrix is singular");
return kFALSE;
}

const Double_t s = tmp/det;
if (determ)
*determ = 1./s;

pM[0] = s*c00;
pM[1] = s*c10;
pM[2] = s*c20;
pM[3] = s*c01;
pM[4] = s*c11;
pM[5] = s*c21;
pM[6] = s*c02;
pM[7] = s*c12;
pM[8] = s*c22;

return kTRUE;
}

// GFij are indices for a 4x4 matrix.

#define GF00 0
#define GF01 1
#define GF02 2
#define GF03 3

#define GF10 4
#define GF11 5
#define GF12 6
#define GF13 7

#define GF20 8
#define GF21 9
#define GF22 10
#define GF23 11

#define GF30 12
#define GF31 13
#define GF32 14
#define GF33 15

//______________________________________________________________________________
template<class Element>
Bool_t TMatrixTCramerInv::Inv4x4(TMatrixT<Element> &m,Double_t *determ)
{
if (m.GetNrows() != 4 || m.GetNcols() != 4 || m.GetRowLwb() != m.GetColLwb()) {
Error("Inv4x4","matrix should be square 4x4");
return kFALSE;
}

Element *pM = m.GetMatrixArray();

// Find all NECESSARY 2x2 dets:  (18 of them)

const Double_t det2_12_01 = pM[GF10]*pM[GF21] - pM[GF11]*pM[GF20];
const Double_t det2_12_02 = pM[GF10]*pM[GF22] - pM[GF12]*pM[GF20];
const Double_t det2_12_03 = pM[GF10]*pM[GF23] - pM[GF13]*pM[GF20];
const Double_t det2_12_13 = pM[GF11]*pM[GF23] - pM[GF13]*pM[GF21];
const Double_t det2_12_23 = pM[GF12]*pM[GF23] - pM[GF13]*pM[GF22];
const Double_t det2_12_12 = pM[GF11]*pM[GF22] - pM[GF12]*pM[GF21];
const Double_t det2_13_01 = pM[GF10]*pM[GF31] - pM[GF11]*pM[GF30];
const Double_t det2_13_02 = pM[GF10]*pM[GF32] - pM[GF12]*pM[GF30];
const Double_t det2_13_03 = pM[GF10]*pM[GF33] - pM[GF13]*pM[GF30];
const Double_t det2_13_12 = pM[GF11]*pM[GF32] - pM[GF12]*pM[GF31];
const Double_t det2_13_13 = pM[GF11]*pM[GF33] - pM[GF13]*pM[GF31];
const Double_t det2_13_23 = pM[GF12]*pM[GF33] - pM[GF13]*pM[GF32];
const Double_t det2_23_01 = pM[GF20]*pM[GF31] - pM[GF21]*pM[GF30];
const Double_t det2_23_02 = pM[GF20]*pM[GF32] - pM[GF22]*pM[GF30];
const Double_t det2_23_03 = pM[GF20]*pM[GF33] - pM[GF23]*pM[GF30];
const Double_t det2_23_12 = pM[GF21]*pM[GF32] - pM[GF22]*pM[GF31];
const Double_t det2_23_13 = pM[GF21]*pM[GF33] - pM[GF23]*pM[GF31];
const Double_t det2_23_23 = pM[GF22]*pM[GF33] - pM[GF23]*pM[GF32];

// Find all NECESSARY 3x3 dets:   (16 of them)

const Double_t det3_012_012 = pM[GF00]*det2_12_12 - pM[GF01]*det2_12_02
+ pM[GF02]*det2_12_01;
const Double_t det3_012_013 = pM[GF00]*det2_12_13 - pM[GF01]*det2_12_03
+ pM[GF03]*det2_12_01;
const Double_t det3_012_023 = pM[GF00]*det2_12_23 - pM[GF02]*det2_12_03
+ pM[GF03]*det2_12_02;
const Double_t det3_012_123 = pM[GF01]*det2_12_23 - pM[GF02]*det2_12_13
+ pM[GF03]*det2_12_12;
const Double_t det3_013_012 = pM[GF00]*det2_13_12 - pM[GF01]*det2_13_02
+ pM[GF02]*det2_13_01;
const Double_t det3_013_013 = pM[GF00]*det2_13_13 - pM[GF01]*det2_13_03
+ pM[GF03]*det2_13_01;
const Double_t det3_013_023 = pM[GF00]*det2_13_23 - pM[GF02]*det2_13_03
+ pM[GF03]*det2_13_02;
const Double_t det3_013_123 = pM[GF01]*det2_13_23 - pM[GF02]*det2_13_13
+ pM[GF03]*det2_13_12;
const Double_t det3_023_012 = pM[GF00]*det2_23_12 - pM[GF01]*det2_23_02
+ pM[GF02]*det2_23_01;
const Double_t det3_023_013 = pM[GF00]*det2_23_13 - pM[GF01]*det2_23_03
+ pM[GF03]*det2_23_01;
const Double_t det3_023_023 = pM[GF00]*det2_23_23 - pM[GF02]*det2_23_03
+ pM[GF03]*det2_23_02;
const Double_t det3_023_123 = pM[GF01]*det2_23_23 - pM[GF02]*det2_23_13
+ pM[GF03]*det2_23_12;
const Double_t det3_123_012 = pM[GF10]*det2_23_12 - pM[GF11]*det2_23_02
+ pM[GF12]*det2_23_01;
const Double_t det3_123_013 = pM[GF10]*det2_23_13 - pM[GF11]*det2_23_03
+ pM[GF13]*det2_23_01;
const Double_t det3_123_023 = pM[GF10]*det2_23_23 - pM[GF12]*det2_23_03
+ pM[GF13]*det2_23_02;
const Double_t det3_123_123 = pM[GF11]*det2_23_23 - pM[GF12]*det2_23_13
+ pM[GF13]*det2_23_12;

// Find the 4x4 det:

const Double_t det = pM[GF00]*det3_123_123 - pM[GF01]*det3_123_023
+ pM[GF02]*det3_123_013 - pM[GF03]*det3_123_012;
if (determ)
*determ = det;

if ( det == 0 ) {
Error("Inv4x4","matrix is singular");
return kFALSE;
}

const Double_t oneOverDet = 1.0/det;
const Double_t mn1OverDet = - oneOverDet;

pM[GF00] =  det3_123_123 * oneOverDet;
pM[GF01] =  det3_023_123 * mn1OverDet;
pM[GF02] =  det3_013_123 * oneOverDet;
pM[GF03] =  det3_012_123 * mn1OverDet;

pM[GF10] =  det3_123_023 * mn1OverDet;
pM[GF11] =  det3_023_023 * oneOverDet;
pM[GF12] =  det3_013_023 * mn1OverDet;
pM[GF13] =  det3_012_023 * oneOverDet;

pM[GF20] =  det3_123_013 * oneOverDet;
pM[GF21] =  det3_023_013 * mn1OverDet;
pM[GF22] =  det3_013_013 * oneOverDet;
pM[GF23] =  det3_012_013 * mn1OverDet;

pM[GF30] =  det3_123_012 * mn1OverDet;
pM[GF31] =  det3_023_012 * oneOverDet;
pM[GF32] =  det3_013_012 * mn1OverDet;
pM[GF33] =  det3_012_012 * oneOverDet;

return kTRUE;
}

// GMij are indices for a 5x5 matrix.

#define GM00 0
#define GM01 1
#define GM02 2
#define GM03 3
#define GM04 4

#define GM10 5
#define GM11 6
#define GM12 7
#define GM13 8
#define GM14 9

#define GM20 10
#define GM21 11
#define GM22 12
#define GM23 13
#define GM24 14

#define GM30 15
#define GM31 16
#define GM32 17
#define GM33 18
#define GM34 19

#define GM40 20
#define GM41 21
#define GM42 22
#define GM43 23
#define GM44 24

//______________________________________________________________________________
template<class Element>
Bool_t TMatrixTCramerInv::Inv5x5(TMatrixT<Element> &m,Double_t *determ)
{
if (m.GetNrows() != 5 || m.GetNcols() != 5 || m.GetRowLwb() != m.GetColLwb()) {
Error("Inv5x5","matrix should be square 5x5");
return kFALSE;
}

Element *pM = m.GetMatrixArray();

// Find all NECESSARY 2x2 dets:  (30 of them)

const Double_t det2_23_01 = pM[GM20]*pM[GM31] - pM[GM21]*pM[GM30];
const Double_t det2_23_02 = pM[GM20]*pM[GM32] - pM[GM22]*pM[GM30];
const Double_t det2_23_03 = pM[GM20]*pM[GM33] - pM[GM23]*pM[GM30];
const Double_t det2_23_04 = pM[GM20]*pM[GM34] - pM[GM24]*pM[GM30];
const Double_t det2_23_12 = pM[GM21]*pM[GM32] - pM[GM22]*pM[GM31];
const Double_t det2_23_13 = pM[GM21]*pM[GM33] - pM[GM23]*pM[GM31];
const Double_t det2_23_14 = pM[GM21]*pM[GM34] - pM[GM24]*pM[GM31];
const Double_t det2_23_23 = pM[GM22]*pM[GM33] - pM[GM23]*pM[GM32];
const Double_t det2_23_24 = pM[GM22]*pM[GM34] - pM[GM24]*pM[GM32];
const Double_t det2_23_34 = pM[GM23]*pM[GM34] - pM[GM24]*pM[GM33];
const Double_t det2_24_01 = pM[GM20]*pM[GM41] - pM[GM21]*pM[GM40];
const Double_t det2_24_02 = pM[GM20]*pM[GM42] - pM[GM22]*pM[GM40];
const Double_t det2_24_03 = pM[GM20]*pM[GM43] - pM[GM23]*pM[GM40];
const Double_t det2_24_04 = pM[GM20]*pM[GM44] - pM[GM24]*pM[GM40];
const Double_t det2_24_12 = pM[GM21]*pM[GM42] - pM[GM22]*pM[GM41];
const Double_t det2_24_13 = pM[GM21]*pM[GM43] - pM[GM23]*pM[GM41];
const Double_t det2_24_14 = pM[GM21]*pM[GM44] - pM[GM24]*pM[GM41];
const Double_t det2_24_23 = pM[GM22]*pM[GM43] - pM[GM23]*pM[GM42];
const Double_t det2_24_24 = pM[GM22]*pM[GM44] - pM[GM24]*pM[GM42];
const Double_t det2_24_34 = pM[GM23]*pM[GM44] - pM[GM24]*pM[GM43];
const Double_t det2_34_01 = pM[GM30]*pM[GM41] - pM[GM31]*pM[GM40];
const Double_t det2_34_02 = pM[GM30]*pM[GM42] - pM[GM32]*pM[GM40];
const Double_t det2_34_03 = pM[GM30]*pM[GM43] - pM[GM33]*pM[GM40];
const Double_t det2_34_04 = pM[GM30]*pM[GM44] - pM[GM34]*pM[GM40];
const Double_t det2_34_12 = pM[GM31]*pM[GM42] - pM[GM32]*pM[GM41];
const Double_t det2_34_13 = pM[GM31]*pM[GM43] - pM[GM33]*pM[GM41];
const Double_t det2_34_14 = pM[GM31]*pM[GM44] - pM[GM34]*pM[GM41];
const Double_t det2_34_23 = pM[GM32]*pM[GM43] - pM[GM33]*pM[GM42];
const Double_t det2_34_24 = pM[GM32]*pM[GM44] - pM[GM34]*pM[GM42];
const Double_t det2_34_34 = pM[GM33]*pM[GM44] - pM[GM34]*pM[GM43];

// Find all NECESSARY 3x3 dets:   (40 of them)

const Double_t det3_123_012 = pM[GM10]*det2_23_12 - pM[GM11]*det2_23_02 + pM[GM12]*det2_23_01;
const Double_t det3_123_013 = pM[GM10]*det2_23_13 - pM[GM11]*det2_23_03 + pM[GM13]*det2_23_01;
const Double_t det3_123_014 = pM[GM10]*det2_23_14 - pM[GM11]*det2_23_04 + pM[GM14]*det2_23_01;
const Double_t det3_123_023 = pM[GM10]*det2_23_23 - pM[GM12]*det2_23_03 + pM[GM13]*det2_23_02;
const Double_t det3_123_024 = pM[GM10]*det2_23_24 - pM[GM12]*det2_23_04 + pM[GM14]*det2_23_02;
const Double_t det3_123_034 = pM[GM10]*det2_23_34 - pM[GM13]*det2_23_04 + pM[GM14]*det2_23_03;
const Double_t det3_123_123 = pM[GM11]*det2_23_23 - pM[GM12]*det2_23_13 + pM[GM13]*det2_23_12;
const Double_t det3_123_124 = pM[GM11]*det2_23_24 - pM[GM12]*det2_23_14 + pM[GM14]*det2_23_12;
const Double_t det3_123_134 = pM[GM11]*det2_23_34 - pM[GM13]*det2_23_14 + pM[GM14]*det2_23_13;
const Double_t det3_123_234 = pM[GM12]*det2_23_34 - pM[GM13]*det2_23_24 + pM[GM14]*det2_23_23;
const Double_t det3_124_012 = pM[GM10]*det2_24_12 - pM[GM11]*det2_24_02 + pM[GM12]*det2_24_01;
const Double_t det3_124_013 = pM[GM10]*det2_24_13 - pM[GM11]*det2_24_03 + pM[GM13]*det2_24_01;
const Double_t det3_124_014 = pM[GM10]*det2_24_14 - pM[GM11]*det2_24_04 + pM[GM14]*det2_24_01;
const Double_t det3_124_023 = pM[GM10]*det2_24_23 - pM[GM12]*det2_24_03 + pM[GM13]*det2_24_02;
const Double_t det3_124_024 = pM[GM10]*det2_24_24 - pM[GM12]*det2_24_04 + pM[GM14]*det2_24_02;
const Double_t det3_124_034 = pM[GM10]*det2_24_34 - pM[GM13]*det2_24_04 + pM[GM14]*det2_24_03;
const Double_t det3_124_123 = pM[GM11]*det2_24_23 - pM[GM12]*det2_24_13 + pM[GM13]*det2_24_12;
const Double_t det3_124_124 = pM[GM11]*det2_24_24 - pM[GM12]*det2_24_14 + pM[GM14]*det2_24_12;
const Double_t det3_124_134 = pM[GM11]*det2_24_34 - pM[GM13]*det2_24_14 + pM[GM14]*det2_24_13;
const Double_t det3_124_234 = pM[GM12]*det2_24_34 - pM[GM13]*det2_24_24 + pM[GM14]*det2_24_23;
const Double_t det3_134_012 = pM[GM10]*det2_34_12 - pM[GM11]*det2_34_02 + pM[GM12]*det2_34_01;
const Double_t det3_134_013 = pM[GM10]*det2_34_13 - pM[GM11]*det2_34_03 + pM[GM13]*det2_34_01;
const Double_t det3_134_014 = pM[GM10]*det2_34_14 - pM[GM11]*det2_34_04 + pM[GM14]*det2_34_01;
const Double_t det3_134_023 = pM[GM10]*det2_34_23 - pM[GM12]*det2_34_03 + pM[GM13]*det2_34_02;
const Double_t det3_134_024 = pM[GM10]*det2_34_24 - pM[GM12]*det2_34_04 + pM[GM14]*det2_34_02;
const Double_t det3_134_034 = pM[GM10]*det2_34_34 - pM[GM13]*det2_34_04 + pM[GM14]*det2_34_03;
const Double_t det3_134_123 = pM[GM11]*det2_34_23 - pM[GM12]*det2_34_13 + pM[GM13]*det2_34_12;
const Double_t det3_134_124 = pM[GM11]*det2_34_24 - pM[GM12]*det2_34_14 + pM[GM14]*det2_34_12;
const Double_t det3_134_134 = pM[GM11]*det2_34_34 - pM[GM13]*det2_34_14 + pM[GM14]*det2_34_13;
const Double_t det3_134_234 = pM[GM12]*det2_34_34 - pM[GM13]*det2_34_24 + pM[GM14]*det2_34_23;
const Double_t det3_234_012 = pM[GM20]*det2_34_12 - pM[GM21]*det2_34_02 + pM[GM22]*det2_34_01;
const Double_t det3_234_013 = pM[GM20]*det2_34_13 - pM[GM21]*det2_34_03 + pM[GM23]*det2_34_01;
const Double_t det3_234_014 = pM[GM20]*det2_34_14 - pM[GM21]*det2_34_04 + pM[GM24]*det2_34_01;
const Double_t det3_234_023 = pM[GM20]*det2_34_23 - pM[GM22]*det2_34_03 + pM[GM23]*det2_34_02;
const Double_t det3_234_024 = pM[GM20]*det2_34_24 - pM[GM22]*det2_34_04 + pM[GM24]*det2_34_02;
const Double_t det3_234_034 = pM[GM20]*det2_34_34 - pM[GM23]*det2_34_04 + pM[GM24]*det2_34_03;
const Double_t det3_234_123 = pM[GM21]*det2_34_23 - pM[GM22]*det2_34_13 + pM[GM23]*det2_34_12;
const Double_t det3_234_124 = pM[GM21]*det2_34_24 - pM[GM22]*det2_34_14 + pM[GM24]*det2_34_12;
const Double_t det3_234_134 = pM[GM21]*det2_34_34 - pM[GM23]*det2_34_14 + pM[GM24]*det2_34_13;
const Double_t det3_234_234 = pM[GM22]*det2_34_34 - pM[GM23]*det2_34_24 + pM[GM24]*det2_34_23;

// Find all NECESSARY 4x4 dets:   (25 of them)

const Double_t det4_0123_0123 = pM[GM00]*det3_123_123 - pM[GM01]*det3_123_023
+ pM[GM02]*det3_123_013 - pM[GM03]*det3_123_012;
const Double_t det4_0123_0124 = pM[GM00]*det3_123_124 - pM[GM01]*det3_123_024
+ pM[GM02]*det3_123_014 - pM[GM04]*det3_123_012;
const Double_t det4_0123_0134 = pM[GM00]*det3_123_134 - pM[GM01]*det3_123_034
+ pM[GM03]*det3_123_014 - pM[GM04]*det3_123_013;
const Double_t det4_0123_0234 = pM[GM00]*det3_123_234 - pM[GM02]*det3_123_034
+ pM[GM03]*det3_123_024 - pM[GM04]*det3_123_023;
const Double_t det4_0123_1234 = pM[GM01]*det3_123_234 - pM[GM02]*det3_123_134
+ pM[GM03]*det3_123_124 - pM[GM04]*det3_123_123;
const Double_t det4_0124_0123 = pM[GM00]*det3_124_123 - pM[GM01]*det3_124_023
+ pM[GM02]*det3_124_013 - pM[GM03]*det3_124_012;
const Double_t det4_0124_0124 = pM[GM00]*det3_124_124 - pM[GM01]*det3_124_024
+ pM[GM02]*det3_124_014 - pM[GM04]*det3_124_012;
const Double_t det4_0124_0134 = pM[GM00]*det3_124_134 - pM[GM01]*det3_124_034
+ pM[GM03]*det3_124_014 - pM[GM04]*det3_124_013;
const Double_t det4_0124_0234 = pM[GM00]*det3_124_234 - pM[GM02]*det3_124_034
+ pM[GM03]*det3_124_024 - pM[GM04]*det3_124_023;
const Double_t det4_0124_1234 = pM[GM01]*det3_124_234 - pM[GM02]*det3_124_134
+ pM[GM03]*det3_124_124 - pM[GM04]*det3_124_123;
const Double_t det4_0134_0123 = pM[GM00]*det3_134_123 - pM[GM01]*det3_134_023
+ pM[GM02]*det3_134_013 - pM[GM03]*det3_134_012;
const Double_t det4_0134_0124 = pM[GM00]*det3_134_124 - pM[GM01]*det3_134_024
+ pM[GM02]*det3_134_014 - pM[GM04]*det3_134_012;
const Double_t det4_0134_0134 = pM[GM00]*det3_134_134 - pM[GM01]*det3_134_034
+ pM[GM03]*det3_134_014 - pM[GM04]*det3_134_013;
const Double_t det4_0134_0234 = pM[GM00]*det3_134_234 - pM[GM02]*det3_134_034
+ pM[GM03]*det3_134_024 - pM[GM04]*det3_134_023;
const Double_t det4_0134_1234 = pM[GM01]*det3_134_234 - pM[GM02]*det3_134_134
+ pM[GM03]*det3_134_124 - pM[GM04]*det3_134_123;
const Double_t det4_0234_0123 = pM[GM00]*det3_234_123 - pM[GM01]*det3_234_023
+ pM[GM02]*det3_234_013 - pM[GM03]*det3_234_012;
const Double_t det4_0234_0124 = pM[GM00]*det3_234_124 - pM[GM01]*det3_234_024
+ pM[GM02]*det3_234_014 - pM[GM04]*det3_234_012;
const Double_t det4_0234_0134 = pM[GM00]*det3_234_134 - pM[GM01]*det3_234_034
+ pM[GM03]*det3_234_014 - pM[GM04]*det3_234_013;
const Double_t det4_0234_0234 = pM[GM00]*det3_234_234 - pM[GM02]*det3_234_034
+ pM[GM03]*det3_234_024 - pM[GM04]*det3_234_023;
const Double_t det4_0234_1234 = pM[GM01]*det3_234_234 - pM[GM02]*det3_234_134
+ pM[GM03]*det3_234_124 - pM[GM04]*det3_234_123;
const Double_t det4_1234_0123 = pM[GM10]*det3_234_123 - pM[GM11]*det3_234_023
+ pM[GM12]*det3_234_013 - pM[GM13]*det3_234_012;
const Double_t det4_1234_0124 = pM[GM10]*det3_234_124 - pM[GM11]*det3_234_024
+ pM[GM12]*det3_234_014 - pM[GM14]*det3_234_012;
const Double_t det4_1234_0134 = pM[GM10]*det3_234_134 - pM[GM11]*det3_234_034
+ pM[GM13]*det3_234_014 - pM[GM14]*det3_234_013;
const Double_t det4_1234_0234 = pM[GM10]*det3_234_234 - pM[GM12]*det3_234_034
+ pM[GM13]*det3_234_024 - pM[GM14]*det3_234_023;
const Double_t det4_1234_1234 = pM[GM11]*det3_234_234 - pM[GM12]*det3_234_134
+ pM[GM13]*det3_234_124 - pM[GM14]*det3_234_123;

// Find the 5x5 det:

const Double_t det = pM[GM00]*det4_1234_1234 - pM[GM01]*det4_1234_0234 + pM[GM02]*det4_1234_0134
- pM[GM03]*det4_1234_0124 + pM[GM04]*det4_1234_0123;
if (determ)
*determ = det;

if ( det == 0 ) {
Error("Inv5x5","matrix is singular");
return kFALSE;
}

const Double_t oneOverDet = 1.0/det;
const Double_t mn1OverDet = - oneOverDet;

pM[GM00] =  det4_1234_1234 * oneOverDet;
pM[GM01] =  det4_0234_1234 * mn1OverDet;
pM[GM02] =  det4_0134_1234 * oneOverDet;
pM[GM03] =  det4_0124_1234 * mn1OverDet;
pM[GM04] =  det4_0123_1234 * oneOverDet;

pM[GM10] =  det4_1234_0234 * mn1OverDet;
pM[GM11] =  det4_0234_0234 * oneOverDet;
pM[GM12] =  det4_0134_0234 * mn1OverDet;
pM[GM13] =  det4_0124_0234 * oneOverDet;
pM[GM14] =  det4_0123_0234 * mn1OverDet;

pM[GM20] =  det4_1234_0134 * oneOverDet;
pM[GM21] =  det4_0234_0134 * mn1OverDet;
pM[GM22] =  det4_0134_0134 * oneOverDet;
pM[GM23] =  det4_0124_0134 * mn1OverDet;
pM[GM24] =  det4_0123_0134 * oneOverDet;

pM[GM30] =  det4_1234_0124 * mn1OverDet;
pM[GM31] =  det4_0234_0124 * oneOverDet;
pM[GM32] =  det4_0134_0124 * mn1OverDet;
pM[GM33] =  det4_0124_0124 * oneOverDet;
pM[GM34] =  det4_0123_0124 * mn1OverDet;

pM[GM40] =  det4_1234_0123 * oneOverDet;
pM[GM41] =  det4_0234_0123 * mn1OverDet;
pM[GM42] =  det4_0134_0123 * oneOverDet;
pM[GM43] =  det4_0124_0123 * mn1OverDet;
pM[GM44] =  det4_0123_0123 * oneOverDet;

return kTRUE;
}

// Aij are indices for a 6x6 matrix.

#define GA00 0
#define GA01 1
#define GA02 2
#define GA03 3
#define GA04 4
#define GA05 5

#define GA10 6
#define GA11 7
#define GA12 8
#define GA13 9
#define GA14 10
#define GA15 11

#define GA20 12
#define GA21 13
#define GA22 14
#define GA23 15
#define GA24 16
#define GA25 17

#define GA30 18
#define GA31 19
#define GA32 20
#define GA33 21
#define GA34 22
#define GA35 23

#define GA40 24
#define GA41 25
#define GA42 26
#define GA43 27
#define GA44 28
#define GA45 29

#define GA50 30
#define GA51 31
#define GA52 32
#define GA53 33
#define GA54 34
#define GA55 35

//______________________________________________________________________________
template<class Element>
Bool_t TMatrixTCramerInv::Inv6x6(TMatrixT<Element> &m,Double_t *determ)
{
if (m.GetNrows() != 6 || m.GetNcols() != 6 || m.GetRowLwb() != m.GetColLwb()) {
Error("Inv6x6","matrix should be square 6x6");
return kFALSE;
}

Element *pM = m.GetMatrixArray();

// Find all NECESSGARY 2x2 dets:  (45 of them)

const Double_t det2_34_01 = pM[GA30]*pM[GA41] - pM[GA31]*pM[GA40];
const Double_t det2_34_02 = pM[GA30]*pM[GA42] - pM[GA32]*pM[GA40];
const Double_t det2_34_03 = pM[GA30]*pM[GA43] - pM[GA33]*pM[GA40];
const Double_t det2_34_04 = pM[GA30]*pM[GA44] - pM[GA34]*pM[GA40];
const Double_t det2_34_05 = pM[GA30]*pM[GA45] - pM[GA35]*pM[GA40];
const Double_t det2_34_12 = pM[GA31]*pM[GA42] - pM[GA32]*pM[GA41];
const Double_t det2_34_13 = pM[GA31]*pM[GA43] - pM[GA33]*pM[GA41];
const Double_t det2_34_14 = pM[GA31]*pM[GA44] - pM[GA34]*pM[GA41];
const Double_t det2_34_15 = pM[GA31]*pM[GA45] - pM[GA35]*pM[GA41];
const Double_t det2_34_23 = pM[GA32]*pM[GA43] - pM[GA33]*pM[GA42];
const Double_t det2_34_24 = pM[GA32]*pM[GA44] - pM[GA34]*pM[GA42];
const Double_t det2_34_25 = pM[GA32]*pM[GA45] - pM[GA35]*pM[GA42];
const Double_t det2_34_34 = pM[GA33]*pM[GA44] - pM[GA34]*pM[GA43];
const Double_t det2_34_35 = pM[GA33]*pM[GA45] - pM[GA35]*pM[GA43];
const Double_t det2_34_45 = pM[GA34]*pM[GA45] - pM[GA35]*pM[GA44];
const Double_t det2_35_01 = pM[GA30]*pM[GA51] - pM[GA31]*pM[GA50];
const Double_t det2_35_02 = pM[GA30]*pM[GA52] - pM[GA32]*pM[GA50];
const Double_t det2_35_03 = pM[GA30]*pM[GA53] - pM[GA33]*pM[GA50];
const Double_t det2_35_04 = pM[GA30]*pM[GA54] - pM[GA34]*pM[GA50];
const Double_t det2_35_05 = pM[GA30]*pM[GA55] - pM[GA35]*pM[GA50];
const Double_t det2_35_12 = pM[GA31]*pM[GA52] - pM[GA32]*pM[GA51];
const Double_t det2_35_13 = pM[GA31]*pM[GA53] - pM[GA33]*pM[GA51];
const Double_t det2_35_14 = pM[GA31]*pM[GA54] - pM[GA34]*pM[GA51];
const Double_t det2_35_15 = pM[GA31]*pM[GA55] - pM[GA35]*pM[GA51];
const Double_t det2_35_23 = pM[GA32]*pM[GA53] - pM[GA33]*pM[GA52];
const Double_t det2_35_24 = pM[GA32]*pM[GA54] - pM[GA34]*pM[GA52];
const Double_t det2_35_25 = pM[GA32]*pM[GA55] - pM[GA35]*pM[GA52];
const Double_t det2_35_34 = pM[GA33]*pM[GA54] - pM[GA34]*pM[GA53];
const Double_t det2_35_35 = pM[GA33]*pM[GA55] - pM[GA35]*pM[GA53];
const Double_t det2_35_45 = pM[GA34]*pM[GA55] - pM[GA35]*pM[GA54];
const Double_t det2_45_01 = pM[GA40]*pM[GA51] - pM[GA41]*pM[GA50];
const Double_t det2_45_02 = pM[GA40]*pM[GA52] - pM[GA42]*pM[GA50];
const Double_t det2_45_03 = pM[GA40]*pM[GA53] - pM[GA43]*pM[GA50];
const Double_t det2_45_04 = pM[GA40]*pM[GA54] - pM[GA44]*pM[GA50];
const Double_t det2_45_05 = pM[GA40]*pM[GA55] - pM[GA45]*pM[GA50];
const Double_t det2_45_12 = pM[GA41]*pM[GA52] - pM[GA42]*pM[GA51];
const Double_t det2_45_13 = pM[GA41]*pM[GA53] - pM[GA43]*pM[GA51];
const Double_t det2_45_14 = pM[GA41]*pM[GA54] - pM[GA44]*pM[GA51];
const Double_t det2_45_15 = pM[GA41]*pM[GA55] - pM[GA45]*pM[GA51];
const Double_t det2_45_23 = pM[GA42]*pM[GA53] - pM[GA43]*pM[GA52];
const Double_t det2_45_24 = pM[GA42]*pM[GA54] - pM[GA44]*pM[GA52];
const Double_t det2_45_25 = pM[GA42]*pM[GA55] - pM[GA45]*pM[GA52];
const Double_t det2_45_34 = pM[GA43]*pM[GA54] - pM[GA44]*pM[GA53];
const Double_t det2_45_35 = pM[GA43]*pM[GA55] - pM[GA45]*pM[GA53];
const Double_t det2_45_45 = pM[GA44]*pM[GA55] - pM[GA45]*pM[GA54];

// Find all NECESSGARY 3x3 dets:  (80 of them)

const Double_t det3_234_012 = pM[GA20]*det2_34_12 - pM[GA21]*det2_34_02 + pM[GA22]*det2_34_01;
const Double_t det3_234_013 = pM[GA20]*det2_34_13 - pM[GA21]*det2_34_03 + pM[GA23]*det2_34_01;
const Double_t det3_234_014 = pM[GA20]*det2_34_14 - pM[GA21]*det2_34_04 + pM[GA24]*det2_34_01;
const Double_t det3_234_015 = pM[GA20]*det2_34_15 - pM[GA21]*det2_34_05 + pM[GA25]*det2_34_01;
const Double_t det3_234_023 = pM[GA20]*det2_34_23 - pM[GA22]*det2_34_03 + pM[GA23]*det2_34_02;
const Double_t det3_234_024 = pM[GA20]*det2_34_24 - pM[GA22]*det2_34_04 + pM[GA24]*det2_34_02;
const Double_t det3_234_025 = pM[GA20]*det2_34_25 - pM[GA22]*det2_34_05 + pM[GA25]*det2_34_02;
const Double_t det3_234_034 = pM[GA20]*det2_34_34 - pM[GA23]*det2_34_04 + pM[GA24]*det2_34_03;
const Double_t det3_234_035 = pM[GA20]*det2_34_35 - pM[GA23]*det2_34_05 + pM[GA25]*det2_34_03;
const Double_t det3_234_045 = pM[GA20]*det2_34_45 - pM[GA24]*det2_34_05 + pM[GA25]*det2_34_04;
const Double_t det3_234_123 = pM[GA21]*det2_34_23 - pM[GA22]*det2_34_13 + pM[GA23]*det2_34_12;
const Double_t det3_234_124 = pM[GA21]*det2_34_24 - pM[GA22]*det2_34_14 + pM[GA24]*det2_34_12;
const Double_t det3_234_125 = pM[GA21]*det2_34_25 - pM[GA22]*det2_34_15 + pM[GA25]*det2_34_12;
const Double_t det3_234_134 = pM[GA21]*det2_34_34 - pM[GA23]*det2_34_14 + pM[GA24]*det2_34_13;
const Double_t det3_234_135 = pM[GA21]*det2_34_35 - pM[GA23]*det2_34_15 + pM[GA25]*det2_34_13;
const Double_t det3_234_145 = pM[GA21]*det2_34_45 - pM[GA24]*det2_34_15 + pM[GA25]*det2_34_14;
const Double_t det3_234_234 = pM[GA22]*det2_34_34 - pM[GA23]*det2_34_24 + pM[GA24]*det2_34_23;
const Double_t det3_234_235 = pM[GA22]*det2_34_35 - pM[GA23]*det2_34_25 + pM[GA25]*det2_34_23;
const Double_t det3_234_245 = pM[GA22]*det2_34_45 - pM[GA24]*det2_34_25 + pM[GA25]*det2_34_24;
const Double_t det3_234_345 = pM[GA23]*det2_34_45 - pM[GA24]*det2_34_35 + pM[GA25]*det2_34_34;
const Double_t det3_235_012 = pM[GA20]*det2_35_12 - pM[GA21]*det2_35_02 + pM[GA22]*det2_35_01;
const Double_t det3_235_013 = pM[GA20]*det2_35_13 - pM[GA21]*det2_35_03 + pM[GA23]*det2_35_01;
const Double_t det3_235_014 = pM[GA20]*det2_35_14 - pM[GA21]*det2_35_04 + pM[GA24]*det2_35_01;
const Double_t det3_235_015 = pM[GA20]*det2_35_15 - pM[GA21]*det2_35_05 + pM[GA25]*det2_35_01;
const Double_t det3_235_023 = pM[GA20]*det2_35_23 - pM[GA22]*det2_35_03 + pM[GA23]*det2_35_02;
const Double_t det3_235_024 = pM[GA20]*det2_35_24 - pM[GA22]*det2_35_04 + pM[GA24]*det2_35_02;
const Double_t det3_235_025 = pM[GA20]*det2_35_25 - pM[GA22]*det2_35_05 + pM[GA25]*det2_35_02;
const Double_t det3_235_034 = pM[GA20]*det2_35_34 - pM[GA23]*det2_35_04 + pM[GA24]*det2_35_03;
const Double_t det3_235_035 = pM[GA20]*det2_35_35 - pM[GA23]*det2_35_05 + pM[GA25]*det2_35_03;
const Double_t det3_235_045 = pM[GA20]*det2_35_45 - pM[GA24]*det2_35_05 + pM[GA25]*det2_35_04;
const Double_t det3_235_123 = pM[GA21]*det2_35_23 - pM[GA22]*det2_35_13 + pM[GA23]*det2_35_12;
const Double_t det3_235_124 = pM[GA21]*det2_35_24 - pM[GA22]*det2_35_14 + pM[GA24]*det2_35_12;
const Double_t det3_235_125 = pM[GA21]*det2_35_25 - pM[GA22]*det2_35_15 + pM[GA25]*det2_35_12;
const Double_t det3_235_134 = pM[GA21]*det2_35_34 - pM[GA23]*det2_35_14 + pM[GA24]*det2_35_13;
const Double_t det3_235_135 = pM[GA21]*det2_35_35 - pM[GA23]*det2_35_15 + pM[GA25]*det2_35_13;
const Double_t det3_235_145 = pM[GA21]*det2_35_45 - pM[GA24]*det2_35_15 + pM[GA25]*det2_35_14;
const Double_t det3_235_234 = pM[GA22]*det2_35_34 - pM[GA23]*det2_35_24 + pM[GA24]*det2_35_23;
const Double_t det3_235_235 = pM[GA22]*det2_35_35 - pM[GA23]*det2_35_25 + pM[GA25]*det2_35_23;
const Double_t det3_235_245 = pM[GA22]*det2_35_45 - pM[GA24]*det2_35_25 + pM[GA25]*det2_35_24;
const Double_t det3_235_345 = pM[GA23]*det2_35_45 - pM[GA24]*det2_35_35 + pM[GA25]*det2_35_34;
const Double_t det3_245_012 = pM[GA20]*det2_45_12 - pM[GA21]*det2_45_02 + pM[GA22]*det2_45_01;
const Double_t det3_245_013 = pM[GA20]*det2_45_13 - pM[GA21]*det2_45_03 + pM[GA23]*det2_45_01;
const Double_t det3_245_014 = pM[GA20]*det2_45_14 - pM[GA21]*det2_45_04 + pM[GA24]*det2_45_01;
const Double_t det3_245_015 = pM[GA20]*det2_45_15 - pM[GA21]*det2_45_05 + pM[GA25]*det2_45_01;
const Double_t det3_245_023 = pM[GA20]*det2_45_23 - pM[GA22]*det2_45_03 + pM[GA23]*det2_45_02;
const Double_t det3_245_024 = pM[GA20]*det2_45_24 - pM[GA22]*det2_45_04 + pM[GA24]*det2_45_02;
const Double_t det3_245_025 = pM[GA20]*det2_45_25 - pM[GA22]*det2_45_05 + pM[GA25]*det2_45_02;
const Double_t det3_245_034 = pM[GA20]*det2_45_34 - pM[GA23]*det2_45_04 + pM[GA24]*det2_45_03;
const Double_t det3_245_035 = pM[GA20]*det2_45_35 - pM[GA23]*det2_45_05 + pM[GA25]*det2_45_03;
const Double_t det3_245_045 = pM[GA20]*det2_45_45 - pM[GA24]*det2_45_05 + pM[GA25]*det2_45_04;
const Double_t det3_245_123 = pM[GA21]*det2_45_23 - pM[GA22]*det2_45_13 + pM[GA23]*det2_45_12;
const Double_t det3_245_124 = pM[GA21]*det2_45_24 - pM[GA22]*det2_45_14 + pM[GA24]*det2_45_12;
const Double_t det3_245_125 = pM[GA21]*det2_45_25 - pM[GA22]*det2_45_15 + pM[GA25]*det2_45_12;
const Double_t det3_245_134 = pM[GA21]*det2_45_34 - pM[GA23]*det2_45_14 + pM[GA24]*det2_45_13;
const Double_t det3_245_135 = pM[GA21]*det2_45_35 - pM[GA23]*det2_45_15 + pM[GA25]*det2_45_13;
const Double_t det3_245_145 = pM[GA21]*det2_45_45 - pM[GA24]*det2_45_15 + pM[GA25]*det2_45_14;
const Double_t det3_245_234 = pM[GA22]*det2_45_34 - pM[GA23]*det2_45_24 + pM[GA24]*det2_45_23;
const Double_t det3_245_235 = pM[GA22]*det2_45_35 - pM[GA23]*det2_45_25 + pM[GA25]*det2_45_23;
const Double_t det3_245_245 = pM[GA22]*det2_45_45 - pM[GA24]*det2_45_25 + pM[GA25]*det2_45_24;
const Double_t det3_245_345 = pM[GA23]*det2_45_45 - pM[GA24]*det2_45_35 + pM[GA25]*det2_45_34;
const Double_t det3_345_012 = pM[GA30]*det2_45_12 - pM[GA31]*det2_45_02 + pM[GA32]*det2_45_01;
const Double_t det3_345_013 = pM[GA30]*det2_45_13 - pM[GA31]*det2_45_03 + pM[GA33]*det2_45_01;
const Double_t det3_345_014 = pM[GA30]*det2_45_14 - pM[GA31]*det2_45_04 + pM[GA34]*det2_45_01;
const Double_t det3_345_015 = pM[GA30]*det2_45_15 - pM[GA31]*det2_45_05 + pM[GA35]*det2_45_01;
const Double_t det3_345_023 = pM[GA30]*det2_45_23 - pM[GA32]*det2_45_03 + pM[GA33]*det2_45_02;
const Double_t det3_345_024 = pM[GA30]*det2_45_24 - pM[GA32]*det2_45_04 + pM[GA34]*det2_45_02;
const Double_t det3_345_025 = pM[GA30]*det2_45_25 - pM[GA32]*det2_45_05 + pM[GA35]*det2_45_02;
const Double_t det3_345_034 = pM[GA30]*det2_45_34 - pM[GA33]*det2_45_04 + pM[GA34]*det2_45_03;
const Double_t det3_345_035 = pM[GA30]*det2_45_35 - pM[GA33]*det2_45_05 + pM[GA35]*det2_45_03;
const Double_t det3_345_045 = pM[GA30]*det2_45_45 - pM[GA34]*det2_45_05 + pM[GA35]*det2_45_04;
const Double_t det3_345_123 = pM[GA31]*det2_45_23 - pM[GA32]*det2_45_13 + pM[GA33]*det2_45_12;
const Double_t det3_345_124 = pM[GA31]*det2_45_24 - pM[GA32]*det2_45_14 + pM[GA34]*det2_45_12;
const Double_t det3_345_125 = pM[GA31]*det2_45_25 - pM[GA32]*det2_45_15 + pM[GA35]*det2_45_12;
const Double_t det3_345_134 = pM[GA31]*det2_45_34 - pM[GA33]*det2_45_14 + pM[GA34]*det2_45_13;
const Double_t det3_345_135 = pM[GA31]*det2_45_35 - pM[GA33]*det2_45_15 + pM[GA35]*det2_45_13;
const Double_t det3_345_145 = pM[GA31]*det2_45_45 - pM[GA34]*det2_45_15 + pM[GA35]*det2_45_14;
const Double_t det3_345_234 = pM[GA32]*det2_45_34 - pM[GA33]*det2_45_24 + pM[GA34]*det2_45_23;
const Double_t det3_345_235 = pM[GA32]*det2_45_35 - pM[GA33]*det2_45_25 + pM[GA35]*det2_45_23;
const Double_t det3_345_245 = pM[GA32]*det2_45_45 - pM[GA34]*det2_45_25 + pM[GA35]*det2_45_24;
const Double_t det3_345_345 = pM[GA33]*det2_45_45 - pM[GA34]*det2_45_35 + pM[GA35]*det2_45_34;

// Find all NECESSGARY 4x4 dets:  (75 of them)

const Double_t det4_1234_0123 = pM[GA10]*det3_234_123 - pM[GA11]*det3_234_023
+ pM[GA12]*det3_234_013 - pM[GA13]*det3_234_012;
const Double_t det4_1234_0124 = pM[GA10]*det3_234_124 - pM[GA11]*det3_234_024
+ pM[GA12]*det3_234_014 - pM[GA14]*det3_234_012;
const Double_t det4_1234_0125 = pM[GA10]*det3_234_125 - pM[GA11]*det3_234_025
+ pM[GA12]*det3_234_015 - pM[GA15]*det3_234_012;
const Double_t det4_1234_0134 = pM[GA10]*det3_234_134 - pM[GA11]*det3_234_034
+ pM[GA13]*det3_234_014 - pM[GA14]*det3_234_013;
const Double_t det4_1234_0135 = pM[GA10]*det3_234_135 - pM[GA11]*det3_234_035
+ pM[GA13]*det3_234_015 - pM[GA15]*det3_234_013;
const Double_t det4_1234_0145 = pM[GA10]*det3_234_145 - pM[GA11]*det3_234_045
+ pM[GA14]*det3_234_015 - pM[GA15]*det3_234_014;
const Double_t det4_1234_0234 = pM[GA10]*det3_234_234 - pM[GA12]*det3_234_034
+ pM[GA13]*det3_234_024 - pM[GA14]*det3_234_023;
const Double_t det4_1234_0235 = pM[GA10]*det3_234_235 - pM[GA12]*det3_234_035
+ pM[GA13]*det3_234_025 - pM[GA15]*det3_234_023;
const Double_t det4_1234_0245 = pM[GA10]*det3_234_245 - pM[GA12]*det3_234_045
+ pM[GA14]*det3_234_025 - pM[GA15]*det3_234_024;
const Double_t det4_1234_0345 = pM[GA10]*det3_234_345 - pM[GA13]*det3_234_045
+ pM[GA14]*det3_234_035 - pM[GA15]*det3_234_034;
const Double_t det4_1234_1234 = pM[GA11]*det3_234_234 - pM[GA12]*det3_234_134
+ pM[GA13]*det3_234_124 - pM[GA14]*det3_234_123;
const Double_t det4_1234_1235 = pM[GA11]*det3_234_235 - pM[GA12]*det3_234_135
+ pM[GA13]*det3_234_125 - pM[GA15]*det3_234_123;
const Double_t det4_1234_1245 = pM[GA11]*det3_234_245 - pM[GA12]*det3_234_145
+ pM[GA14]*det3_234_125 - pM[GA15]*det3_234_124;
const Double_t det4_1234_1345 = pM[GA11]*det3_234_345 - pM[GA13]*det3_234_145
+ pM[GA14]*det3_234_135 - pM[GA15]*det3_234_134;
const Double_t det4_1234_2345 = pM[GA12]*det3_234_345 - pM[GA13]*det3_234_245
+ pM[GA14]*det3_234_235 - pM[GA15]*det3_234_234;
const Double_t det4_1235_0123 = pM[GA10]*det3_235_123 - pM[GA11]*det3_235_023
+ pM[GA12]*det3_235_013 - pM[GA13]*det3_235_012;
const Double_t det4_1235_0124 = pM[GA10]*det3_235_124 - pM[GA11]*det3_235_024
+ pM[GA12]*det3_235_014 - pM[GA14]*det3_235_012;
const Double_t det4_1235_0125 = pM[GA10]*det3_235_125 - pM[GA11]*det3_235_025
+ pM[GA12]*det3_235_015 - pM[GA15]*det3_235_012;
const Double_t det4_1235_0134 = pM[GA10]*det3_235_134 - pM[GA11]*det3_235_034
+ pM[GA13]*det3_235_014 - pM[GA14]*det3_235_013;
const Double_t det4_1235_0135 = pM[GA10]*det3_235_135 - pM[GA11]*det3_235_035
+ pM[GA13]*det3_235_015 - pM[GA15]*det3_235_013;
const Double_t det4_1235_0145 = pM[GA10]*det3_235_145 - pM[GA11]*det3_235_045
+ pM[GA14]*det3_235_015 - pM[GA15]*det3_235_014;
const Double_t det4_1235_0234 = pM[GA10]*det3_235_234 - pM[GA12]*det3_235_034
+ pM[GA13]*det3_235_024 - pM[GA14]*det3_235_023;
const Double_t det4_1235_0235 = pM[GA10]*det3_235_235 - pM[GA12]*det3_235_035
+ pM[GA13]*det3_235_025 - pM[GA15]*det3_235_023;
const Double_t det4_1235_0245 = pM[GA10]*det3_235_245 - pM[GA12]*det3_235_045
+ pM[GA14]*det3_235_025 - pM[GA15]*det3_235_024;
const Double_t det4_1235_0345 = pM[GA10]*det3_235_345 - pM[GA13]*det3_235_045
+ pM[GA14]*det3_235_035 - pM[GA15]*det3_235_034;
const Double_t det4_1235_1234 = pM[GA11]*det3_235_234 - pM[GA12]*det3_235_134
+ pM[GA13]*det3_235_124 - pM[GA14]*det3_235_123;
const Double_t det4_1235_1235 = pM[GA11]*det3_235_235 - pM[GA12]*det3_235_135
+ pM[GA13]*det3_235_125 - pM[GA15]*det3_235_123;
const Double_t det4_1235_1245 = pM[GA11]*det3_235_245 - pM[GA12]*det3_235_145
+ pM[GA14]*det3_235_125 - pM[GA15]*det3_235_124;
const Double_t det4_1235_1345 = pM[GA11]*det3_235_345 - pM[GA13]*det3_235_145
+ pM[GA14]*det3_235_135 - pM[GA15]*det3_235_134;
const Double_t det4_1235_2345 = pM[GA12]*det3_235_345 - pM[GA13]*det3_235_245
+ pM[GA14]*det3_235_235 - pM[GA15]*det3_235_234;
const Double_t det4_1245_0123 = pM[GA10]*det3_245_123 - pM[GA11]*det3_245_023
+ pM[GA12]*det3_245_013 - pM[GA13]*det3_245_012;
const Double_t det4_1245_0124 = pM[GA10]*det3_245_124 - pM[GA11]*det3_245_024
+ pM[GA12]*det3_245_014 - pM[GA14]*det3_245_012;
const Double_t det4_1245_0125 = pM[GA10]*det3_245_125 - pM[GA11]*det3_245_025
+ pM[GA12]*det3_245_015 - pM[GA15]*det3_245_012;
const Double_t det4_1245_0134 = pM[GA10]*det3_245_134 - pM[GA11]*det3_245_034
+ pM[GA13]*det3_245_014 - pM[GA14]*det3_245_013;
const Double_t det4_1245_0135 = pM[GA10]*det3_245_135 - pM[GA11]*det3_245_035
+ pM[GA13]*det3_245_015 - pM[GA15]*det3_245_013;
const Double_t det4_1245_0145 = pM[GA10]*det3_245_145 - pM[GA11]*det3_245_045
+ pM[GA14]*det3_245_015 - pM[GA15]*det3_245_014;
const Double_t det4_1245_0234 = pM[GA10]*det3_245_234 - pM[GA12]*det3_245_034
+ pM[GA13]*det3_245_024 - pM[GA14]*det3_245_023;
const Double_t det4_1245_0235 = pM[GA10]*det3_245_235 - pM[GA12]*det3_245_035
+ pM[GA13]*det3_245_025 - pM[GA15]*det3_245_023;
const Double_t det4_1245_0245 = pM[GA10]*det3_245_245 - pM[GA12]*det3_245_045
+ pM[GA14]*det3_245_025 - pM[GA15]*det3_245_024;
const Double_t det4_1245_0345 = pM[GA10]*det3_245_345 - pM[GA13]*det3_245_045
+ pM[GA14]*det3_245_035 - pM[GA15]*det3_245_034;
const Double_t det4_1245_1234 = pM[GA11]*det3_245_234 - pM[GA12]*det3_245_134
+ pM[GA13]*det3_245_124 - pM[GA14]*det3_245_123;
const Double_t det4_1245_1235 = pM[GA11]*det3_245_235 - pM[GA12]*det3_245_135
+ pM[GA13]*det3_245_125 - pM[GA15]*det3_245_123;
const Double_t det4_1245_1245 = pM[GA11]*det3_245_245 - pM[GA12]*det3_245_145
+ pM[GA14]*det3_245_125 - pM[GA15]*det3_245_124;
const Double_t det4_1245_1345 = pM[GA11]*det3_245_345 - pM[GA13]*det3_245_145
+ pM[GA14]*det3_245_135 - pM[GA15]*det3_245_134;
const Double_t det4_1245_2345 = pM[GA12]*det3_245_345 - pM[GA13]*det3_245_245
+ pM[GA14]*det3_245_235 - pM[GA15]*det3_245_234;
const Double_t det4_1345_0123 = pM[GA10]*det3_345_123 - pM[GA11]*det3_345_023
+ pM[GA12]*det3_345_013 - pM[GA13]*det3_345_012;
const Double_t det4_1345_0124 = pM[GA10]*det3_345_124 - pM[GA11]*det3_345_024
+ pM[GA12]*det3_345_014 - pM[GA14]*det3_345_012;
const Double_t det4_1345_0125 = pM[GA10]*det3_345_125 - pM[GA11]*det3_345_025
+ pM[GA12]*det3_345_015 - pM[GA15]*det3_345_012;
const Double_t det4_1345_0134 = pM[GA10]*det3_345_134 - pM[GA11]*det3_345_034
+ pM[GA13]*det3_345_014 - pM[GA14]*det3_345_013;
const Double_t det4_1345_0135 = pM[GA10]*det3_345_135 - pM[GA11]*det3_345_035
+ pM[GA13]*det3_345_015 - pM[GA15]*det3_345_013;
const Double_t det4_1345_0145 = pM[GA10]*det3_345_145 - pM[GA11]*det3_345_045
+ pM[GA14]*det3_345_015 - pM[GA15]*det3_345_014;
const Double_t det4_1345_0234 = pM[GA10]*det3_345_234 - pM[GA12]*det3_345_034
+ pM[GA13]*det3_345_024 - pM[GA14]*det3_345_023;
const Double_t det4_1345_0235 = pM[GA10]*det3_345_235 - pM[GA12]*det3_345_035
+ pM[GA13]*det3_345_025 - pM[GA15]*det3_345_023;
const Double_t det4_1345_0245 = pM[GA10]*det3_345_245 - pM[GA12]*det3_345_045
+ pM[GA14]*det3_345_025 - pM[GA15]*det3_345_024;
const Double_t det4_1345_0345 = pM[GA10]*det3_345_345 - pM[GA13]*det3_345_045
+ pM[GA14]*det3_345_035 - pM[GA15]*det3_345_034;
const Double_t det4_1345_1234 = pM[GA11]*det3_345_234 - pM[GA12]*det3_345_134
+ pM[GA13]*det3_345_124 - pM[GA14]*det3_345_123;
const Double_t det4_1345_1235 = pM[GA11]*det3_345_235 - pM[GA12]*det3_345_135
+ pM[GA13]*det3_345_125 - pM[GA15]*det3_345_123;
const Double_t det4_1345_1245 = pM[GA11]*det3_345_245 - pM[GA12]*det3_345_145
+ pM[GA14]*det3_345_125 - pM[GA15]*det3_345_124;
const Double_t det4_1345_1345 = pM[GA11]*det3_345_345 - pM[GA13]*det3_345_145
+ pM[GA14]*det3_345_135 - pM[GA15]*det3_345_134;
const Double_t det4_1345_2345 = pM[GA12]*det3_345_345 - pM[GA13]*det3_345_245
+ pM[GA14]*det3_345_235 - pM[GA15]*det3_345_234;
const Double_t det4_2345_0123 = pM[GA20]*det3_345_123 - pM[GA21]*det3_345_023
+ pM[GA22]*det3_345_013 - pM[GA23]*det3_345_012;
const Double_t det4_2345_0124 = pM[GA20]*det3_345_124 - pM[GA21]*det3_345_024
+ pM[GA22]*det3_345_014 - pM[GA24]*det3_345_012;
const Double_t det4_2345_0125 = pM[GA20]*det3_345_125 - pM[GA21]*det3_345_025
+ pM[GA22]*det3_345_015 - pM[GA25]*det3_345_012;
const Double_t det4_2345_0134 = pM[GA20]*det3_345_134 - pM[GA21]*det3_345_034
+ pM[GA23]*det3_345_014 - pM[GA24]*det3_345_013;
const Double_t det4_2345_0135 = pM[GA20]*det3_345_135 - pM[GA21]*det3_345_035
+ pM[GA23]*det3_345_015 - pM[GA25]*det3_345_013;
const Double_t det4_2345_0145 = pM[GA20]*det3_345_145 - pM[GA21]*det3_345_045
+ pM[GA24]*det3_345_015 - pM[GA25]*det3_345_014;
const Double_t det4_2345_0234 = pM[GA20]*det3_345_234 - pM[GA22]*det3_345_034
+ pM[GA23]*det3_345_024 - pM[GA24]*det3_345_023;
const Double_t det4_2345_0235 = pM[GA20]*det3_345_235 - pM[GA22]*det3_345_035
+ pM[GA23]*det3_345_025 - pM[GA25]*det3_345_023;
const Double_t det4_2345_0245 = pM[GA20]*det3_345_245 - pM[GA22]*det3_345_045
+ pM[GA24]*det3_345_025 - pM[GA25]*det3_345_024;
const Double_t det4_2345_0345 = pM[GA20]*det3_345_345 - pM[GA23]*det3_345_045
+ pM[GA24]*det3_345_035 - pM[GA25]*det3_345_034;
const Double_t det4_2345_1234 = pM[GA21]*det3_345_234 - pM[GA22]*det3_345_134
+ pM[GA23]*det3_345_124 - pM[GA24]*det3_345_123;
const Double_t det4_2345_1235 = pM[GA21]*det3_345_235 - pM[GA22]*det3_345_135
+ pM[GA23]*det3_345_125 - pM[GA25]*det3_345_123;
const Double_t det4_2345_1245 = pM[GA21]*det3_345_245 - pM[GA22]*det3_345_145
+ pM[GA24]*det3_345_125 - pM[GA25]*det3_345_124;
const Double_t det4_2345_1345 = pM[GA21]*det3_345_345 - pM[GA23]*det3_345_145
+ pM[GA24]*det3_345_135 - pM[GA25]*det3_345_134;
const Double_t det4_2345_2345 = pM[GA22]*det3_345_345 - pM[GA23]*det3_345_245
+ pM[GA24]*det3_345_235 - pM[GA25]*det3_345_234;

// Find all NECESSGARY 5x5 dets:  (36 of them)

const Double_t det5_01234_01234 = pM[GA00]*det4_1234_1234 - pM[GA01]*det4_1234_0234
+ pM[GA02]*det4_1234_0134 - pM[GA03]*det4_1234_0124 + pM[GA04]*det4_1234_0123;
const Double_t det5_01234_01235 = pM[GA00]*det4_1234_1235 - pM[GA01]*det4_1234_0235
+ pM[GA02]*det4_1234_0135 - pM[GA03]*det4_1234_0125 + pM[GA05]*det4_1234_0123;
const Double_t det5_01234_01245 = pM[GA00]*det4_1234_1245 - pM[GA01]*det4_1234_0245
+ pM[GA02]*det4_1234_0145 - pM[GA04]*det4_1234_0125 + pM[GA05]*det4_1234_0124;
const Double_t det5_01234_01345 = pM[GA00]*det4_1234_1345 - pM[GA01]*det4_1234_0345
+ pM[GA03]*det4_1234_0145 - pM[GA04]*det4_1234_0135 + pM[GA05]*det4_1234_0134;
const Double_t det5_01234_02345 = pM[GA00]*det4_1234_2345 - pM[GA02]*det4_1234_0345
+ pM[GA03]*det4_1234_0245 - pM[GA04]*det4_1234_0235 + pM[GA05]*det4_1234_0234;
const Double_t det5_01234_12345 = pM[GA01]*det4_1234_2345 - pM[GA02]*det4_1234_1345
+ pM[GA03]*det4_1234_1245 - pM[GA04]*det4_1234_1235 + pM[GA05]*det4_1234_1234;
const Double_t det5_01235_01234 = pM[GA00]*det4_1235_1234 - pM[GA01]*det4_1235_0234
+ pM[GA02]*det4_1235_0134 - pM[GA03]*det4_1235_0124 + pM[GA04]*det4_1235_0123;
const Double_t det5_01235_01235 = pM[GA00]*det4_1235_1235 - pM[GA01]*det4_1235_0235
+ pM[GA02]*det4_1235_0135 - pM[GA03]*det4_1235_0125 + pM[GA05]*det4_1235_0123;
const Double_t det5_01235_01245 = pM[GA00]*det4_1235_1245 - pM[GA01]*det4_1235_0245
+ pM[GA02]*det4_1235_0145 - pM[GA04]*det4_1235_0125 + pM[GA05]*det4_1235_0124;
const Double_t det5_01235_01345 = pM[GA00]*det4_1235_1345 - pM[GA01]*det4_1235_0345
+ pM[GA03]*det4_1235_0145 - pM[GA04]*det4_1235_0135 + pM[GA05]*det4_1235_0134;
const Double_t det5_01235_02345 = pM[GA00]*det4_1235_2345 - pM[GA02]*det4_1235_0345
+ pM[GA03]*det4_1235_0245 - pM[GA04]*det4_1235_0235 + pM[GA05]*det4_1235_0234;
const Double_t det5_01235_12345 = pM[GA01]*det4_1235_2345 - pM[GA02]*det4_1235_1345
+ pM[GA03]*det4_1235_1245 - pM[GA04]*det4_1235_1235 + pM[GA05]*det4_1235_1234;
const Double_t det5_01245_01234 = pM[GA00]*det4_1245_1234 - pM[GA01]*det4_1245_0234
+ pM[GA02]*det4_1245_0134 - pM[GA03]*det4_1245_0124 + pM[GA04]*det4_1245_0123;
const Double_t det5_01245_01235 = pM[GA00]*det4_1245_1235 - pM[GA01]*det4_1245_0235
+ pM[GA02]*det4_1245_0135 - pM[GA03]*det4_1245_0125 + pM[GA05]*det4_1245_0123;
const Double_t det5_01245_01245 = pM[GA00]*det4_1245_1245 - pM[GA01]*det4_1245_0245
+ pM[GA02]*det4_1245_0145 - pM[GA04]*det4_1245_0125 + pM[GA05]*det4_1245_0124;
const Double_t det5_01245_01345 = pM[GA00]*det4_1245_1345 - pM[GA01]*det4_1245_0345
+ pM[GA03]*det4_1245_0145 - pM[GA04]*det4_1245_0135 + pM[GA05]*det4_1245_0134;
const Double_t det5_01245_02345 = pM[GA00]*det4_1245_2345 - pM[GA02]*det4_1245_0345
+ pM[GA03]*det4_1245_0245 - pM[GA04]*det4_1245_0235 + pM[GA05]*det4_1245_0234;
const Double_t det5_01245_12345 = pM[GA01]*det4_1245_2345 - pM[GA02]*det4_1245_1345
+ pM[GA03]*det4_1245_1245 - pM[GA04]*det4_1245_1235 + pM[GA05]*det4_1245_1234;
const Double_t det5_01345_01234 = pM[GA00]*det4_1345_1234 - pM[GA01]*det4_1345_0234
+ pM[GA02]*det4_1345_0134 - pM[GA03]*det4_1345_0124 + pM[GA04]*det4_1345_0123;
const Double_t det5_01345_01235 = pM[GA00]*det4_1345_1235 - pM[GA01]*det4_1345_0235
+ pM[GA02]*det4_1345_0135 - pM[GA03]*det4_1345_0125 + pM[GA05]*det4_1345_0123;
const Double_t det5_01345_01245 = pM[GA00]*det4_1345_1245 - pM[GA01]*det4_1345_0245
+ pM[GA02]*det4_1345_0145 - pM[GA04]*det4_1345_0125 + pM[GA05]*det4_1345_0124;
const Double_t det5_01345_01345 = pM[GA00]*det4_1345_1345 - pM[GA01]*det4_1345_0345
+ pM[GA03]*det4_1345_0145 - pM[GA04]*det4_1345_0135 + pM[GA05]*det4_1345_0134;
const Double_t det5_01345_02345 = pM[GA00]*det4_1345_2345 - pM[GA02]*det4_1345_0345
+ pM[GA03]*det4_1345_0245 - pM[GA04]*det4_1345_0235 + pM[GA05]*det4_1345_0234;
const Double_t det5_01345_12345 = pM[GA01]*det4_1345_2345 - pM[GA02]*det4_1345_1345
+ pM[GA03]*det4_1345_1245 - pM[GA04]*det4_1345_1235 + pM[GA05]*det4_1345_1234;
const Double_t det5_02345_01234 = pM[GA00]*det4_2345_1234 - pM[GA01]*det4_2345_0234
+ pM[GA02]*det4_2345_0134 - pM[GA03]*det4_2345_0124 + pM[GA04]*det4_2345_0123;
const Double_t det5_02345_01235 = pM[GA00]*det4_2345_1235 - pM[GA01]*det4_2345_0235
+ pM[GA02]*det4_2345_0135 - pM[GA03]*det4_2345_0125 + pM[GA05]*det4_2345_0123;
const Double_t det5_02345_01245 = pM[GA00]*det4_2345_1245 - pM[GA01]*det4_2345_0245
+ pM[GA02]*det4_2345_0145 - pM[GA04]*det4_2345_0125 + pM[GA05]*det4_2345_0124;
const Double_t det5_02345_01345 = pM[GA00]*det4_2345_1345 - pM[GA01]*det4_2345_0345
+ pM[GA03]*det4_2345_0145 - pM[GA04]*det4_2345_0135 + pM[GA05]*det4_2345_0134;
const Double_t det5_02345_02345 = pM[GA00]*det4_2345_2345 - pM[GA02]*det4_2345_0345
+ pM[GA03]*det4_2345_0245 - pM[GA04]*det4_2345_0235 + pM[GA05]*det4_2345_0234;
const Double_t det5_02345_12345 = pM[GA01]*det4_2345_2345 - pM[GA02]*det4_2345_1345
+ pM[GA03]*det4_2345_1245 - pM[GA04]*det4_2345_1235 + pM[GA05]*det4_2345_1234;
const Double_t det5_12345_01234 = pM[GA10]*det4_2345_1234 - pM[GA11]*det4_2345_0234
+ pM[GA12]*det4_2345_0134 - pM[GA13]*det4_2345_0124 + pM[GA14]*det4_2345_0123;
const Double_t det5_12345_01235 = pM[GA10]*det4_2345_1235 - pM[GA11]*det4_2345_0235
+ pM[GA12]*det4_2345_0135 - pM[GA13]*det4_2345_0125 + pM[GA15]*det4_2345_0123;
const Double_t det5_12345_01245 = pM[GA10]*det4_2345_1245 - pM[GA11]*det4_2345_0245
+ pM[GA12]*det4_2345_0145 - pM[GA14]*det4_2345_0125 + pM[GA15]*det4_2345_0124;
const Double_t det5_12345_01345 = pM[GA10]*det4_2345_1345 - pM[GA11]*det4_2345_0345
+ pM[GA13]*det4_2345_0145 - pM[GA14]*det4_2345_0135 + pM[GA15]*det4_2345_0134;
const Double_t det5_12345_02345 = pM[GA10]*det4_2345_2345 - pM[GA12]*det4_2345_0345
+ pM[GA13]*det4_2345_0245 - pM[GA14]*det4_2345_0235 + pM[GA15]*det4_2345_0234;
const Double_t det5_12345_12345 = pM[GA11]*det4_2345_2345 - pM[GA12]*det4_2345_1345
+ pM[GA13]*det4_2345_1245 - pM[GA14]*det4_2345_1235 + pM[GA15]*det4_2345_1234;

// Find the determinant

const Double_t det = pM[GA00]*det5_12345_12345 - pM[GA01]*det5_12345_02345 + pM[GA02]*det5_12345_01345
- pM[GA03]*det5_12345_01245 + pM[GA04]*det5_12345_01235 - pM[GA05]*det5_12345_01234;
if (determ)
*determ = det;

if ( det == 0 ) {
Error("Inv6x6","matrix is singular");
return kFALSE;
}

const Double_t oneOverDet = 1.0/det;
const Double_t mn1OverDet = - oneOverDet;

pM[GA00] =  det5_12345_12345*oneOverDet;
pM[GA01] =  det5_02345_12345*mn1OverDet;
pM[GA02] =  det5_01345_12345*oneOverDet;
pM[GA03] =  det5_01245_12345*mn1OverDet;
pM[GA04] =  det5_01235_12345*oneOverDet;
pM[GA05] =  det5_01234_12345*mn1OverDet;

pM[GA10] =  det5_12345_02345*mn1OverDet;
pM[GA11] =  det5_02345_02345*oneOverDet;
pM[GA12] =  det5_01345_02345*mn1OverDet;
pM[GA13] =  det5_01245_02345*oneOverDet;
pM[GA14] =  det5_01235_02345*mn1OverDet;
pM[GA15] =  det5_01234_02345*oneOverDet;

pM[GA20] =  det5_12345_01345*oneOverDet;
pM[GA21] =  det5_02345_01345*mn1OverDet;
pM[GA22] =  det5_01345_01345*oneOverDet;
pM[GA23] =  det5_01245_01345*mn1OverDet;
pM[GA24] =  det5_01235_01345*oneOverDet;
pM[GA25] =  det5_01234_01345*mn1OverDet;

pM[GA30] =  det5_12345_01245*mn1OverDet;
pM[GA31] =  det5_02345_01245*oneOverDet;
pM[GA32] =  det5_01345_01245*mn1OverDet;
pM[GA33] =  det5_01245_01245*oneOverDet;
pM[GA34] =  det5_01235_01245*mn1OverDet;
pM[GA35] =  det5_01234_01245*oneOverDet;

pM[GA40] =  det5_12345_01235*oneOverDet;
pM[GA41] =  det5_02345_01235*mn1OverDet;
pM[GA42] =  det5_01345_01235*oneOverDet;
pM[GA43] =  det5_01245_01235*mn1OverDet;
pM[GA44] =  det5_01235_01235*oneOverDet;
pM[GA45] =  det5_01234_01235*mn1OverDet;

pM[GA50] =  det5_12345_01234*mn1OverDet;
pM[GA51] =  det5_02345_01234*oneOverDet;
pM[GA52] =  det5_01345_01234*mn1OverDet;
pM[GA53] =  det5_01245_01234*oneOverDet;
pM[GA54] =  det5_01235_01234*mn1OverDet;
pM[GA55] =  det5_01234_01234*oneOverDet;

return kTRUE;
}

#ifndef ROOT_TMatrixFfwd
#include "TMatrixFfwd.h"
#endif

template Bool_t TMatrixTCramerInv::Inv2x2<Float_t>(TMatrixF&,Double_t*);
template Bool_t TMatrixTCramerInv::Inv3x3<Float_t>(TMatrixF&,Double_t*);
template Bool_t TMatrixTCramerInv::Inv4x4<Float_t>(TMatrixF&,Double_t*);
template Bool_t TMatrixTCramerInv::Inv5x5<Float_t>(TMatrixF&,Double_t*);
template Bool_t TMatrixTCramerInv::Inv6x6<Float_t>(TMatrixF&,Double_t*);

#ifndef ROOT_TMatrixDfwd
#include "TMatrixDfwd.h"
#endif

template Bool_t TMatrixTCramerInv::Inv2x2<Double_t>(TMatrixD&,Double_t*);
template Bool_t TMatrixTCramerInv::Inv3x3<Double_t>(TMatrixD&,Double_t*);
template Bool_t TMatrixTCramerInv::Inv4x4<Double_t>(TMatrixD&,Double_t*);
template Bool_t TMatrixTCramerInv::Inv5x5<Double_t>(TMatrixD&,Double_t*);
template Bool_t TMatrixTCramerInv::Inv6x6<Double_t>(TMatrixD&,Double_t*);
```
TMatrixTCramerInv.cxx:1
TMatrixTCramerInv.cxx:2
TMatrixTCramerInv.cxx:3
TMatrixTCramerInv.cxx:4
TMatrixTCramerInv.cxx:5
TMatrixTCramerInv.cxx:6
TMatrixTCramerInv.cxx:7
TMatrixTCramerInv.cxx:8
TMatrixTCramerInv.cxx:9
TMatrixTCramerInv.cxx:10
TMatrixTCramerInv.cxx:11
TMatrixTCramerInv.cxx:12
TMatrixTCramerInv.cxx:13
TMatrixTCramerInv.cxx:14
TMatrixTCramerInv.cxx:15
TMatrixTCramerInv.cxx:16
TMatrixTCramerInv.cxx:17
TMatrixTCramerInv.cxx:18
TMatrixTCramerInv.cxx:19
TMatrixTCramerInv.cxx:20
TMatrixTCramerInv.cxx:21
TMatrixTCramerInv.cxx:22
TMatrixTCramerInv.cxx:23
TMatrixTCramerInv.cxx:24
TMatrixTCramerInv.cxx:25
TMatrixTCramerInv.cxx:26
TMatrixTCramerInv.cxx:27
TMatrixTCramerInv.cxx:28
TMatrixTCramerInv.cxx:29
TMatrixTCramerInv.cxx:30
TMatrixTCramerInv.cxx:31
TMatrixTCramerInv.cxx:32
TMatrixTCramerInv.cxx:33
TMatrixTCramerInv.cxx:34
TMatrixTCramerInv.cxx:35
TMatrixTCramerInv.cxx:36
TMatrixTCramerInv.cxx:37
TMatrixTCramerInv.cxx:38
TMatrixTCramerInv.cxx:39
TMatrixTCramerInv.cxx:40
TMatrixTCramerInv.cxx:41
TMatrixTCramerInv.cxx:42
TMatrixTCramerInv.cxx:43
TMatrixTCramerInv.cxx:44
TMatrixTCramerInv.cxx:45
TMatrixTCramerInv.cxx:46
TMatrixTCramerInv.cxx:47
TMatrixTCramerInv.cxx:48
TMatrixTCramerInv.cxx:49
TMatrixTCramerInv.cxx:50
TMatrixTCramerInv.cxx:51
TMatrixTCramerInv.cxx:52
TMatrixTCramerInv.cxx:53
TMatrixTCramerInv.cxx:54
TMatrixTCramerInv.cxx:55
TMatrixTCramerInv.cxx:56
TMatrixTCramerInv.cxx:57
TMatrixTCramerInv.cxx:58
TMatrixTCramerInv.cxx:59
TMatrixTCramerInv.cxx:60
TMatrixTCramerInv.cxx:61
TMatrixTCramerInv.cxx:62
TMatrixTCramerInv.cxx:63
TMatrixTCramerInv.cxx:64
TMatrixTCramerInv.cxx:65
TMatrixTCramerInv.cxx:66
TMatrixTCramerInv.cxx:67
TMatrixTCramerInv.cxx:68
TMatrixTCramerInv.cxx:69
TMatrixTCramerInv.cxx:70
TMatrixTCramerInv.cxx:71
TMatrixTCramerInv.cxx:72
TMatrixTCramerInv.cxx:73
TMatrixTCramerInv.cxx:74
TMatrixTCramerInv.cxx:75
TMatrixTCramerInv.cxx:76
TMatrixTCramerInv.cxx:77
TMatrixTCramerInv.cxx:78
TMatrixTCramerInv.cxx:79
TMatrixTCramerInv.cxx:80
TMatrixTCramerInv.cxx:81
TMatrixTCramerInv.cxx:82
TMatrixTCramerInv.cxx:83
TMatrixTCramerInv.cxx:84
TMatrixTCramerInv.cxx:85
TMatrixTCramerInv.cxx:86
TMatrixTCramerInv.cxx:87
TMatrixTCramerInv.cxx:88
TMatrixTCramerInv.cxx:89
TMatrixTCramerInv.cxx:90
TMatrixTCramerInv.cxx:91
TMatrixTCramerInv.cxx:92
TMatrixTCramerInv.cxx:93
TMatrixTCramerInv.cxx:94
TMatrixTCramerInv.cxx:95
TMatrixTCramerInv.cxx:96
TMatrixTCramerInv.cxx:97
TMatrixTCramerInv.cxx:98
TMatrixTCramerInv.cxx:99
TMatrixTCramerInv.cxx:100
TMatrixTCramerInv.cxx:101
TMatrixTCramerInv.cxx:102
TMatrixTCramerInv.cxx:103
TMatrixTCramerInv.cxx:104
TMatrixTCramerInv.cxx:105
TMatrixTCramerInv.cxx:106
TMatrixTCramerInv.cxx:107
TMatrixTCramerInv.cxx:108
TMatrixTCramerInv.cxx:109
TMatrixTCramerInv.cxx:110
TMatrixTCramerInv.cxx:111
TMatrixTCramerInv.cxx:112
TMatrixTCramerInv.cxx:113
TMatrixTCramerInv.cxx:114
TMatrixTCramerInv.cxx:115
TMatrixTCramerInv.cxx:116
TMatrixTCramerInv.cxx:117
TMatrixTCramerInv.cxx:118
TMatrixTCramerInv.cxx:119
TMatrixTCramerInv.cxx:120
TMatrixTCramerInv.cxx:121
TMatrixTCramerInv.cxx:122
TMatrixTCramerInv.cxx:123
TMatrixTCramerInv.cxx:124
TMatrixTCramerInv.cxx:125
TMatrixTCramerInv.cxx:126
TMatrixTCramerInv.cxx:127
TMatrixTCramerInv.cxx:128
TMatrixTCramerInv.cxx:129
TMatrixTCramerInv.cxx:130
TMatrixTCramerInv.cxx:131
TMatrixTCramerInv.cxx:132
TMatrixTCramerInv.cxx:133
TMatrixTCramerInv.cxx:134
TMatrixTCramerInv.cxx:135
TMatrixTCramerInv.cxx:136
TMatrixTCramerInv.cxx:137
TMatrixTCramerInv.cxx:138
TMatrixTCramerInv.cxx:139
TMatrixTCramerInv.cxx:140
TMatrixTCramerInv.cxx:141
TMatrixTCramerInv.cxx:142
TMatrixTCramerInv.cxx:143
TMatrixTCramerInv.cxx:144
TMatrixTCramerInv.cxx:145
TMatrixTCramerInv.cxx:146
TMatrixTCramerInv.cxx:147
TMatrixTCramerInv.cxx:148
TMatrixTCramerInv.cxx:149
TMatrixTCramerInv.cxx:150
TMatrixTCramerInv.cxx:151
TMatrixTCramerInv.cxx:152
TMatrixTCramerInv.cxx:153
TMatrixTCramerInv.cxx:154
TMatrixTCramerInv.cxx:155
TMatrixTCramerInv.cxx:156
TMatrixTCramerInv.cxx:157
TMatrixTCramerInv.cxx:158
TMatrixTCramerInv.cxx:159
TMatrixTCramerInv.cxx:160
TMatrixTCramerInv.cxx:161
TMatrixTCramerInv.cxx:162
TMatrixTCramerInv.cxx:163
TMatrixTCramerInv.cxx:164
TMatrixTCramerInv.cxx:165
TMatrixTCramerInv.cxx:166
TMatrixTCramerInv.cxx:167
TMatrixTCramerInv.cxx:168
TMatrixTCramerInv.cxx:169
TMatrixTCramerInv.cxx:170
TMatrixTCramerInv.cxx:171
TMatrixTCramerInv.cxx:172
TMatrixTCramerInv.cxx:173
TMatrixTCramerInv.cxx:174
TMatrixTCramerInv.cxx:175
TMatrixTCramerInv.cxx:176
TMatrixTCramerInv.cxx:177
TMatrixTCramerInv.cxx:178
TMatrixTCramerInv.cxx:179
TMatrixTCramerInv.cxx:180
TMatrixTCramerInv.cxx:181
TMatrixTCramerInv.cxx:182
TMatrixTCramerInv.cxx:183
TMatrixTCramerInv.cxx:184
TMatrixTCramerInv.cxx:185
TMatrixTCramerInv.cxx:186
TMatrixTCramerInv.cxx:187
TMatrixTCramerInv.cxx:188
TMatrixTCramerInv.cxx:189
TMatrixTCramerInv.cxx:190
TMatrixTCramerInv.cxx:191
TMatrixTCramerInv.cxx:192
TMatrixTCramerInv.cxx:193
TMatrixTCramerInv.cxx:194
TMatrixTCramerInv.cxx:195
TMatrixTCramerInv.cxx:196
TMatrixTCramerInv.cxx:197
TMatrixTCramerInv.cxx:198
TMatrixTCramerInv.cxx:199
TMatrixTCramerInv.cxx:200
TMatrixTCramerInv.cxx:201
TMatrixTCramerInv.cxx:202
TMatrixTCramerInv.cxx:203
TMatrixTCramerInv.cxx:204
TMatrixTCramerInv.cxx:205
TMatrixTCramerInv.cxx:206
TMatrixTCramerInv.cxx:207
TMatrixTCramerInv.cxx:208
TMatrixTCramerInv.cxx:209
TMatrixTCramerInv.cxx:210
TMatrixTCramerInv.cxx:211
TMatrixTCramerInv.cxx:212
TMatrixTCramerInv.cxx:213
TMatrixTCramerInv.cxx:214
TMatrixTCramerInv.cxx:215
TMatrixTCramerInv.cxx:216
TMatrixTCramerInv.cxx:217
TMatrixTCramerInv.cxx:218
TMatrixTCramerInv.cxx:219
TMatrixTCramerInv.cxx:220
TMatrixTCramerInv.cxx:221
TMatrixTCramerInv.cxx:222
TMatrixTCramerInv.cxx:223
TMatrixTCramerInv.cxx:224
TMatrixTCramerInv.cxx:225
TMatrixTCramerInv.cxx:226
TMatrixTCramerInv.cxx:227
TMatrixTCramerInv.cxx:228
TMatrixTCramerInv.cxx:229
TMatrixTCramerInv.cxx:230
TMatrixTCramerInv.cxx:231
TMatrixTCramerInv.cxx:232
TMatrixTCramerInv.cxx:233
TMatrixTCramerInv.cxx:234
TMatrixTCramerInv.cxx:235
TMatrixTCramerInv.cxx:236
TMatrixTCramerInv.cxx:237
TMatrixTCramerInv.cxx:238
TMatrixTCramerInv.cxx:239
TMatrixTCramerInv.cxx:240
TMatrixTCramerInv.cxx:241
TMatrixTCramerInv.cxx:242
TMatrixTCramerInv.cxx:243
TMatrixTCramerInv.cxx:244
TMatrixTCramerInv.cxx:245
TMatrixTCramerInv.cxx:246
TMatrixTCramerInv.cxx:247
TMatrixTCramerInv.cxx:248
TMatrixTCramerInv.cxx:249
TMatrixTCramerInv.cxx:250
TMatrixTCramerInv.cxx:251
TMatrixTCramerInv.cxx:252
TMatrixTCramerInv.cxx:253
TMatrixTCramerInv.cxx:254
TMatrixTCramerInv.cxx:255
TMatrixTCramerInv.cxx:256
TMatrixTCramerInv.cxx:257
TMatrixTCramerInv.cxx:258
TMatrixTCramerInv.cxx:259
TMatrixTCramerInv.cxx:260
TMatrixTCramerInv.cxx:261
TMatrixTCramerInv.cxx:262
TMatrixTCramerInv.cxx:263
TMatrixTCramerInv.cxx:264
TMatrixTCramerInv.cxx:265
TMatrixTCramerInv.cxx:266
TMatrixTCramerInv.cxx:267
TMatrixTCramerInv.cxx:268
TMatrixTCramerInv.cxx:269
TMatrixTCramerInv.cxx:270
TMatrixTCramerInv.cxx:271
TMatrixTCramerInv.cxx:272
TMatrixTCramerInv.cxx:273
TMatrixTCramerInv.cxx:274
TMatrixTCramerInv.cxx:275
TMatrixTCramerInv.cxx:276
TMatrixTCramerInv.cxx:277
TMatrixTCramerInv.cxx:278
TMatrixTCramerInv.cxx:279
TMatrixTCramerInv.cxx:280
TMatrixTCramerInv.cxx:281
TMatrixTCramerInv.cxx:282
TMatrixTCramerInv.cxx:283
TMatrixTCramerInv.cxx:284
TMatrixTCramerInv.cxx:285
TMatrixTCramerInv.cxx:286
TMatrixTCramerInv.cxx:287
TMatrixTCramerInv.cxx:288
TMatrixTCramerInv.cxx:289
TMatrixTCramerInv.cxx:290
TMatrixTCramerInv.cxx:291
TMatrixTCramerInv.cxx:292
TMatrixTCramerInv.cxx:293
TMatrixTCramerInv.cxx:294
TMatrixTCramerInv.cxx:295
TMatrixTCramerInv.cxx:296
TMatrixTCramerInv.cxx:297
TMatrixTCramerInv.cxx:298
TMatrixTCramerInv.cxx:299
TMatrixTCramerInv.cxx:300
TMatrixTCramerInv.cxx:301
TMatrixTCramerInv.cxx:302
TMatrixTCramerInv.cxx:303
TMatrixTCramerInv.cxx:304
TMatrixTCramerInv.cxx:305
TMatrixTCramerInv.cxx:306
TMatrixTCramerInv.cxx:307
TMatrixTCramerInv.cxx:308
TMatrixTCramerInv.cxx:309
TMatrixTCramerInv.cxx:310
TMatrixTCramerInv.cxx:311
TMatrixTCramerInv.cxx:312
TMatrixTCramerInv.cxx:313
TMatrixTCramerInv.cxx:314
TMatrixTCramerInv.cxx:315
TMatrixTCramerInv.cxx:316
TMatrixTCramerInv.cxx:317
TMatrixTCramerInv.cxx:318
TMatrixTCramerInv.cxx:319
TMatrixTCramerInv.cxx:320
TMatrixTCramerInv.cxx:321
TMatrixTCramerInv.cxx:322
TMatrixTCramerInv.cxx:323
TMatrixTCramerInv.cxx:324
TMatrixTCramerInv.cxx:325
TMatrixTCramerInv.cxx:326
TMatrixTCramerInv.cxx:327
TMatrixTCramerInv.cxx:328
TMatrixTCramerInv.cxx:329
TMatrixTCramerInv.cxx:330
TMatrixTCramerInv.cxx:331
TMatrixTCramerInv.cxx:332
TMatrixTCramerInv.cxx:333
TMatrixTCramerInv.cxx:334
TMatrixTCramerInv.cxx:335
TMatrixTCramerInv.cxx:336
TMatrixTCramerInv.cxx:337
TMatrixTCramerInv.cxx:338
TMatrixTCramerInv.cxx:339
TMatrixTCramerInv.cxx:340
TMatrixTCramerInv.cxx:341
TMatrixTCramerInv.cxx:342
TMatrixTCramerInv.cxx:343
TMatrixTCramerInv.cxx:344
TMatrixTCramerInv.cxx:345
TMatrixTCramerInv.cxx:346
TMatrixTCramerInv.cxx:347
TMatrixTCramerInv.cxx:348
TMatrixTCramerInv.cxx:349
TMatrixTCramerInv.cxx:350
TMatrixTCramerInv.cxx:351
TMatrixTCramerInv.cxx:352
TMatrixTCramerInv.cxx:353
TMatrixTCramerInv.cxx:354
TMatrixTCramerInv.cxx:355
TMatrixTCramerInv.cxx:356
TMatrixTCramerInv.cxx:357
TMatrixTCramerInv.cxx:358
TMatrixTCramerInv.cxx:359
TMatrixTCramerInv.cxx:360
TMatrixTCramerInv.cxx:361
TMatrixTCramerInv.cxx:362
TMatrixTCramerInv.cxx:363
TMatrixTCramerInv.cxx:364
TMatrixTCramerInv.cxx:365
TMatrixTCramerInv.cxx:366
TMatrixTCramerInv.cxx:367
TMatrixTCramerInv.cxx:368
TMatrixTCramerInv.cxx:369
TMatrixTCramerInv.cxx:370
TMatrixTCramerInv.cxx:371
TMatrixTCramerInv.cxx:372
TMatrixTCramerInv.cxx:373
TMatrixTCramerInv.cxx:374
TMatrixTCramerInv.cxx:375
TMatrixTCramerInv.cxx:376
TMatrixTCramerInv.cxx:377
TMatrixTCramerInv.cxx:378
TMatrixTCramerInv.cxx:379
TMatrixTCramerInv.cxx:380
TMatrixTCramerInv.cxx:381
TMatrixTCramerInv.cxx:382
TMatrixTCramerInv.cxx:383
TMatrixTCramerInv.cxx:384
TMatrixTCramerInv.cxx:385
TMatrixTCramerInv.cxx:386
TMatrixTCramerInv.cxx:387
TMatrixTCramerInv.cxx:388
TMatrixTCramerInv.cxx:389
TMatrixTCramerInv.cxx:390
TMatrixTCramerInv.cxx:391
TMatrixTCramerInv.cxx:392
TMatrixTCramerInv.cxx:393
TMatrixTCramerInv.cxx:394
TMatrixTCramerInv.cxx:395
TMatrixTCramerInv.cxx:396
TMatrixTCramerInv.cxx:397
TMatrixTCramerInv.cxx:398
TMatrixTCramerInv.cxx:399
TMatrixTCramerInv.cxx:400
TMatrixTCramerInv.cxx:401
TMatrixTCramerInv.cxx:402
TMatrixTCramerInv.cxx:403
TMatrixTCramerInv.cxx:404
TMatrixTCramerInv.cxx:405
TMatrixTCramerInv.cxx:406
TMatrixTCramerInv.cxx:407
TMatrixTCramerInv.cxx:408
TMatrixTCramerInv.cxx:409
TMatrixTCramerInv.cxx:410
TMatrixTCramerInv.cxx:411
TMatrixTCramerInv.cxx:412
TMatrixTCramerInv.cxx:413
TMatrixTCramerInv.cxx:414
TMatrixTCramerInv.cxx:415
TMatrixTCramerInv.cxx:416
TMatrixTCramerInv.cxx:417
TMatrixTCramerInv.cxx:418
TMatrixTCramerInv.cxx:419
TMatrixTCramerInv.cxx:420
TMatrixTCramerInv.cxx:421
TMatrixTCramerInv.cxx:422
TMatrixTCramerInv.cxx:423
TMatrixTCramerInv.cxx:424
TMatrixTCramerInv.cxx:425
TMatrixTCramerInv.cxx:426
TMatrixTCramerInv.cxx:427
TMatrixTCramerInv.cxx:428
TMatrixTCramerInv.cxx:429
TMatrixTCramerInv.cxx:430
TMatrixTCramerInv.cxx:431
TMatrixTCramerInv.cxx:432
TMatrixTCramerInv.cxx:433
TMatrixTCramerInv.cxx:434
TMatrixTCramerInv.cxx:435
TMatrixTCramerInv.cxx:436
TMatrixTCramerInv.cxx:437
TMatrixTCramerInv.cxx:438
TMatrixTCramerInv.cxx:439
TMatrixTCramerInv.cxx:440
TMatrixTCramerInv.cxx:441
TMatrixTCramerInv.cxx:442
TMatrixTCramerInv.cxx:443
TMatrixTCramerInv.cxx:444
TMatrixTCramerInv.cxx:445
TMatrixTCramerInv.cxx:446
TMatrixTCramerInv.cxx:447
TMatrixTCramerInv.cxx:448
TMatrixTCramerInv.cxx:449
TMatrixTCramerInv.cxx:450
TMatrixTCramerInv.cxx:451
TMatrixTCramerInv.cxx:452
TMatrixTCramerInv.cxx:453
TMatrixTCramerInv.cxx:454
TMatrixTCramerInv.cxx:455
TMatrixTCramerInv.cxx:456
TMatrixTCramerInv.cxx:457
TMatrixTCramerInv.cxx:458
TMatrixTCramerInv.cxx:459
TMatrixTCramerInv.cxx:460
TMatrixTCramerInv.cxx:461
TMatrixTCramerInv.cxx:462
TMatrixTCramerInv.cxx:463
TMatrixTCramerInv.cxx:464
TMatrixTCramerInv.cxx:465
TMatrixTCramerInv.cxx:466
TMatrixTCramerInv.cxx:467
TMatrixTCramerInv.cxx:468
TMatrixTCramerInv.cxx:469
TMatrixTCramerInv.cxx:470
TMatrixTCramerInv.cxx:471
TMatrixTCramerInv.cxx:472
TMatrixTCramerInv.cxx:473
TMatrixTCramerInv.cxx:474
TMatrixTCramerInv.cxx:475
TMatrixTCramerInv.cxx:476
TMatrixTCramerInv.cxx:477
TMatrixTCramerInv.cxx:478
TMatrixTCramerInv.cxx:479
TMatrixTCramerInv.cxx:480
TMatrixTCramerInv.cxx:481
TMatrixTCramerInv.cxx:482
TMatrixTCramerInv.cxx:483
TMatrixTCramerInv.cxx:484
TMatrixTCramerInv.cxx:485
TMatrixTCramerInv.cxx:486
TMatrixTCramerInv.cxx:487
TMatrixTCramerInv.cxx:488
TMatrixTCramerInv.cxx:489
TMatrixTCramerInv.cxx:490
TMatrixTCramerInv.cxx:491
TMatrixTCramerInv.cxx:492
TMatrixTCramerInv.cxx:493
TMatrixTCramerInv.cxx:494
TMatrixTCramerInv.cxx:495
TMatrixTCramerInv.cxx:496
TMatrixTCramerInv.cxx:497
TMatrixTCramerInv.cxx:498
TMatrixTCramerInv.cxx:499
TMatrixTCramerInv.cxx:500
TMatrixTCramerInv.cxx:501
TMatrixTCramerInv.cxx:502
TMatrixTCramerInv.cxx:503
TMatrixTCramerInv.cxx:504
TMatrixTCramerInv.cxx:505
TMatrixTCramerInv.cxx:506
TMatrixTCramerInv.cxx:507
TMatrixTCramerInv.cxx:508
TMatrixTCramerInv.cxx:509
TMatrixTCramerInv.cxx:510
TMatrixTCramerInv.cxx:511
TMatrixTCramerInv.cxx:512
TMatrixTCramerInv.cxx:513
TMatrixTCramerInv.cxx:514
TMatrixTCramerInv.cxx:515
TMatrixTCramerInv.cxx:516
TMatrixTCramerInv.cxx:517
TMatrixTCramerInv.cxx:518
TMatrixTCramerInv.cxx:519
TMatrixTCramerInv.cxx:520
TMatrixTCramerInv.cxx:521
TMatrixTCramerInv.cxx:522
TMatrixTCramerInv.cxx:523
TMatrixTCramerInv.cxx:524
TMatrixTCramerInv.cxx:525
TMatrixTCramerInv.cxx:526
TMatrixTCramerInv.cxx:527
TMatrixTCramerInv.cxx:528
TMatrixTCramerInv.cxx:529
TMatrixTCramerInv.cxx:530
TMatrixTCramerInv.cxx:531
TMatrixTCramerInv.cxx:532
TMatrixTCramerInv.cxx:533
TMatrixTCramerInv.cxx:534
TMatrixTCramerInv.cxx:535
TMatrixTCramerInv.cxx:536
TMatrixTCramerInv.cxx:537
TMatrixTCramerInv.cxx:538
TMatrixTCramerInv.cxx:539
TMatrixTCramerInv.cxx:540
TMatrixTCramerInv.cxx:541
TMatrixTCramerInv.cxx:542
TMatrixTCramerInv.cxx:543
TMatrixTCramerInv.cxx:544
TMatrixTCramerInv.cxx:545
TMatrixTCramerInv.cxx:546
TMatrixTCramerInv.cxx:547
TMatrixTCramerInv.cxx:548
TMatrixTCramerInv.cxx:549
TMatrixTCramerInv.cxx:550
TMatrixTCramerInv.cxx:551
TMatrixTCramerInv.cxx:552
TMatrixTCramerInv.cxx:553
TMatrixTCramerInv.cxx:554
TMatrixTCramerInv.cxx:555
TMatrixTCramerInv.cxx:556
TMatrixTCramerInv.cxx:557
TMatrixTCramerInv.cxx:558
TMatrixTCramerInv.cxx:559
TMatrixTCramerInv.cxx:560
TMatrixTCramerInv.cxx:561
TMatrixTCramerInv.cxx:562
TMatrixTCramerInv.cxx:563
TMatrixTCramerInv.cxx:564
TMatrixTCramerInv.cxx:565
TMatrixTCramerInv.cxx:566
TMatrixTCramerInv.cxx:567
TMatrixTCramerInv.cxx:568
TMatrixTCramerInv.cxx:569
TMatrixTCramerInv.cxx:570
TMatrixTCramerInv.cxx:571
TMatrixTCramerInv.cxx:572
TMatrixTCramerInv.cxx:573
TMatrixTCramerInv.cxx:574
TMatrixTCramerInv.cxx:575
TMatrixTCramerInv.cxx:576
TMatrixTCramerInv.cxx:577
TMatrixTCramerInv.cxx:578
TMatrixTCramerInv.cxx:579
TMatrixTCramerInv.cxx:580
TMatrixTCramerInv.cxx:581
TMatrixTCramerInv.cxx:582
TMatrixTCramerInv.cxx:583
TMatrixTCramerInv.cxx:584
TMatrixTCramerInv.cxx:585
TMatrixTCramerInv.cxx:586
TMatrixTCramerInv.cxx:587
TMatrixTCramerInv.cxx:588
TMatrixTCramerInv.cxx:589
TMatrixTCramerInv.cxx:590
TMatrixTCramerInv.cxx:591
TMatrixTCramerInv.cxx:592
TMatrixTCramerInv.cxx:593
TMatrixTCramerInv.cxx:594
TMatrixTCramerInv.cxx:595
TMatrixTCramerInv.cxx:596
TMatrixTCramerInv.cxx:597
TMatrixTCramerInv.cxx:598
TMatrixTCramerInv.cxx:599
TMatrixTCramerInv.cxx:600
TMatrixTCramerInv.cxx:601
TMatrixTCramerInv.cxx:602
TMatrixTCramerInv.cxx:603
TMatrixTCramerInv.cxx:604
TMatrixTCramerInv.cxx:605
TMatrixTCramerInv.cxx:606
TMatrixTCramerInv.cxx:607
TMatrixTCramerInv.cxx:608
TMatrixTCramerInv.cxx:609
TMatrixTCramerInv.cxx:610
TMatrixTCramerInv.cxx:611
TMatrixTCramerInv.cxx:612
TMatrixTCramerInv.cxx:613
TMatrixTCramerInv.cxx:614
TMatrixTCramerInv.cxx:615
TMatrixTCramerInv.cxx:616
TMatrixTCramerInv.cxx:617
TMatrixTCramerInv.cxx:618
TMatrixTCramerInv.cxx:619
TMatrixTCramerInv.cxx:620
TMatrixTCramerInv.cxx:621
TMatrixTCramerInv.cxx:622
TMatrixTCramerInv.cxx:623
TMatrixTCramerInv.cxx:624
TMatrixTCramerInv.cxx:625
TMatrixTCramerInv.cxx:626
TMatrixTCramerInv.cxx:627
TMatrixTCramerInv.cxx:628
TMatrixTCramerInv.cxx:629
TMatrixTCramerInv.cxx:630
TMatrixTCramerInv.cxx:631
TMatrixTCramerInv.cxx:632
TMatrixTCramerInv.cxx:633
TMatrixTCramerInv.cxx:634
TMatrixTCramerInv.cxx:635
TMatrixTCramerInv.cxx:636
TMatrixTCramerInv.cxx:637
TMatrixTCramerInv.cxx:638
TMatrixTCramerInv.cxx:639
TMatrixTCramerInv.cxx:640
TMatrixTCramerInv.cxx:641
TMatrixTCramerInv.cxx:642
TMatrixTCramerInv.cxx:643
TMatrixTCramerInv.cxx:644
TMatrixTCramerInv.cxx:645
TMatrixTCramerInv.cxx:646
TMatrixTCramerInv.cxx:647
TMatrixTCramerInv.cxx:648
TMatrixTCramerInv.cxx:649
TMatrixTCramerInv.cxx:650
TMatrixTCramerInv.cxx:651
TMatrixTCramerInv.cxx:652
TMatrixTCramerInv.cxx:653
TMatrixTCramerInv.cxx:654
TMatrixTCramerInv.cxx:655
TMatrixTCramerInv.cxx:656
TMatrixTCramerInv.cxx:657
TMatrixTCramerInv.cxx:658
TMatrixTCramerInv.cxx:659
TMatrixTCramerInv.cxx:660
TMatrixTCramerInv.cxx:661
TMatrixTCramerInv.cxx:662
TMatrixTCramerInv.cxx:663
TMatrixTCramerInv.cxx:664
TMatrixTCramerInv.cxx:665
TMatrixTCramerInv.cxx:666
TMatrixTCramerInv.cxx:667
TMatrixTCramerInv.cxx:668
TMatrixTCramerInv.cxx:669
TMatrixTCramerInv.cxx:670
TMatrixTCramerInv.cxx:671
TMatrixTCramerInv.cxx:672
TMatrixTCramerInv.cxx:673
TMatrixTCramerInv.cxx:674
TMatrixTCramerInv.cxx:675
TMatrixTCramerInv.cxx:676
TMatrixTCramerInv.cxx:677
TMatrixTCramerInv.cxx:678
TMatrixTCramerInv.cxx:679
TMatrixTCramerInv.cxx:680
TMatrixTCramerInv.cxx:681
TMatrixTCramerInv.cxx:682
TMatrixTCramerInv.cxx:683
TMatrixTCramerInv.cxx:684
TMatrixTCramerInv.cxx:685
TMatrixTCramerInv.cxx:686
TMatrixTCramerInv.cxx:687
TMatrixTCramerInv.cxx:688
TMatrixTCramerInv.cxx:689
TMatrixTCramerInv.cxx:690
TMatrixTCramerInv.cxx:691
TMatrixTCramerInv.cxx:692
TMatrixTCramerInv.cxx:693
TMatrixTCramerInv.cxx:694
TMatrixTCramerInv.cxx:695
TMatrixTCramerInv.cxx:696
TMatrixTCramerInv.cxx:697
TMatrixTCramerInv.cxx:698
TMatrixTCramerInv.cxx:699
TMatrixTCramerInv.cxx:700
TMatrixTCramerInv.cxx:701
TMatrixTCramerInv.cxx:702
TMatrixTCramerInv.cxx:703
TMatrixTCramerInv.cxx:704
TMatrixTCramerInv.cxx:705
TMatrixTCramerInv.cxx:706
TMatrixTCramerInv.cxx:707
TMatrixTCramerInv.cxx:708
TMatrixTCramerInv.cxx:709
TMatrixTCramerInv.cxx:710
TMatrixTCramerInv.cxx:711
TMatrixTCramerInv.cxx:712
TMatrixTCramerInv.cxx:713
TMatrixTCramerInv.cxx:714
TMatrixTCramerInv.cxx:715
TMatrixTCramerInv.cxx:716
TMatrixTCramerInv.cxx:717
TMatrixTCramerInv.cxx:718
TMatrixTCramerInv.cxx:719
TMatrixTCramerInv.cxx:720
TMatrixTCramerInv.cxx:721
TMatrixTCramerInv.cxx:722
TMatrixTCramerInv.cxx:723
TMatrixTCramerInv.cxx:724
TMatrixTCramerInv.cxx:725
TMatrixTCramerInv.cxx:726
TMatrixTCramerInv.cxx:727
TMatrixTCramerInv.cxx:728
TMatrixTCramerInv.cxx:729
TMatrixTCramerInv.cxx:730
TMatrixTCramerInv.cxx:731
TMatrixTCramerInv.cxx:732
TMatrixTCramerInv.cxx:733
TMatrixTCramerInv.cxx:734
TMatrixTCramerInv.cxx:735
TMatrixTCramerInv.cxx:736
TMatrixTCramerInv.cxx:737
TMatrixTCramerInv.cxx:738
TMatrixTCramerInv.cxx:739
TMatrixTCramerInv.cxx:740
TMatrixTCramerInv.cxx:741
TMatrixTCramerInv.cxx:742
TMatrixTCramerInv.cxx:743
TMatrixTCramerInv.cxx:744
TMatrixTCramerInv.cxx:745
TMatrixTCramerInv.cxx:746
TMatrixTCramerInv.cxx:747
TMatrixTCramerInv.cxx:748
TMatrixTCramerInv.cxx:749
TMatrixTCramerInv.cxx:750
TMatrixTCramerInv.cxx:751
TMatrixTCramerInv.cxx:752
TMatrixTCramerInv.cxx:753
TMatrixTCramerInv.cxx:754
TMatrixTCramerInv.cxx:755
TMatrixTCramerInv.cxx:756
TMatrixTCramerInv.cxx:757
TMatrixTCramerInv.cxx:758
TMatrixTCramerInv.cxx:759
TMatrixTCramerInv.cxx:760
TMatrixTCramerInv.cxx:761
TMatrixTCramerInv.cxx:762
TMatrixTCramerInv.cxx:763
TMatrixTCramerInv.cxx:764
TMatrixTCramerInv.cxx:765
TMatrixTCramerInv.cxx:766
TMatrixTCramerInv.cxx:767
TMatrixTCramerInv.cxx:768
TMatrixTCramerInv.cxx:769
TMatrixTCramerInv.cxx:770
TMatrixTCramerInv.cxx:771
TMatrixTCramerInv.cxx:772
TMatrixTCramerInv.cxx:773
TMatrixTCramerInv.cxx:774
TMatrixTCramerInv.cxx:775
TMatrixTCramerInv.cxx:776
TMatrixTCramerInv.cxx:777
TMatrixTCramerInv.cxx:778
TMatrixTCramerInv.cxx:779
TMatrixTCramerInv.cxx:780
TMatrixTCramerInv.cxx:781
TMatrixTCramerInv.cxx:782
TMatrixTCramerInv.cxx:783
TMatrixTCramerInv.cxx:784
TMatrixTCramerInv.cxx:785
TMatrixTCramerInv.cxx:786
TMatrixTCramerInv.cxx:787
TMatrixTCramerInv.cxx:788
TMatrixTCramerInv.cxx:789
TMatrixTCramerInv.cxx:790
TMatrixTCramerInv.cxx:791
TMatrixTCramerInv.cxx:792
TMatrixTCramerInv.cxx:793
TMatrixTCramerInv.cxx:794
TMatrixTCramerInv.cxx:795
TMatrixTCramerInv.cxx:796
TMatrixTCramerInv.cxx:797
TMatrixTCramerInv.cxx:798
TMatrixTCramerInv.cxx:799
TMatrixTCramerInv.cxx:800
TMatrixTCramerInv.cxx:801
TMatrixTCramerInv.cxx:802
TMatrixTCramerInv.cxx:803
TMatrixTCramerInv.cxx:804
TMatrixTCramerInv.cxx:805
TMatrixTCramerInv.cxx:806
TMatrixTCramerInv.cxx:807
TMatrixTCramerInv.cxx:808
TMatrixTCramerInv.cxx:809
TMatrixTCramerInv.cxx:810
TMatrixTCramerInv.cxx:811
TMatrixTCramerInv.cxx:812
TMatrixTCramerInv.cxx:813
TMatrixTCramerInv.cxx:814
TMatrixTCramerInv.cxx:815
TMatrixTCramerInv.cxx:816
TMatrixTCramerInv.cxx:817
TMatrixTCramerInv.cxx:818
TMatrixTCramerInv.cxx:819
TMatrixTCramerInv.cxx:820
TMatrixTCramerInv.cxx:821
TMatrixTCramerInv.cxx:822
TMatrixTCramerInv.cxx:823
TMatrixTCramerInv.cxx:824
TMatrixTCramerInv.cxx:825
TMatrixTCramerInv.cxx:826
TMatrixTCramerInv.cxx:827
TMatrixTCramerInv.cxx:828
TMatrixTCramerInv.cxx:829
TMatrixTCramerInv.cxx:830
TMatrixTCramerInv.cxx:831
TMatrixTCramerInv.cxx:832
TMatrixTCramerInv.cxx:833
TMatrixTCramerInv.cxx:834
TMatrixTCramerInv.cxx:835
TMatrixTCramerInv.cxx:836
TMatrixTCramerInv.cxx:837
TMatrixTCramerInv.cxx:838
TMatrixTCramerInv.cxx:839
TMatrixTCramerInv.cxx:840
TMatrixTCramerInv.cxx:841
TMatrixTCramerInv.cxx:842
TMatrixTCramerInv.cxx:843
TMatrixTCramerInv.cxx:844
TMatrixTCramerInv.cxx:845
TMatrixTCramerInv.cxx:846
TMatrixTCramerInv.cxx:847
TMatrixTCramerInv.cxx:848
TMatrixTCramerInv.cxx:849
TMatrixTCramerInv.cxx:850
TMatrixTCramerInv.cxx:851
TMatrixTCramerInv.cxx:852
TMatrixTCramerInv.cxx:853
TMatrixTCramerInv.cxx:854
TMatrixTCramerInv.cxx:855
TMatrixTCramerInv.cxx:856
TMatrixTCramerInv.cxx:857
TMatrixTCramerInv.cxx:858
TMatrixTCramerInv.cxx:859
TMatrixTCramerInv.cxx:860
TMatrixTCramerInv.cxx:861
TMatrixTCramerInv.cxx:862
TMatrixTCramerInv.cxx:863
TMatrixTCramerInv.cxx:864
TMatrixTCramerInv.cxx:865
TMatrixTCramerInv.cxx:866
TMatrixTCramerInv.cxx:867
TMatrixTCramerInv.cxx:868
TMatrixTCramerInv.cxx:869
TMatrixTCramerInv.cxx:870
TMatrixTCramerInv.cxx:871
TMatrixTCramerInv.cxx:872
TMatrixTCramerInv.cxx:873
TMatrixTCramerInv.cxx:874
TMatrixTCramerInv.cxx:875
TMatrixTCramerInv.cxx:876
TMatrixTCramerInv.cxx:877
TMatrixTCramerInv.cxx:878
TMatrixTCramerInv.cxx:879
TMatrixTCramerInv.cxx:880
TMatrixTCramerInv.cxx:881
TMatrixTCramerInv.cxx:882
TMatrixTCramerInv.cxx:883
TMatrixTCramerInv.cxx:884
TMatrixTCramerInv.cxx:885
TMatrixTCramerInv.cxx:886
TMatrixTCramerInv.cxx:887
TMatrixTCramerInv.cxx:888
TMatrixTCramerInv.cxx:889
TMatrixTCramerInv.cxx:890
TMatrixTCramerInv.cxx:891
TMatrixTCramerInv.cxx:892
TMatrixTCramerInv.cxx:893
TMatrixTCramerInv.cxx:894
TMatrixTCramerInv.cxx:895
TMatrixTCramerInv.cxx:896
TMatrixTCramerInv.cxx:897
TMatrixTCramerInv.cxx:898
TMatrixTCramerInv.cxx:899
TMatrixTCramerInv.cxx:900
TMatrixTCramerInv.cxx:901
TMatrixTCramerInv.cxx:902
TMatrixTCramerInv.cxx:903
TMatrixTCramerInv.cxx:904
TMatrixTCramerInv.cxx:905
TMatrixTCramerInv.cxx:906
TMatrixTCramerInv.cxx:907
TMatrixTCramerInv.cxx:908
TMatrixTCramerInv.cxx:909
TMatrixTCramerInv.cxx:910
TMatrixTCramerInv.cxx:911
TMatrixTCramerInv.cxx:912
TMatrixTCramerInv.cxx:913
TMatrixTCramerInv.cxx:914
TMatrixTCramerInv.cxx:915
TMatrixTCramerInv.cxx:916
TMatrixTCramerInv.cxx:917
TMatrixTCramerInv.cxx:918
TMatrixTCramerInv.cxx:919
TMatrixTCramerInv.cxx:920
TMatrixTCramerInv.cxx:921
TMatrixTCramerInv.cxx:922
TMatrixTCramerInv.cxx:923
TMatrixTCramerInv.cxx:924
TMatrixTCramerInv.cxx:925
TMatrixTCramerInv.cxx:926
TMatrixTCramerInv.cxx:927
TMatrixTCramerInv.cxx:928
TMatrixTCramerInv.cxx:929
TMatrixTCramerInv.cxx:930
TMatrixTCramerInv.cxx:931
TMatrixTCramerInv.cxx:932
TMatrixTCramerInv.cxx:933
TMatrixTCramerInv.cxx:934
TMatrixTCramerInv.cxx:935
TMatrixTCramerInv.cxx:936
TMatrixTCramerInv.cxx:937
TMatrixTCramerInv.cxx:938
TMatrixTCramerInv.cxx:939
TMatrixTCramerInv.cxx:940
TMatrixTCramerInv.cxx:941
TMatrixTCramerInv.cxx:942
TMatrixTCramerInv.cxx:943
TMatrixTCramerInv.cxx:944
TMatrixTCramerInv.cxx:945
TMatrixTCramerInv.cxx:946
TMatrixTCramerInv.cxx:947
TMatrixTCramerInv.cxx:948
TMatrixTCramerInv.cxx:949
TMatrixTCramerInv.cxx:950
TMatrixTCramerInv.cxx:951
TMatrixTCramerInv.cxx:952
TMatrixTCramerInv.cxx:953
TMatrixTCramerInv.cxx:954
TMatrixTCramerInv.cxx:955
TMatrixTCramerInv.cxx:956
TMatrixTCramerInv.cxx:957
TMatrixTCramerInv.cxx:958
TMatrixTCramerInv.cxx:959
TMatrixTCramerInv.cxx:960
TMatrixTCramerInv.cxx:961
TMatrixTCramerInv.cxx:962
TMatrixTCramerInv.cxx:963
TMatrixTCramerInv.cxx:964
TMatrixTCramerInv.cxx:965
TMatrixTCramerInv.cxx:966
TMatrixTCramerInv.cxx:967
TMatrixTCramerInv.cxx:968
TMatrixTCramerInv.cxx:969
TMatrixTCramerInv.cxx:970
TMatrixTCramerInv.cxx:971
TMatrixTCramerInv.cxx:972
TMatrixTCramerInv.cxx:973
TMatrixTCramerInv.cxx:974
TMatrixTCramerInv.cxx:975