anpcpp 0.1.0
Analytic Network Process computational library
Loading...
Searching...
No Matches
inconsistency.hpp
Go to the documentation of this file.
1
6#pragma once
7
8#include <cstddef>
9
10#include "anpcpp/eigen.hpp"
11#include "anpcpp/matrix.hpp"
12
13namespace anpcpp {
14
21[[nodiscard]] double random_index(std::size_t n);
22
27[[nodiscard]] double consistency_index(double lambda_max, std::size_t n);
28
33[[nodiscard]] double consistency_ratio(double lambda_max, std::size_t n);
34
44
49 double lambda_max = 0.0;
50 double consistency_index = 0.0;
51 double consistency_ratio = 0.0;
52 double random_index = 0.0;
55 std::size_t iterations = 0;
56 bool converged = false;
57};
58
64[[nodiscard]] ConsistencyResult consistency(const Matrix& mat,
65 ConsistencyOptions options = {});
66
72[[nodiscard]] double consistency_index(const Matrix& mat,
73 ConsistencyOptions options = {});
74
80[[nodiscard]] double consistency_ratio(const Matrix& mat,
81 ConsistencyOptions options = {});
82
83} // namespace anpcpp
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
Principal eigenvector computation for pairwise matrices.
Dense row-major vectors and matrices.
Analytic Network Process computational library.
Definition eigen.hpp:14
double random_index(std::size_t n)
Saaty random index (RI) for matrix order n.
double consistency_index(double lambda_max, std::size_t n)
Consistency index CI = (lambda_max - n) / (n - 1).
double consistency_ratio(double lambda_max, std::size_t n)
Consistency ratio CR = CI / RI.
ConsistencyResult consistency(const Matrix &mat, ConsistencyOptions options={})
Computes Saaty CI and CR for a pairwise comparison matrix.
Options for consistency.
Definition inconsistency.hpp:38
EigenOptions eigen
Eigen iteration options.
Definition inconsistency.hpp:40
bool use_harker
Apply Harker fix before eigen (pyanp incon_std default).
Definition inconsistency.hpp:42
Full consistency analysis result.
Definition inconsistency.hpp:48
Vector priority
Normalized priority vector.
Definition inconsistency.hpp:54
Options controlling principal eigen computation.
Definition eigen.hpp:42