50 std::vector<std::vector<double>>
matrix;
58 LinSys(
const std::vector<std::vector<double>> &mat);
65 void display(
const std::vector<std::vector<double>> &mat)
const;
88 std::pair<std::vector<std::vector<double>>,
89 std::vector<std::vector<double>>>
107 void solve_jacobi(
int maxIterations = 100,
double tolerance = 1e-10);
Class for solving linear systems and performing matrix operations.
std::vector< std::vector< double > > matrix
void display_mtx() const
Display the augmented matrix.
bool is_consistent() const
Check if the linear system is consistent.
double inf_norm() const
Calculate the infinity norm of the matrix.
double frobenius_norm() const
Calculate the Frobenius norm of the matrix.
bool diagonally_dominant() const
Check if the matrix is diagonally dominant.
void invert_mtx()
Invert the matrix.
void gram_schmidt()
Perform Gram-Schmidt orthogonalization on the matrix.
void solve_cholesky()
Solve the linear system using Cholesky decomposition.
void solve_jacobi(int maxIterations=100, double tolerance=1e-10)
Solve the linear system using Jacobi iteration.
double determinant() const
Calculate the determinant of the matrix.
void solve_lu()
Solve the linear system using LU decomposition.
LinSys(const std::vector< std::vector< double >> &mat)
Constructor for LinSys class.
std::pair< std::vector< std::vector< double > >, std::vector< std::vector< double > > > lu_decomp()
Perform LU decomposition of the matrix.
std::vector< double > solve_gauss()
Solve the linear system using Gaussian Elimination.
bool is_homogeneous() const
Check if the linear system is homogeneous.
bool is_symmetric() const
Check if the matrix is symmetric.
void display(const std::vector< std::vector< double >> &mat) const
double one_norm() const
Calculate the 1-norm of the matrix.
The source C++ openGPMP namespace.