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 โ€” Type
Oblique{T,๐”ฝ,S} <: 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.


Oblique(n::Int, m::Int, field::AbstractNumbers=โ„; parameter::Symbol=:type)

Generate the manifold of matrices $\mathbb R^{nร—m}$ such that the $m$ columns are unit vectors, i.e. from the Sphere(n-1).



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

ManifoldsBase.check_point โ€” Method
check_point(M::Oblique, 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 โ€” Method
check_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.