Class matrix_invert_det_eigen_decomp (o2scl_linalg)

O2scl : Class List

template<class eigen_mat_t, class eigen_decomp_t>
class matrix_invert_det_eigen_decomp : public o2scl_linalg::matrix_invert_det<eigen_mat_t>

Eigen generic inverse and determinant using a user-specified decomposition.

AWS, 10/26/24: Currently, only Eigen’s PartialPivLU and FullPivLU methods are supported.

Public Functions

inline matrix_invert_det_eigen_decomp()
inline void decomp(eigen_mat_t &A)

Perform the decomposition.

inline virtual int invert_dest(size_t n, eigen_mat_t &A, eigen_mat_t &A_inv)

Invert matrix A, returning the inverse in A_inv.

inline virtual int invert(size_t n, const eigen_mat_t &A, eigen_mat_t &A_inv)

Invert matrix A, returning the inverse in A_inv.

inline virtual int invert_det(size_t n, const eigen_mat_t &A, eigen_mat_t &A_inv, double &A_det)

Invert matrix A, returning the inverse in A_inv, and the determinant in A_det.

inline virtual double det(size_t n, const eigen_mat_t &A)

Determine the determinant of the matrix A without inverting.

inline virtual int invert_inplace(size_t n, eigen_mat_t &A)

Inver matrix A in place.

Protected Attributes

eigen_mat_t *Aptr

Pointer to see if matrix changes.

std::shared_ptr<eigen_decomp_t> decomp_sp

The decomposition object.