Oblique manifold
The oblique manifold $\mathcal{OB}(n,m)$ is modeled as an AbstractPowerManifold
of the (real-valued) Sphere
and uses ArrayPowerRepresentation
. Points on the torus are hence matrices, $x โ โ^{n,m}$.
Manifolds.Oblique
โ TypeOblique{N,M,๐ฝ} <: AbstractPowerManifold{๐ฝ}
The oblique manifold $\mathcal{OB}(n,m)$ is the set of ๐ฝ-valued matrices with unit norm column endowed with the metric from the embedding. This yields exactly the same metric as considering the product metric of the unit norm vectors, i.e. PowerManifold
of the $(n-1)$-dimensional Sphere
.
The Sphere
is stored internally within M.manifold
, such that all functions of AbstractPowerManifold
can be used directly.
Constructor
Oblique(n,m)
Generate the manifold of matrices $\mathbb R^{n ร m}$ such that the $m$ columns are unit vectors, i.e. from the Sphere
(n-1)
.
Functions
Most functions are directly implemented for an AbstractPowerManifold
with ArrayPowerRepresentation
except the following special cases:
ManifoldsBase.check_point
โ Methodcheck_point(M::Oblique{n,m},p)
Checks whether p
is a valid point on the Oblique
{m,n}
M
, i.e. is a matrix of m
unit columns from $\mathbb R^{n}$, i.e. each column is a point from Sphere
(n-1)
.
ManifoldsBase.check_vector
โ Methodcheck_vector(M::Oblique p, X; kwargs...)
Checks whether X
is a valid tangent vector to p
on the Oblique
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 Sphere
.
ManifoldsBase.parallel_transport_to
โ Methodparallel_transport_to(M::Oblique, p, X, q)
Compute the parallel transport on the Oblique
manifold by doing a column wise parallel transport on the Sphere