6 #include "TMatrixTSym.h" 
   22 int main(
int argc, 
char**argv)
 
   32     JParser<> zap(
"Example program to test inversion of symmetric matrix.");
 
   40   catch(
const exception &error) {
 
   41     FATAL(error.what() << endl);
 
   46   ASSERT(numberOfEvents > 0);
 
   50   const Double_t xmin = -1.0;
 
   51   const Double_t xmax = +1.0;
 
   56   for (
int i = 0; i != numberOfEvents; ++i) {
 
   58     if (i%100 == 0) { 
STATUS(setw(8) << i << 
'\r'); 
DEBUG(endl); }
 
   60     JMatrix4D A(gRandom->Uniform(xmin,xmax), 0.0,                         0.0,                         0.0,
 
   61                 gRandom->Uniform(xmin,xmax), gRandom->Uniform(xmin,xmax), 0.0,                         0.0,
 
   62                 gRandom->Uniform(xmin,xmax), gRandom->Uniform(xmin,xmax), gRandom->Uniform(xmin,xmax), 0.0,
 
   63                 gRandom->Uniform(xmin,xmax), gRandom->Uniform(xmin,xmax), gRandom->Uniform(xmin,xmax), gRandom->Uniform(xmin,xmax));
 
   73     TMatrixTSym<double> R(4);
 
   75     R(0,0) = A.a00;  R(0,1) = A.a01;  R(0,2) = A.a02;  R(0,3) = A.a03;
 
   76     R(1,0) = A.a10;  R(1,1) = A.a11;  R(1,2) = A.a12;  R(1,3) = A.a13;
 
   77     R(2,0) = A.a20;  R(2,1) = A.a21;  R(2,2) = A.a22;  R(2,3) = A.a23;
 
   78     R(3,0) = A.a30;  R(3,1) = A.a31;  R(3,2) = A.a32;  R(3,3) = A.a33;
 
   81     DEBUG(
"Matrix A" << endl);
 
   84     DEBUG(
"Determinant A " << A.getDeterminant() << endl);
 
  102       DEBUG(
"Matrix A^-1" << endl);
 
  105       DEBUG(
"Determinant A^-1 = " << B.getDeterminant() << endl);
 
  109       DEBUG(
"Matrix A x A^-1" << endl);
 
  112       DEBUG(
"Determinant (A x A^-1)           = " << C.getDeterminant()                      << endl);
 
  113       DEBUG(
"Determinant A x Determinant A^-1 = " << A.getDeterminant() * B.getDeterminant() << endl);
 
  114       DEBUG(
"A x A^-1 = I ? "                     << C.isIdentity(precision)                 << endl);
 
  116       if (!C.isIdentity(precision)) {
 
  117         ERROR(
"Matrix A x A^-1 /= I" << endl);
 
  120       JMatrix4D D = C - JMatrix4D::getIdentity();
 
  122       DEBUG(
"Matrix D = C - I" << endl);
 
  125       ASSERT(C.isIdentity(precision));
 
  127     catch (
const JException& error) {
 
  128       FATAL(error << endl);
 
  133   if (numberOfEvents > 0) {
 
  135     const double factor = 1.0; 
 
  137     t1.print(cout, factor, 
micro_t);
 
  138     t2.print(cout, factor, 
micro_t);
 
Utility class to parse command line options. 
 
#define ASSERT(A)
Assert macro. 
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object 
 
General purpose messaging. 
 
Utility class to parse command line options. 
 
#define DEBUG(A)
Message macros. 
 
int main(int argc, char *argv[])