Example program to test inversion of symmetric matrix.  
More...
#include <string>
#include <iostream>
#include <iomanip>
#include "TRandom3.h"
#include "TMatrixTSym.h"
#include "JLang/JException.hh"
#include "JMath/JMatrix4S.hh"
#include "JMath/JMathTestkit.hh"
#include "Jeep/JParser.hh"
#include "Jeep/JMessage.hh"
#include "Jeep/JTimer.hh"
 
Go to the source code of this file.
 | 
| int  | main (int argc, char **argv) | 
|   | 
Example program to test inversion of symmetric matrix. 
- Author
 - mdejong 
 
Definition in file JMatrix4S.cc.
 
      
        
          | int main  | 
          ( | 
          int  | 
          argc,  | 
        
        
           | 
           | 
          char **  | 
          argv  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Definition at line 23 of file JMatrix4S.cc.
   34     JParser<> zap(
"Example program to test inversion of symmetric matrix.");
 
   42   catch(
const exception &error) {
 
   43     FATAL(error.what() << endl);
 
   47   ASSERT(numberOfEvents > 0);
 
   54   for (
int i = 0; i != numberOfEvents; ++i) {
 
   56     if (i%100 == 0) { 
STATUS(setw(8) << i << 
'\r'); 
DEBUG(endl); }
 
   58     JMatrix4S 
A = getRandom<JMatrix4S>();
 
   60     TMatrixTSym<double> 
R(4);
 
   62     R(0,0) = A.a00;  
R(0,1) = A.a01;  
R(0,2) = A.a02;  
R(0,3) = A.a03;
 
   63     R(1,0) = A.a10;  
R(1,1) = A.a11;  
R(1,2) = A.a12;  
R(1,3) = A.a13;
 
   64     R(2,0) = A.a20;  
R(2,1) = A.a21;  
R(2,2) = A.a22;  
R(2,3) = A.a23;
 
   65     R(3,0) = A.a30;  
R(3,1) = A.a31;  
R(3,2) = A.a32;  
R(3,3) = A.a33;
 
   68     DEBUG(
"Matrix A" << endl);
 
   71     DEBUG(
"Determinant A " << A.getDeterminant() << endl);
 
   79       for (
int i = 11; i != 0; --i) {
 
   87       for (
int i = 11; i != 0; --i) {
 
   93       DEBUG(
"Matrix A^-1" << endl);
 
   96       DEBUG(
"Determinant A^-1 = " << B.getDeterminant() << endl);
 
  100       DEBUG(
"Matrix A x A^-1" << endl);
 
  103       DEBUG(
"Determinant (A x A^-1)           = " << 
C.getDeterminant()                      << endl);
 
  104       DEBUG(
"Determinant A x Determinant A^-1 = " << A.getDeterminant() * B.getDeterminant() << endl);
 
  105       DEBUG(
"A x A^-1 = I ? "                     << 
C.isIdentity(precision)                 << endl);
 
  107       if (!
C.isIdentity(precision)) {
 
  108         ERROR(
"Matrix A x A^-1 /= I" << endl);
 
  111       JMatrix4D 
D = 
C - JMatrix4D::getIdentity();
 
  113       DEBUG(
"Matrix D = C - I" << endl);
 
  116       ASSERT(
C.isIdentity(precision));
 
  118     catch (
const JException& error) {
 
  119       FATAL(error << endl);
 
  124   if (numberOfEvents > 0) {
 
  126     const double factor = 1.0; 
 
  128     t1.print(cout, factor, 
micro_t);
 
  129     t2.print(cout, factor, 
micro_t);
 
Utility class to parse command line options. 
 
do echo Generating $dir eval D
 
static const double C
Physics constants. 
 
#define ASSERT(A,...)
Assert macro. 
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object 
 
then echo Variable JPP_DIR undefined exit fi source $JPP_DIR setenv sh $JPP_DIR set_variable NORTH set_variable EAST set_variable SOUTH set_variable WEST set_variable WORKDIR tmp set_variable R set_variable CT set_variable YMAX set_variable YMIN if do_usage *then usage $script[distance] fi case set_variable R
 
then usage $script< input_file >< detector_file > fi set_variable OUTPUT_DIR set_variable SELECTOR JDAQTimesliceL1 set_variable DEBUG case set_variable DEBUG
 
source $JPP_DIR setenv csh $JPP_DIR eval JShellParser o a A