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_manifold_point — Methodcheck_manifold_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_tangent_vector — Methodcheck_tangent_vector(M::Oblique p, X; check_base_point = true, 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. The optional parameter check_base_point indicates, whether to call check_manifold_point for p.