HOLDER_PAC
 All Classes Functions Modules
perturbI.hpp
1 #ifndef PERTURBI_HPP
2 #define PERTURBI_HPP
3 
4 #include <iostream>
5 #include <Eigen/Dense>
6 
7 class perturbI{
8 
9  bool eqMatrixStored;
10  bool eqMatrixFactorized;
11  bool calculatedDet;
12 
13  Eigen::MatrixXd* topU;
14  Eigen::MatrixXd* topV;
15  Eigen::MatrixXd* bottU;
16  Eigen::MatrixXd* bottV;
17  Eigen::MatrixXd eqMatrix;
18  Eigen::MatrixXd U;
19  Eigen::MatrixXd VT;
20  Eigen::PartialPivLU<Eigen::MatrixXd> eqLU;
21 
22  double determinant_;
23  double logAbsDeterminant_;
24 
25 
26  void eqMatrixFactorize();
27  void calcDeterminant();
28 public:
29 
30  perturbI();
31  perturbI(Eigen::MatrixXd* topU_,Eigen::MatrixXd* topV_, Eigen::MatrixXd* bottU_, Eigen::MatrixXd* bottV_);
32  Eigen::MatrixXd solve(const Eigen::MatrixXd &RHS);
33  double determinant();
34  double logAbsDeterminant();
35 
36 
37 };
38 
39 #endif
Definition: perturbI.hpp:7