1.3.1
CCC
 
MatrixSparse.cpp File Reference
#include "Matrix/MatrixSparse.hpp"
#include "Matrix/MatrixFactory.hpp"
#include "Matrix/LinkMatrixSparse.hpp"
#include "Matrix/NF_Triplet.hpp"
#include "LinearOp/Cholesky.hpp"
#include "Basic/VectorHelper.hpp"
#include "Basic/AException.hpp"
#include "Basic/Utilities.hpp"
#include "Basic/Law.hpp"
#include "Basic/WarningMacro.hpp"
#include <iostream>
#include <iomanip>
#include <Eigen/SparseCholesky>
#include <omp.h>
#include <csparse_f.h>

Functions

MatrixSparseprodNormMatMat (const MatrixSparse &a, const MatrixSparse &m, bool transpose)
 
MatrixSparseprodNormMat (const MatrixSparse &a, const VectorDouble &vec, bool transpose)
 
MatrixSparseprodNormDiagVec (const MatrixSparse &a, const VectorDouble &vec, int oper_choice)
 
MatrixSparsecreateFromAnyMatrix (const AMatrix *matin, int opt_eigen)
 
void setUpdateNonZeroValue (int status)
 
int getUpdateNonZeroValue ()
 
void setGlobalFlagEigen (bool flagEigen)
 Manage global flag for EIGEN. More...
 
bool isGlobalFlagEigen ()
 

Function Documentation

◆ createFromAnyMatrix()

MatrixSparse* createFromAnyMatrix ( const AMatrix mat,
int  opt_eigen = -1 
)

Transform any matrix into a Sparse format

◆ getUpdateNonZeroValue()

int getUpdateNonZeroValue ( )

◆ isGlobalFlagEigen()

bool isGlobalFlagEigen ( )

◆ prodNormDiagVec()

MatrixSparse* prodNormDiagVec ( const MatrixSparse a,
const VectorDouble vec,
int  oper_choice = 1 
)

Product 'Diag(vec)' %*% 'A' %*% 'Diag(vec)'

◆ prodNormMat()

MatrixSparse* prodNormMat ( const MatrixSparse a,
const VectorDouble vec = VectorDouble(),
bool  transpose = false 
)

Product 't(A)' %*% ['vec'] %*% 'A' or 'A' %*% ['vec'] %*% 't(A)' stored in 'this'

◆ prodNormMatMat()

MatrixSparse* prodNormMatMat ( const MatrixSparse a,
const MatrixSparse m,
bool  transpose = false 
)

Product 't(A)' %*% 'M' %*% 'A' or 'A' %*% 'M' %*% 't(A)'

◆ setGlobalFlagEigen()

void setGlobalFlagEigen ( bool  flagEigen)

Manage global flag for EIGEN.

Modify the parameter for using EIGEN library or not. Warning: this must be performed very early in the script in order to forbid mixing two different styles.

Parameters
flagEigenTrue if EIGEN library must be used; False otherwise (cs is used)

◆ setUpdateNonZeroValue()

void setUpdateNonZeroValue ( int  status)