Class matrix_invert_cholesky_auto (o2scl_linalg)¶
-
class matrix_invert_cholesky_auto : public o2scl_linalg::matrix_invert_det<o2scl::tensor2<>, double>¶
Perform an inversion of a symmetric positive definite matrix, choosing the fastest method available depending on the size of the matrix.
Public Functions
-
inline matrix_invert_cholesky_auto()¶
-
inline virtual int invert(size_t n, const o2scl::tensor2<> &A, o2scl::tensor2<> &A_inv)¶
Invert matrix
A
, returning the inverse inA_inv
.
-
inline virtual int invert_det(size_t n, const o2scl::tensor2<> &A, o2scl::tensor2<> &A_inv, double &A_det)¶
Invert matrix
A
, returning the inverse inA_inv
, and the determinant inA_det
.
Public Members
-
size_t n_cuda_arma¶
The size over which to prefer Cuda over Armadillo.
-
size_t n_cuda_o2¶
The size over which to prefer Cuda over native inversion.
-
size_t n_arma_o2¶
The size over which to prefer Armadillo over native inversion.
-
int mode¶
-
int last_method¶
Last method used.
Public Static Attributes
-
static const size_t fast = 0¶
The inversion mode.
-
static const size_t force_o2 = 1¶
-
static const size_t force_arma = 2¶
-
static const size_t force_cuda = 3¶
Protected Attributes
-
matrix_invert_det_cholesky<o2scl::tensor2<>, double> o2¶
Native O2scl Cholesky decomposition (fastest only for tiny matrices)
-
inline matrix_invert_cholesky_auto()¶