42 #ifndef EIGEN_USE_NEW_STDVECTOR    43 #define EIGEN_USE_NEW_STDVECTOR    44 #endif // EIGEN_USE_NEW_STDVECTOR    49 #include <Eigen/Geometry>    51 #include <Eigen/StdVector>    55 #include "suitesparse/cs.h"    62 #include "suitesparse/cholmod.h"    67 #include "SparseLib/compcol_double.h"     68 #include "SparseLib/mvblasd.h"      69 #include "SparseLib/icpre_double.h"     70 #include "SparseLib/cg.h"           76 using namespace Eigen;
    84     EIGEN_MAKE_ALIGNED_OPERATOR_NEW 
    93     vector< Matrix<double,6,6>, aligned_allocator<Matrix<double,6,6> > > 
diag;
    95     vector< map<int,Matrix<double,6,6>, less<int>, 
    96                 aligned_allocator<Matrix<double,6,6> > > > 
cols;
    98     void setupBlockStructure(
int n); 
   103     void incDiagBlocks(
double lam);
   104     void addOffdiagBlock(Matrix<double,6,6> &m, 
int ii, 
int jj);
   108     void setupCSstructure(
double diaginc, 
bool init=
false); 
   111     void uncompress(MatrixXd &m);
   131     int doBPCG(
int iters, 
double tol, 
int sba_iter);
   140     cholmod_common Common;
   149     EIGEN_MAKE_ALIGNED_OPERATOR_NEW 
   158     vector< Matrix<double,3,3>, aligned_allocator<Matrix<double,3,3> > > 
diag;
   160     vector< map<int,Matrix<double,3,3>, less<int>, 
   161                 aligned_allocator<Matrix<double,3,3> > > > 
cols;
   163     void setupBlockStructure(
int n, 
bool eraseit = 
true); 
   168     void addOffdiagBlock(Matrix<double,3,3> &m, 
int ii, 
int jj);
   169     void incDiagBlocks(
double lam);
   173     void setupCSstructure(
double diaginc, 
bool init=
false); 
   176     void uncompress(MatrixXd &m);
   196     int doPCG(
int iters);
   200     int doBPCG(
int iters, 
double tol, 
int sba_iter);
   209     cholmod_common Common;
 vector< Matrix< double, 6, 6 >, aligned_allocator< Matrix< double, 6, 6 > > > diag
void addDiagBlock(Matrix< double, 3, 3 > &m, int n)
void init(const M_string &remappings)
vector< Matrix< double, 3, 3 >, aligned_allocator< Matrix< double, 3, 3 > > > diag
vector< map< int, Matrix< double, 3, 3 >, less< int >, aligned_allocator< Matrix< double, 3, 3 > > > > cols
vector< map< int, Matrix< double, 6, 6 >, less< int >, aligned_allocator< Matrix< double, 6, 6 > > > > cols
void addDiagBlock(Matrix< double, 6, 6 > &m, int n)