Centered matrices
Manifolds.CenteredMatrices
โ TypeCenteredMatrices{m,n,๐ฝ} <: AbstractDecoratorManifold{๐ฝ}
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.
ManifoldsBase.Weingarten
โ MethodY = Weingarten(M::CenteredMatrices, p, X, V)
Weingarten!(M::CenteredMatrices, Y, p, X, V)
Compute the Weingarten map $\mathcal W_p$ at p
on the CenteredMatrices
M
with respect to the tangent vector $X \in T_p\mathcal M$ and the normal vector $V \in N_p\mathcal M$.
Since this a flat space by itself, the result is always the zero tangent vector.
ManifoldsBase.check_point
โ Methodcheck_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...
.
ManifoldsBase.check_vector
โ Methodcheck_vector(M::CenteredMatrices{m,n,๐ฝ}, p, X; 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 tolerance for the column sums of p
and X
can be set using kwargs...
.
ManifoldsBase.is_flat
โ Methodis_flat(::CenteredMatrices)
Return true. CenteredMatrices
is a flat manifold.
ManifoldsBase.manifold_dimension
โ Methodmanifold_dimension(M::CenteredMatrices{m,n,๐ฝ})
Return the manifold dimension of the CenteredMatrices
m
-by-n
matrix M
over the number system ๐ฝ
, i.e.
\[\dim(\mathcal M) = (m*n - n) \dim_โ ๐ฝ,\]
where $\dim_โ ๐ฝ$ is the real_dimension
of ๐ฝ
.
ManifoldsBase.project
โ Methodproject(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$.
ManifoldsBase.project
โ Methodproject(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$.