#include "Math/SMatrix.h"
#include "TMatrixTSym.h"
#include "TDecompChol.h"
#include "TDecompBK.h"
#include "TRandom.h"
#include <vector>
#include <string>
#include <iostream>
#include <cmath>
#include <limits>
#include "TStopwatch.h"
Go to the source code of this file.
Namespaces | |
namespace | test |
Classes | |
class | test::Timer |
struct | Choleski |
struct | BK |
struct | QR |
struct | Cramer |
struct | Default |
struct | TestInverter< M, Type > |
struct | TestInverter< SymMatrix, Choleski > |
struct | TestInverter< SymMatrix, BK > |
struct | TestInverter< SymMatrix, Cramer > |
struct | TestInverter< TMatrixDSym, Default > |
struct | TestInverter< TMatrixDSym, Cramer > |
struct | TestInverter< TMatrixDSym, Choleski > |
struct | TestInverter< TMatrixDSym, BK > |
Defines | |
#define | N 5 |
Typedefs | |
typedef SMatrix< double, N, N, MatRepSym< double, N > > | SymMatrix |
Functions | |
void | test::printTime (TStopwatch &time, std::string s) |
template<class M> | |
M * | createMatrix () |
template<> | |
TMatrixTSym< double > * | createMatrix< TMatrixTSym< double > > () |
template<class M> | |
void | printMatrix (const M &m) |
template<> | |
void | printMatrix< TMatrixTSym< double > > (const TMatrixTSym< double > &m) |
template<class M> | |
void | genMatrix (M &m) |
template<class M> | |
void | generate (std::vector< M * > &v) |
template<class M, class T> | |
double | invert (const std::vector< M * > &matlist, double &time, std::string s) |
template<class M, class T> | |
double | invert2 (const std::vector< M * > &matlist, double &time, std::string s) |
bool | equal (double d1, double d2, double stol=10000) |
bool | stressSymPosInversion (int n, bool selftest) |
int | testInversion (int n=100000) |
int | main () |
Variables | |
bool | doSelfTest = true |
#define N 5 |
Definition at line 18 of file testInversion.cxx.
Definition at line 78 of file testInversion.cxx.
M* createMatrix | ( | ) |
Definition at line 82 of file testInversion.cxx.
TMatrixTSym<double>* createMatrix< TMatrixTSym< double > > | ( | ) |
Definition at line 289 of file testInversion.cxx.
References RootCsg::epsilon, and max.
Referenced by checkPermute(), TMVA::RuleEnsemble::RemoveSimilarRules(), TMVA::Rule::RuleDist(), stressSymPosInversion(), testSort(), and TFriendElement::TFriendElement().
void generate | ( | std::vector< M * > & | v | ) |
Definition at line 121 of file testInversion.cxx.
References genMatrix(), gRandom, i, n, and TRandom::SetSeed().
void genMatrix | ( | M & | m | ) |
Definition at line 103 of file testInversion.cxx.
References gRandom, i, j, m, N, and sqrt().
Referenced by generate().
double invert | ( | const std::vector< M * > & | matlist, | |
double & | time, | |||
std::string | s | |||
) |
Definition at line 241 of file testInversion.cxx.
References TestInverter< M, Type >::Inv(), l, m, nloop, ok, result(), and t.
double invert2 | ( | const std::vector< M * > & | matlist, | |
double & | time, | |||
std::string | s | |||
) |
Definition at line 263 of file testInversion.cxx.
References TestInverter< M, Type >::Inv2(), l, m, nloop, ok, and t.
int main | ( | void | ) |
void printMatrix | ( | const M & | m | ) |
Definition at line 93 of file testInversion.cxx.
void printMatrix< TMatrixTSym< double > > | ( | const TMatrixTSym< double > & | m | ) |
bool stressSymPosInversion | ( | int | n, | |
bool | selftest | |||
) |
Definition at line 301 of file testInversion.cxx.
References equal(), generate(), ok, s1, s2, and v1.
Referenced by testInversion().
int testInversion | ( | int | n = 100000 |
) |
Definition at line 367 of file testInversion.cxx.
References doSelfTest, n, ok, and stressSymPosInversion().
Referenced by main().
bool doSelfTest = true |