Multinomial matrices

Manifolds.MultinomialMatricesType
MultinomialMatrices{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.

source

Functions

Most functions are directly implemented for an AbstractPowerManifold with ArrayPowerRepresentation except the following special cases:

ManifoldsBase.check_tangent_vectorMethod
check_tangent_vector(M::MultinomialMatrices p, X; check_base_point = true, 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. The optional parameter check_base_point indicates, whether to call check_manifold_point for p.

source