Multinomial matrices
Manifolds.MultinomialMatrices
— TypeMultinomialMatrices{n,m} <: AbstractPowerManifold{ℝ}
The multinomial manifold consists of m
column vectors, where each column is of length n
and unit norm, i.e.
\[\mathcal{MN}(n,m) \coloneqq \bigl\{ p ∈ ℝ^{n×m}\ \big|\ p_{i,j} > 0 \text{ for all } i=1,…,n, j=1,…,m \text{ and } p^{\mathrm{T}}\mathbb{1}_m = \mathbb{1}_n\bigr\},\]
where $\mathbb{1}_k$ is the vector of length $k$ containing ones.
This yields exactly the same metric as considering the product metric of the probablity vectors, i.e. PowerManifold
of the $(n-1)$-dimensional ProbabilitySimplex
.
The ProbabilitySimplex
is stored internally within M.manifold
, such that all functions of AbstractPowerManifold
can be used directly.
Constructor
MultinomialMatrices(n, m)
Generate the manifold of matrices $\mathbb R^{n×m}$ such that the $m$ columns are discrete probability distributions, i.e. sum up to one.
Functions
Most functions are directly implemented for an AbstractPowerManifold
with ArrayPowerRepresentation
except the following special cases:
ManifoldsBase.check_point
— Methodcheck_point(M::MultinomialMatrices, p)
Checks whether p
is a valid point on the MultinomialMatrices
(m,n)
M
, i.e. is a matrix of m
discrete probability distributions as columns from $\mathbb R^{n}$, i.e. each column is a point from ProbabilitySimplex
(n-1)
.
ManifoldsBase.check_vector
— Methodcheck_vector(M::MultinomialMatrices p, X; kwargs...)
Checks whether X
is a valid tangent vector to p
on the MultinomialMatrices
M
. This means, that p
is valid, that X
is of correct dimension and columnswise a tangent vector to the columns of p
on the ProbabilitySimplex
.