LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
line::mva::MvaSolution< T > Struct Template Reference

Class-level results, the [Q,U,R,T,C,X] of the MATLAB analyzers. More...

#include <line/solvers/mva/mva_types.h>

Collaboration diagram for line::mva::MvaSolution< T >:

Public Attributes

Matrix< T > Q
Matrix< T > U
Matrix< T > R
Matrix< T > Tp
std::vector< T > C
std::vector< T > X
std::string method
int iter = 0
std::optional< bool > converged
 Whether the fixed point met its tolerance, or empty when the handler reports none.
double lG = 0.0
 log of the normalizing constant, the reference's lG.

Detailed Description

template<class T>
struct line::mva::MvaSolution< T >

Class-level results, the [Q,U,R,T,C,X] of the MATLAB analyzers.

Definition at line 96 of file mva_types.h.

Member Data Documentation

◆ C

◆ converged

template<class T>
std::optional<bool> line::mva::MvaSolution< T >::converged

Whether the fixed point met its tolerance, or empty when the handler reports none.

NOT iter < iter_max: solver_amva increments totiter inside the nested per-chain and inner loops, so it aggregates inner sweeps and can reach the cap on a solve whose outer residual is exactly zero. Only the residual decides there, which is why the flag has to travel with the solution instead of being recomputed by a caller from the count.

Definition at line 109 of file mva_types.h.

Referenced by line::mva::solver_mva_run_analyzer().

◆ iter

◆ lG

template<class T>
double line::mva::MvaSolution< T >::lG = 0.0

log of the normalizing constant, the reference's lG.

Only the exact MVA recursion carries one: an AMVA result has no G, and the reference returns 0 there rather than a fabricated value, which is why getProbNormConstAggr re-enters the analyzer at method='exact' instead of reusing whatever the last solve produced.

Definition at line 118 of file mva_types.h.

Referenced by line::mam::solver_mam_basic_mmap_inner(), line::mam::solver_mam_decmmap(), line::mva::solver_mapqn(), line::mam::solver_mna_closed(), line::mam::solver_mna_open(), line::mva::solver_mva(), line::mva::solver_mva_lcfsqn(), line::mva::solver_mva_oi_analyzer(), line::mva::solver_mva_polling_analyzer(), line::mva::solver_mvac_analyzer(), line::nc::solver_nc_run_analyzer(), line::mva::solver_qna(), and line::mva::solver_sqd().

◆ method

◆ Q

template<class T>
Matrix<T> line::mva::MvaSolution< T >::Q

◆ R

template<class T>
Matrix<T> line::mva::MvaSolution< T >::R

◆ Tp

template<class T>
Matrix<T> line::mva::MvaSolution< T >::Tp

◆ U

template<class T>
Matrix<T> line::mva::MvaSolution< T >::U

◆ X


The documentation for this struct was generated from the following file: