# Centered matrices

Manifolds.CenteredMatricesType
CenteredMatrices{m,n,𝔽} <: AbstractEmbeddedManifold{𝔽,TransparentIsometricEmbedding}

The manifold of $m × n$ real-valued or complex-valued matrices whose columns sum to zero, i.e.

$$$\bigl\{ p ∈ 𝔽^{m × n}\ \big|\ [1 … 1] * p = [0 … 0] \bigr\},$$$

where $𝔽 ∈ \{ℝ,ℂ\}$.

Constructor

CenteredMatrices(m, n[, field=ℝ])

Generate the manifold of m-by-n (field-valued) matrices whose columns sum to zero.

source
ManifoldsBase.check_manifold_pointMethod
check_manifold_point(M::CenteredMatrices{m,n,𝔽}, p; kwargs...)

Check whether the matrix is a valid point on the CenteredMatrices M, i.e. is an m-by-n matrix whose columns sum to zero.

The tolerance for the column sums of p can be set using kwargs....

source
ManifoldsBase.check_tangent_vectorMethod
check_tangent_vector(M::CenteredMatrices{m,n,𝔽}, p, X; check_base_point = true, kwargs... )

Check whether X is a tangent vector to manifold point p on the CenteredMatrices M, i.e. that X is a matrix of size (m,n) whose columns sum to zero and its values are from the correct AbstractNumbers. The optional parameter check_base_point indicates, whether to call check_manifold_point for p. The tolerance for the column sums of p and X can be set using kwargs....

source
ManifoldsBase.projectMethod
project(M::CenteredMatrices, p, X)

Project the matrix X onto the tangent space at p on the CenteredMatrices M, i.e.

$$$\operatorname{proj}_p(X) = X - \begin{bmatrix} 1\\ ⋮\\ 1 \end{bmatrix} * [c_1 \dots c_n],$$$

where $c_i = \frac{1}{m}\sum_{j=1}^m x_{j,i}$ for $i = 1, \dots, n$.

source
ManifoldsBase.projectMethod
project(M::CenteredMatrices, p)

Projects p from the embedding onto the CenteredMatrices M, i.e.

$$$\operatorname{proj}_{\mathcal M}(p) = p - \begin{bmatrix} 1\\ ⋮\\ 1 \end{bmatrix} * [c_1 \dots c_n],$$$

where $c_i = \frac{1}{m}\sum_{j=1}^m p_{j,i}$ for $i = 1, \dots, n$.

source