25 : std::runtime_error(message) {}
Thrown when power iteration fails to converge within max_iterations.
Definition eigen.hpp:19
ConvergenceError(const std::string &message)
Definition eigen.hpp:24
Dense row-major matrix stored in a flat buffer.
Definition matrix.hpp:136
One-dimensional array of doubles with element-wise arithmetic.
Definition matrix.hpp:34
Dense row-major vectors and matrices.
Analytic Network Process computational library.
Definition eigen.hpp:14
Vector principal_eigenvector(const Matrix &mat, const EigenOptions &options={})
Returns the principal eigenvector only.
EigenResult principal_eigen(const Matrix &mat, const EigenOptions &options={})
Power iteration with sum-normalization (pyanp pri_eigen compatible).
Matrix harker_fix(const Matrix &mat)
Applies Harker's fix for incomplete pairwise matrices.
double principal_eigenvalue(const Matrix &mat, const EigenOptions &options={})
Returns the principal eigenvalue only.
Options controlling principal eigen computation.
Definition eigen.hpp:42
double error
Stop when max-norm change between iterates is <= error.
Definition eigen.hpp:44
bool use_harker
Apply harker_fix before iteration when true.
Definition eigen.hpp:46
std::size_t max_iterations
Maximum power-iteration steps (pyanp has no cap).
Definition eigen.hpp:48
Result of principal_eigen.
Definition eigen.hpp:54
bool converged
False if max_iterations reached before convergence.
Definition eigen.hpp:62
Vector vector
Priority vector (components sum to 1).
Definition eigen.hpp:56
std::size_t iterations
Number of iterations performed.
Definition eigen.hpp:60
double value
Dominant eigenvalue estimate.
Definition eigen.hpp:58