48 std::vector<std::vector<double>>
matrix;
57 Eigen(
const std::vector<std::vector<double>> &mat);
65 double power_iter(
int max_iters = 100,
double tolerance = 1e-10)
const;
74 double tolerance = 1e-10)
const;
91 std::vector<double>
sensitivity(
double perturbation)
const;
111 void schur_decomp(std::vector<std::vector<double>> &schurMatrix,
112 double tolerance = 1e-10)
const;
130 std::vector<std::vector<double>>
148 double rayleigh_iter(
int maxIterations,
double tolerance)
const;
Class for computing eigenvalues of a matrix.
void schur_decomp(std::vector< std::vector< double >> &schurMatrix, double tolerance=1e-10) const
Computes the Schur decomposition of a matrix.
std::vector< double > qr_algorithm(int max_iters=100, double tolerance=1e-10) const
Calculate all eigenvalues of the matrix using the QR algorithm.
double power_iter(int max_iters=100, double tolerance=1e-10) const
Perform the power iteration method to find the dominant eigenvalue.
double rayleigh_iter(int maxIterations, double tolerance) const
Perform Rayleigh Quotient Iteration to approximate the dominant eigenvalue.
std::vector< double > sensitivity(double perturbation) const
Calculates the sensitivity of the eigenvalues of a matrix to small perturbations.
std::vector< std::vector< double > > jordan_normal_form(double tolerance=1e-10) const
Computes the Jordan normal form of a matrix.
std::vector< std::vector< double > > matrix
double determinant() const
Eigen(const std::vector< std::vector< double >> &mat)
Constructor for the Eigen class.
The source C++ openGPMP namespace.