#include "Matrix/MatrixSparse.hpp"
#include "Basic/AStringable.hpp"
#include "Matrix/MatrixFactory.hpp"
#include "Matrix/LinkMatrixSparse.hpp"
#include "Matrix/NF_Triplet.hpp"
#include "Basic/VectorHelper.hpp"
#include "Basic/AException.hpp"
#include "Basic/Utilities.hpp"
#include "Basic/Law.hpp"
#include "Basic/WarningMacro.hpp"
#include <Eigen/src/Core/Map.h>
#include <Eigen/src/Core/Matrix.h>
#include <iostream>
#include <Eigen/SparseCholesky>
#include <omp.h>
#include <csparse_f.h>
Functions | |
MatrixSparse * | prodNormMatMat (const MatrixSparse *a, const MatrixSparse *m, bool transpose) |
MatrixSparse * | prodNormMat (const MatrixSparse *a, const VectorDouble &vec, bool transpose) |
MatrixSparse * | prodNormDiagVec (const MatrixSparse *a, const VectorDouble &vec, int oper_choice) |
MatrixSparse * | createFromAnyMatrix (const AMatrix *matin, int opt_eigen) |
void | setUpdateNonZeroValue (int status) |
int | getUpdateNonZeroValue () |
void | setGlobalFlagEigen (bool flagEigen) |
Manage global flag for EIGEN. More... | |
bool | isGlobalFlagEigen () |
Eigen::SparseMatrix< double > | AtMA (const Eigen::SparseMatrix< double > &A, const Eigen::SparseMatrix< double > &M) |
Variables | |
DISABLE_WARNING_PUSH DISABLE_WARNING_COND_EXPR_CONSTANT DISABLE_WARNING_UNUSED_BUT_SET_VARIABLE static DISABLE_WARNING_POP bool | globalFlagEigen = true |
Eigen::SparseMatrix<double> AtMA | ( | const Eigen::SparseMatrix< double > & | A, |
const Eigen::SparseMatrix< double > & | M | ||
) |
MatrixSparse* createFromAnyMatrix | ( | const AMatrix * | mat, |
int | opt_eigen = -1 |
||
) |
Transform any matrix into a Sparse format
int getUpdateNonZeroValue | ( | ) |
bool isGlobalFlagEigen | ( | ) |
MatrixSparse* prodNormDiagVec | ( | const MatrixSparse * | a, |
const VectorDouble & | vec, | ||
int | oper_choice = 1 |
||
) |
Product 'Diag(vec)' %*% 'A' %*% 'Diag(vec)'
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'
MatrixSparse* prodNormMatMat | ( | const MatrixSparse * | a, |
const MatrixSparse * | m, | ||
bool | transpose = false |
||
) |
Product 't(A)' %*% 'M' %*% 'A' or 'A' %*% 'M' %*% 't(A)'
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.
flagEigen | True if EIGEN library must be used; False otherwise (cs is used) |
void setUpdateNonZeroValue | ( | int | status | ) |
|
static |
This variable switches ON/OFF the ability to use Eigen library for Algebra