![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Joint moment conversions on the house of moments. More...
#include <algorithm>#include <vector>#include "line/api/moment/moment_housematrix.h"#include "line/api/moment/moment_tensor.h"#include "line/num/number.h"#include "line/util/error.h"#include "line/util/matrix.h"#include "line/util/population.h"Go to the source code of this file.
Namespaces | |
| namespace | line |
| namespace | line::moment |
Functions | |
| template<class T> | |
| MomentTensor< T > | line::moment::moment_joint_binomial_from_factorial (const MomentTensor< T > &f) |
| Joint binomial moments from joint factorial moments. | |
| template<class T> | |
| MomentTensor< T > | line::moment::moment_joint_binomial_from_negbinomial (const MomentTensor< T > &bm) |
| Joint binomial moments from joint negative-binomial moments. | |
| template<class T> | |
| MomentTensor< T > | line::moment::moment_joint_binomial_from_tail (const MomentTensor< T > &t) |
| Joint binomial moments from joint tail moments. | |
| template<class T> | |
| MomentTensor< T > | line::moment::moment_joint_factorial_from_binomial (const MomentTensor< T > &b) |
| Joint factorial moments from joint binomial moments. | |
| template<class T> | |
| MomentTensor< T > | line::moment::moment_joint_factorial_from_raw (const MomentTensor< T > &m) |
| Joint factorial moments from joint raw moments. | |
| template<class T> | |
| MomentTensor< T > | line::moment::moment_joint_factorial_from_upfactorial (const MomentTensor< T > &fp) |
| Joint factorial moments from joint upper-factorial moments. | |
| template<class T> | |
| MomentTensor< T > | line::moment::moment_joint_negbinomial_from_binomial (const MomentTensor< T > &b) |
| Joint negative-binomial moments from joint binomial moments. | |
| template<class T> | |
| MomentTensor< T > | line::moment::moment_joint_negbinomial_from_upfactorial (const MomentTensor< T > &fp) |
| Joint negative-binomial moments from joint upper-factorial moments. | |
| template<class T> | |
| MomentTensor< T > | line::moment::moment_joint_raw_from_factorial (const MomentTensor< T > &f) |
| Joint raw moments from joint factorial moments. | |
| template<class T> | |
| MomentTensor< T > | line::moment::moment_joint_raw_from_upfactorial (const MomentTensor< T > &fp) |
| Joint raw moments from joint upper-factorial moments. | |
| template<class T> | |
| MomentTensor< T > | line::moment::moment_joint_tail_from_binomial (const MomentTensor< T > &b) |
| Joint tail moments from joint binomial moments. | |
| template<class T> | |
| MomentTensor< T > | line::moment::moment_joint_upfactorial_from_factorial (const MomentTensor< T > &f) |
| Joint upper-factorial moments from joint factorial moments. | |
| template<class T> | |
| MomentTensor< T > | line::moment::moment_joint_upfactorial_from_negbinomial (const MomentTensor< T > &bm) |
| Joint upper-factorial moments from joint negative-binomial moments. | |
| template<class T> | |
| MomentTensor< T > | line::moment::moment_joint_upfactorial_from_raw (const MomentTensor< T > &m) |
| Joint upper-factorial moments from joint raw moments. | |
| template<class T> | |
| MomentTensor< T > | line::moment::moment_joint_cumulant_from_raw (const MomentTensor< T > &m) |
| Joint cumulants from joint raw moments. | |
| template<class T> | |
| MomentTensor< T > | line::moment::moment_joint_raw_from_cumulant (const MomentTensor< T > &kappa) |
| Joint raw moments from joint cumulants. | |
| template<class T> | |
| MomentTensor< T > | line::moment::moment_joint_factcumulant_from_factorial (const MomentTensor< T > &f) |
| Joint factorial cumulants from joint factorial moments. | |
| template<class T> | |
| MomentTensor< T > | line::moment::moment_joint_factorial_from_factcumulant (const MomentTensor< T > &kappa) |
| Joint factorial moments from joint factorial cumulants. | |
| template<class T> | |
| MomentTensor< T > | line::moment::moment_joint_central_from_raw_mean (const MomentTensor< T > &m, const std::vector< T > &mu) |
| Joint central moments from joint raw moments about a given mean vector. | |
| template<class T> | |
| MomentTensor< T > | line::moment::moment_joint_central_from_raw (const MomentTensor< T > &m) |
| Joint central moments from joint raw moments, reading the means off m. | |
| template<class T> | |
| MomentTensor< T > | line::moment::moment_joint_raw_from_central (const MomentTensor< T > &mc, const std::vector< T > &mu) |
| Joint raw moments from joint central moments about a given mean vector. | |
| template<class T> | |
| MomentTensor< T > | line::moment::moment_joint_central_from_tail (const MomentTensor< T > &t) |
| Joint central moments from joint tail moments. | |
| template<class T> | |
| std::vector< T > | line::moment::moment_joint_aggregate (const MomentTensor< T > &F) |
| Factorial moments of a total count from the joint factorial moments of its parts. | |
| template<class T> | |
| MomentTensor< T > | line::moment::moment_joint_marking (const std::vector< T > &f, const std::vector< T > &p, const std::vector< std::size_t > &dims) |
| Joint factorial moments of a multinomially marked count from the aggregate ones. | |
Joint moment conversions on the house of moments.
Templated port of the matlab/src/api/moment/moment_joint_*.m family. Every edge except the cumulant and the central ones is SEPARABLE: the joint table is the Kronecker product of the univariate tables, so the conversion is one mode product per dimension. The cumulant edges are not separable and carry their own multivariate recurrence, and the central edges are separable only once the mean vector is fixed.
The joint cumulant recurrence picks j as the FIRST dimension with a positive order and differentiates in that variable. Any other choice gives the same answer, but not the same summation, so a port that picks the last dimension will disagree in floating point even when it is algebraically right.
Reference: A. Heindl and A. van de Liefvoort. Moment conversions for discrete distributions. PMCCS, 2003.
Definition in file moment_joint.h.