This framework provides a comprehensive suite of tools for performing various linear algebra operations. It includes a Matrix class with functionalities to perform common operations, as well as implementations of various matrix algorithms.
-
Matrix Operations : Used operator overloading to provide a seamless and easy interface for matrix operations. Set up an expansive array of constructors, utilities, and configuration options.
-
Determinant Calculation : Used recursion to calculate the determinant of an NxN matrix.
-
Eigenvalues : Used the power iteration method, to find the most dominant eigenvalue of the matrix.
-
Inversion : Used iterative Gauss-Jordan Elimination to calculate the inverse of the matrix.
-
Systems of linear equations : Set up three methods for linear equation solving : namely Cholesky Decomposition, QR Decomposition, and Gauss-Jordan elimination.
-
Rank : Initialized a matrix stack, and then iteratively pushed sub-matrices, and then traversed it until we find a matrix with non-zero determinant, whose dimension we return.