Linear Algebra Tools
-
void Muscat::GetInv_Jacobian_Det(MapMatrixDDD &valdphidxi, const Eigen::Ref<const MatrixDDD> &xcoor, int &Dimensionality, MatrixDDD &Jacobian, double &Jdet, Eigen::ColPivHouseholderQR<MatrixDDD> &Jinv)
-
void Muscat::GetNormal(const int &SpaceDim, const int &elementDim, MatrixDDD &Jacobian, MatrixD31 &Normal)
-
struct EigenSolvers
Public Types
-
typedef Eigen::ConjugateGradient<SpMatD, Upper | Lower> EigenSpCG
-
typedef Eigen::SparseLU<SpMatD> EigenSpLU
-
typedef Eigen::SparseQR<SpMatD, Eigen::COLAMDOrdering<int>> EigenSpQR
-
typedef Eigen::BiCGSTAB<SpMatDR> EigenSpBiCGSTAB
Public Functions
-
inline EigenSolvers()
-
inline void Clean()
-
inline void ForceNumberOfThreads(int n)
-
inline void SetSolverType(int i)
-
inline void SetOp(const CMuscatIndex &sizem, const CMuscatIndex &sizen, const CMuscatIndex &ev_size, CMuscatFloat *ev, CMuscatIndex *ei, CMuscatIndex *ej, const double &tolerance)
-
inline void Solve(CMuscatIndex size, CMuscatFloat *_rhs, CMuscatFloat *_sol)
-
inline CMuscatIndex GetSPQRRank()
-
inline CMuscatIndex GetSPQR_R_nonZeros()
-
inline void GetSPQR_R(CMuscatIndex *sizei, CMuscatIndex *sizej, CMuscatFloat *ev, CMuscatIndex *ei, CMuscatIndex *ej)
-
inline void GetSPQR_P(CMuscatIndex *p)
-
inline CMuscatIndex GetSPQR_Q_nonZeros()
-
inline void GetSPQR_Q(CMuscatIndex *sizei, CMuscatIndex *sizej, CMuscatFloat *ev, CMuscatIndex *ei, CMuscatIndex *ej)
-
typedef Eigen::ConjugateGradient<SpMatD, Upper | Lower> EigenSpCG
Numpy like operators
-
MatrixID1 Muscat::NonZero(const MatrixBD1 &input)