Class matrix_invert_det_eigen (o2scl_linalg)

O2scl : Class List

template<class eigen_mat_t = Eigen::MatrixXd>
class matrix_invert_det_eigen : public o2scl_linalg::matrix_invert_det<Eigen::MatrixXd>

Eigen generic inverse and determinant.

AWS, 7/21/24: I believe this uses Eigen’s PartialPivLU method except for smaller matrices where it uses faster explicit calculations.

Public Functions

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.