|
anpcpp 0.4.0
Analytic Network Process computational library
|
ANP row sensitivity and influence (ported from pyanp.rowsens). More...
#include <cstddef>#include <map>#include <optional>#include <string>#include <vector>#include "anpcpp/limit_matrix.hpp"#include "anpcpp/matrix.hpp"Go to the source code of this file.
Classes | |
| struct | anpcpp::P0Mode |
| (p_0) selection for row_adjust. More... | |
| struct | anpcpp::InfluenceRawEntry |
| One alternative's raw (fixed-distance) influence result. More... | |
| struct | anpcpp::InfluenceRankEntry |
| Rank-influence result for one row (or one alternative under a fixed Wrt). More... | |
| struct | anpcpp::InfluenceMarginalEntry |
| Smart-(p_0) marginal influence for one row or alternative. More... | |
| struct | anpcpp::InfluenceTotalEntry |
| Fixed-distance total influence for one row (pyanp influence_fixed Total). More... | |
Namespaces | |
| namespace | anpcpp |
| Analytic Network Process computational library. | |
Enumerations | |
| enum class | anpcpp::P0ModeKind { anpcpp::Direct , anpcpp::Smart , anpcpp::OriginalWeight } |
| How resting parameter (p_0) is chosen for row sensitivity. More... | |
Functions | |
| Matrix | anpcpp::row_adjust (const Matrix &mat, std::size_t row, double p, const P0Mode &p0mode=P0Mode::Direct(0.5), const std::vector< std::size_t > &cluster_nodes={}) |
Adjusts row row of scaled supermatrix mat to parameter p. | |
| double | anpcpp::smart_p0 (const Matrix &mat, std::size_t row, std::size_t cont_alt, const std::vector< std::size_t > &cluster_nodes={}, const LimitMatrixOptions &options={}) |
Smart resting (p_0) making score of cont_alt continuous at (p_0). | |
| Vector | anpcpp::priority_after_row_adjust (const Matrix &mat, std::size_t row, double p, const P0Mode &p0mode=P0Mode::Direct(0.5), const std::vector< std::size_t > &cluster_nodes={}, const LimitMatrixOptions &options={}, bool normalize_to_orig=true) |
| Priorities after row adjust (pyanp row_adjust_priority, normalize_to_orig). | |
| Vector | anpcpp::influence_marginal (const Matrix &mat, std::size_t row, double p0, int left_or_right=0, double delta=1e-6, const std::vector< std::size_t > &influence_nodes={}, const std::vector< std::size_t > &cluster_nodes={}, const LimitMatrixOptions &options={}) |
| Marginal influence (finite difference) at a direct (p_0). | |
| std::vector< InfluenceMarginalEntry > | anpcpp::influence_marginal_smart (const Matrix &mat, std::size_t row, const std::vector< std::size_t > &influence_nodes, const std::vector< std::string > &names, const std::vector< std::size_t > &cluster_nodes={}, double delta=1e-6, const LimitMatrixOptions &options={}) |
| Per-alternative smart-(p_0) marginal influence (single value each). | |
| std::vector< InfluenceRawEntry > | anpcpp::influence_raw (const Matrix &mat, std::size_t row, const std::vector< std::size_t > &influence_nodes, const std::vector< std::string > &names, double delta_up=0.1, double delta_down=0.1, double p0=0.5, const std::vector< std::size_t > &cluster_nodes={}, const LimitMatrixOptions &options={}) |
| Raw fixed-distance influence table (original / up / down scores). | |
| std::vector< InfluenceRankEntry > | anpcpp::influence_rank (const Matrix &mat, std::size_t row, const std::vector< std::size_t > &influence_nodes, const std::vector< std::string > &names, const std::vector< std::size_t > &cluster_nodes={}, double error=1e-5, int round_to_decimal=5, const LimitMatrixOptions &options={}) |
| Rank influence score per alternative (max of upper/lower searches). | |
| InfluenceTotalEntry | anpcpp::influence_total_row (const Matrix &mat, std::size_t row, const std::vector< std::size_t > &influence_nodes, double delta=0.25, double p0=0.5, const std::vector< std::size_t > &cluster_nodes={}, const LimitMatrixOptions &options={}) |
| Fixed-distance total influence for one row (L1 and max of abs diffs). | |
| std::vector< InfluenceTotalEntry > | anpcpp::influence_total (const Matrix &mat, const std::vector< std::size_t > &rows, const std::vector< std::string > &row_names, const std::vector< std::size_t > &influence_nodes, double delta=0.25, double p0=0.5, const std::vector< std::size_t > &cluster_nodes={}, const LimitMatrixOptions &options={}) |
Per-row total influence (pyanp multi-row influence_fixed Totals). | |
| Vector | anpcpp::perspective (const Matrix &mat, std::size_t row, const P0Mode &p0mode=P0Mode::Direct(0.5), const std::vector< std::size_t > &cluster_nodes={}, const LimitMatrixOptions &options={}, bool normalize_to_orig=true) |
| Perspective of one row: limit as p approaches 1 of row sensitivity. | |
| Matrix | anpcpp::perspective_matrix (const Matrix &mat, const std::vector< std::size_t > &rows={}, const P0Mode &p0mode=P0Mode::Direct(0.5), const std::vector< std::size_t > &cluster_nodes={}, const LimitMatrixOptions &options={}, bool normalize_to_orig=true) |
Perspective matrix: column j is perspective for rows[j]. | |
ANP row sensitivity and influence (ported from pyanp.rowsens).