|
Janus 2.0.0
High-performance C++20 dual-mode numerical framework
|
Structural observability and identifiability analysis. More...
#include "Function.hpp"#include "JanusError.hpp"#include "Sparsity.hpp"#include <algorithm>#include <casadi/casadi.hpp>#include <numeric>#include <optional>#include <queue>#include <sstream>#include <string>#include <utility>#include <vector>

Go to the source code of this file.
Classes | |
| struct | janus::StructuralSensitivityOptions |
| Output-selection options shared by the structural diagnostics helpers. More... | |
| struct | janus::DiagnosticInputRef |
| One scalarized element of the selected input block. More... | |
| struct | janus::DiagnosticOutputRef |
| One scalarized row in the selected output stack. More... | |
| struct | janus::StructuralDeficiencyGroup |
| One structurally deficient connected component in the sensitivity graph. More... | |
| struct | janus::StructuralDiagnosticIssue |
| One user-facing structural diagnostic with an attached remediation hint. More... | |
| struct | janus::StructuralSensitivityReport |
| Structural rank analysis of selected outputs with respect to one input block. More... | |
| struct | janus::StructuralDiagnosticsOptions |
| Combined observability and identifiability analysis options. More... | |
| struct | janus::StructuralDiagnosticsReport |
| Combined structural diagnostics report. More... | |
| struct | janus::detail::BipartiteComponent |
Namespaces | |
| namespace | janus |
| namespace | janus::detail |
| Smooth approximation of ReLU function: softplus(x) = (1/beta) * log(1 + exp(beta * x)). | |
Enumerations | |
| enum class | janus::StructuralProperty { janus::Observability , janus::Identifiability } |
| Structural property being analyzed from a symbolic sensitivity pattern. More... | |
Functions | |
| std::vector< int > | janus::detail::sort_unique (std::vector< int > values) |
| std::vector< casadi_int > | janus::detail::to_casadi_int (const std::vector< int > &values) |
| std::string | janus::detail::join_labels (const std::vector< std::string > &labels) |
| std::string | janus::detail::property_name (StructuralProperty property) |
| std::string | janus::detail::property_subject_plural (StructuralProperty property) |
| std::string | janus::detail::property_subject_singular (StructuralProperty property) |
| std::string | janus::detail::property_fix_hint (StructuralProperty property) |
| std::string | janus::detail::input_label (const std::string &input_name, int local_index) |
| std::string | janus::detail::output_label (const std::string &output_name, int rows, int cols, int flat_index) |
| std::vector< int > | janus::detail::canonical_output_indices (const casadi::Function &cfn, const std::vector< int > &requested, const std::string &context) |
| void | janus::detail::validate_input_block (const casadi::Function &cfn, int input_idx, const std::string &context) |
| void | janus::detail::validate_output_blocks (const casadi::Function &cfn, const std::vector< int > &output_indices, const std::string &context) |
| casadi::MX | janus::detail::flatten_output (const casadi::MX &output) |
| std::vector< DiagnosticInputRef > | janus::detail::make_input_refs (const casadi::Function &cfn, int input_idx) |
| std::vector< DiagnosticOutputRef > | janus::detail::make_output_refs (const casadi::Function &cfn, const std::vector< int > &output_indices) |
| casadi::MX | janus::detail::collect_selected_outputs (const std::vector< casadi::MX > &outputs, const std::vector< int > &output_indices) |
| std::vector< BipartiteComponent > | janus::detail::connected_components (const casadi::Sparsity &sp) |
| int | janus::detail::structural_rank (const casadi::Sparsity &sp) |
| int | janus::detail::structural_rank_of_component (const casadi::Sparsity &sp, const BipartiteComponent &component) |
| std::vector< int > | janus::detail::zero_sensitivity_columns (const casadi::Sparsity &sp) |
| std::vector< std::string > | janus::detail::labels_for_inputs (const std::vector< DiagnosticInputRef > &inputs, const std::vector< int > &indices) |
| std::vector< std::string > | janus::detail::labels_for_outputs (const std::vector< DiagnosticOutputRef > &outputs, const std::vector< int > &rows) |
| std::vector< StructuralDiagnosticIssue > | janus::detail::build_issues (StructuralProperty property, const std::vector< DiagnosticInputRef > &inputs, const std::vector< DiagnosticOutputRef > &outputs, const std::vector< int > &zero_sensitivity_local_indices, const std::vector< StructuralDeficiencyGroup > &deficiency_groups) |
| StructuralSensitivityReport | janus::detail::analyze_property (const Function &fn, int input_idx, StructuralProperty property, const StructuralSensitivityOptions &opts) |
| StructuralSensitivityReport | janus::analyze_structural_observability (const Function &fn, int state_input_idx=0, const StructuralSensitivityOptions &opts={}) |
| Analyze which states are structurally observable from selected outputs. | |
| StructuralSensitivityReport | janus::analyze_structural_identifiability (const Function &fn, int parameter_input_idx, const StructuralSensitivityOptions &opts={}) |
| Analyze which parameters are structurally identifiable from selected outputs. | |
| StructuralDiagnosticsReport | janus::analyze_structural_diagnostics (const Function &fn, const StructuralDiagnosticsOptions &opts) |
| Run structural observability and identifiability checks together. | |
Structural observability and identifiability analysis.