norm(M::AbstractManifold, A::AbstractAtlas, i, a, Xc)Calculate norm on manifold M at point with parameters a in chart i of an AbstractAtlas A of vector with coefficients Xc in induced basis.
sectional_curvature_matrix(M::AbstractManifold, p, B::AbstractBasis)Compute the matrix of sectional curvatures of manifold M at point p.
sectional_curvature(M::CenteredMatrices, p, X, Y)Sectional curvature of CenteredMatrices M is 0.
exp(M::CholeskySpace, p, X)Compute the exponential map on the CholeskySpace M emanating from the lower triangular matrix with positive diagonal p towards the lower triangular matrix X The formula reads
sectional_curvature(M::CholeskySpace, p, X, Y)Return the sectional curvature 0 of the CholeskySpace M, which is flat.
zero_vector(M::CholeskySpace, p)Return the zero tangent vector on the CholeskySpace M at p.
exp(M::Circle, p, X)Compute the exponential map on the Circle.
sectional_curvature(M::Circle, p, X, Y)Return the sectional curvature 0 of the Circle M, which is flat.
zero_vector(M::Elliptope,p)returns the zero tangent vector in the tangent space of the symmetric positive definite matrix p on the Elliptope manifold M.
exp(M::EssentialManifold, p, X)Compute the exponential map on the EssentialManifold from p into direction X, i.e.
get_basis(M::EssentialManifold, p, ::DefaultOrthonormalBasis)Return the five orthonormal basis vectors of the horizontal space at p that get_coordinates on the EssentialManifold uses.
exp(M::Euclidean, p, X)Compute the exponential map on the Euclidean manifold M from p in direction X, which in this case is just
norm(M::Euclidean, p, X, r::Real=2)Compute the norm of a tangent vector X at p on the Euclidean M, i.e. since every tangent space can be identified with M itself in this case, just the (Frobenius) norm of X.
sectional_curvature(::Euclidean, p, X, Y)Sectional curvature of Euclidean manifold M is 0.
zero_vector(M::Euclidean, p)Return the zero vector in the tangent space of p on the Euclidean M, which here is just a zero filled array the same size as p.
zero_vector(B::FiberBundle, p)Zero tangent vector at point p from the fiber bundle B over manifold B.manifold (denoted ).
zero_vector(M::FixedRankMatrices, p::SVDMPoint)Return a UMVTangentVector representing the zero tangent vector in the tangent space of p on the FixedRankMatrices M, for example all three elements of the resulting structure are zero matrices.
zero_vector(M::Flag, p::OrthogonalPoint)Return the zero tangent vector at p on the Flag M in the orthogonal matrix representation, that is an OrthogonalTangentVector wrapping an zero matrix.
exp(M::GeneralizedGrassmann, p, X)Compute the exponential map on the GeneralizedGrassmann M starting in p with tangent vector (direction) X.
zero_vector(M::GeneralizedGrassmann, p)Return the zero tangent vector from the tangent space at p on the GeneralizedGrassmann M, which is given by a zero matrix the same size as p.
exp(M::Rotations, p, X)
exp(M::OrthogonalMatrices, p, X)
exp(M::UnitaryMatrices, p, X)Compute the exponential map, that is, since is represented in the Lie algebra,
exp(M::GeneralUnitaryMatrices{β, TypeParameter{Tuple{3}}}, p::SMatrix, X::SMatrix)Compute the exponential map on the three by three real GeneralUnitaryMatrices M for static matrices by the Rodrigues formula, Proposition 2.7 in [GQ20],
sectional_curvature(M::GeneralUnitaryMatrices, p, X, Y)Compute the sectional curvature of the plane spanned by the tangent vectors X and Y at p on the GeneralUnitaryMatrices M.
sectional_curvature(M::SpecialUnitaryMatrices, p, X, Y)Compute the sectional curvature of the plane spanned by X and Y at p on the SpecialUnitaryMatrices M as on the GeneralUnitaryMatrices.
exp(M::Grassmann, p, X)Compute the exponential map on the Grassmann M starting in p with tangent vector (direction) X.
exp(M::Grassmann, p::ProjectorPoint, X::ProjectorTangentVector)Compute the exponential map on the Grassmann as
norm(M::Grassmann, p::ProjectorPoint, X::ProjectorTangentVector)Compute the norm of a ProjectorTangentVector X at p on the Grassmann manifold M.
zero_vector(M::Grassmann, p)Return the zero tangent vector from the tangent space at p on the Grassmann M, which is given by a zero matrix the same size as p.
sectional_curvature(M::HamiltonianMatrices, p, X, Y)Return the sectional curvature 0 of HamiltonianMatrices M, which is flat.
sectional_curvature(M::HeisenbergMatrices, p, X, Y)Return the sectional curvature 0 of HeisenbergMatrices M, which is flat.
exp(M::HermitianPositiveDefinite, p, X)
exp(M::MetricManifold{<:HermitianPositiveDefinite,AffineInvariantMetric}, p, X)Compute the exponential map from p with tangent vector X on the HermitianPositiveDefinite M with its default MetricManifold having the AffineInvariantMetric.
[Ξ,ΞΊ] = get_basis(M::HermitianPositiveDefinite{β}, p, B::DefaultOrthonormalBasis)
[Ξ,ΞΊ] = get_basis(M::MetricManifold{β,<:HermitianPositiveDefinite{β},AffineInvariantMetric}, p, B::DefaultOrthonormalBasis)Return a default ONB for the tangent space of the complex HermitianPositiveDefinite with respect to the AffineInvariantMetric.
zero_vector(M::HermitianPositiveDefinite, p)
zero_vector!(M::HermitianPositiveDefinite, X, p)returns the zero tangent vector in the tangent space of the Hermitian positive definite matrix p on the HermitianPositiveDefinite manifold M.
exp(M::Hyperbolic, p, X)Compute the exponential map on the Hyperbolic space emanating from p towards X.
sectional_curvature(::Hyperbolic, p, X, Y)Sectional curvature of Hyperbolic M is -1 if dimension is > 1 and 0 otherwise.
exp(M::Hyperrectangle, p, X)Compute the exponential map on the Hyperrectangle manifold M from p in direction X, which in this case is just
norm(M::Hyperrectangle, p, X, r::Real = 2)Compute the norm of a tangent vector X at p on the Hyperrectangle M, i.e. since every tangent space can be identified with M itself in this case, just the (Frobenius) norm of X.
sectional_curvature(::Hyperrectangle, p, X, Y)Sectional curvature of Hyperrectangle manifold M is 0.
zero_vector(M::Hyperrectangle, p)Return the zero vector in the tangent space of p on the Hyperrectangle M, which here is just a zero filled array the same size as p.
sectional_curvature(M::InvertibleMatrices, p, X, Y)Return the sectional curvature 0 of InvertibleMatrices M, which is flat.
exp(M::Lorentz{<:Any, MinkowskiMetric}, p, X)
log(M::Lorentz{<:Any, MinkowskiMetric}, p, q)
parallel_transport_to(M::Lorentz{<:Any, MinkowskiMetric}, p, X, q)Compute the exponential map, the logarithmic map and the parallel transport on the Lorentz manifold M with the MinkowskiMetric.
exp(M::PositiveNumbers, p, X)Compute the exponential map on the PositiveNumbers M.
exp(M::ProbabilitySimplex, p, X)Compute the exponential map on the probability simplex.
sectional_curvature(M::ProbabilitySimplex, p, X, Y)Return the sectional curvature of the ProbabilitySimplex M, i.e. , the curvature of the sphere of radius 2 it is isometric to (part of), if the dimension is greater than 1, and 0 otherwise.
zero_vector(M::ProbabilitySimplex, p)Return the zero tangent vector in the tangent space of the point p from the ProbabilitySimplex M, i.e. its representation by the zero vector in the embedding.
const Rotations{T} = GeneralUnitaryMatrices{β, T, DeterminantOneMatrixType}The manifold of rotation matrices of size , i.e. real-valued orthogonal matrices with determinant .
zero_vector(M::Rotations, p)Return the zero tangent vector from the tangent space at p on the Rotations as an element of the Lie algebra, i.e. the zero matrix.
exp(M::MetricManifold{β, Segre{β, V}, WarpedMetric{A}}, p, X)Exponential map on the warped Segre manifold.
exp(M::Segre{β, V}, p, X)Exponential map on the Segre manifold.
sectional_curvature(M::MetricManifold{β, Segre{β,V}, WarpedMetric{A}}, p, X, Y)Sectional curvature of the warped Segre manifold at .
sectional_curvature(M::Segre{β, V}, p, u, v)Sectional curvature of the Segre manifold at .
exp(M::KendallsShapeSpace, p, X)Compute the exponential map on KendallsShapeSpace M.
sectional_curvature(M::SkewHermitianMatrices, p, X, Y)Sectional curvature of SkewHermitianMatrices M is 0.
zero_vector(M::Spectrahedron,p)returns the zero tangent vector in the tangent space of the symmetric positive definite matrix p on the Spectrahedron manifold M.
exp(M::AbstractSphere, p, X)Compute the exponential map from p in the tangent direction X on the AbstractSphere M by following the great arc emanating from p in direction X.
sectional_curvature(::AbstractSphere, p, X, Y)Sectional curvature of AbstractSphere M is 1 if dimension is greater than 1 and 0 otherwise.
q = exp(M::MetricManifold{β,<:Stiefel{β},<:StiefelSubmersionMetric}, p, X)
exp!(M::MetricManifold{β,<:Stiefel{β},<:StiefelSubmersionMetric}, q, p, X)Compute the exponential map on the Stiefel(n,k) manifold with respect to the StiefelSubmersionMetric.
q = exp(M::MetricManifold{β,<:Stiefel{β},CanonicalMetric}, p, X)
exp!(M::MetricManifold{β,<:Stiefel{β},CanonicalMetric}, q, p, X)Compute the exponential map on the Stiefel(n, k) manifold with respect to the CanonicalMetric.
exp(M::Stiefel, p, X)Compute the exponential map on the Stiefel{n,k,π½}() manifold M emanating from p in tangent direction X.
get_basis(M::Stiefel{β}, p, B::DefaultOrthonormalBasis)Create the default basis using the parametrization for any .
sectional_curvature(M::SymmetricMatrices, p, X, Y)Sectional curvature of SymmetricMatrices M is 0.
exp(M::MetricManifold{β,<:SymmetricPositiveDefinite,<:GeneralizedBuresWassersteinMetric}, p, X)Compute the exponential map on the SymmetricPositiveDefinite manifold M with respect to the GeneralizedBuresWassersteinMetric with matrix , given in Table 1 of [HMJG23] by
exp(::MetricManifold{β,SymmetricPositiveDefinite,BuresWassersteinMetric}, p, X)Compute the exponential map on SymmetricPositiveDefinite with respect to the BuresWassersteinMetric given by
exp(M::MetricManifold{SymmetricPositiveDefinite,LogCholeskyMetric}, p, X)Compute the exponential map on the SymmetricPositiveDefinite M with LogCholeskyMetric from p into direction X.
exp(M::SymmetricPositiveDefinite, p, X)
exp(M::MetricManifold{<:SymmetricPositiveDefinite,AffineInvariantMetric}, p, X)Compute the exponential map from p with tangent vector X on the SymmetricPositiveDefinite M with its default MetricManifold having the AffineInvariantMetric.
SymmetricPositiveDefinite{T} = HermitianPositiveDefinite{β,T}The manifold of symmetric positive definite matrices, i.e.
[Ξ,ΞΊ] = get_basis(M::SymmetricPositiveDefinite, p, B::DefaultOrthonormalBasis)
[Ξ,ΞΊ] = get_basis(M::MetricManifold{<:SymmetricPositiveDefinite,AffineInvariantMetric}, p, B::DefaultOrthonormalBasis)Return a default ONB for the tangent space of the SymmetricPositiveDefinite with respect to the AffineInvariantMetric.
sectional_curvature(M::MetricManifold{β,<:SymmetricPositiveDefinite,LogCholeskyMetric}, p, X, Y)Return the sectional curvature 0 of the SymmetricPositiveDefinite matrices M with the LogCholeskyMetric, which is flat.
sectional_curvature(M::MetricManifold{β,<:SymmetricPositiveDefinite,LogEuclideanMetric}, p, X, Y)Return the sectional curvature of the SymmetricPositiveDefinite matrices M with the LogEuclideanMetric.
zero_vector(M::SymmetricPositiveDefinite, p)
zero_vector!(M::SymmetricPositiveDefinite, X, p)returns the zero tangent vector in the tangent space of the symmetric positive definite matrix p on the SymmetricPositiveDefinite manifold M.
exp(M::SymmetricPositiveSemidefiniteFixedRank, q, Y)Compute the exponential map on the SymmetricPositiveSemidefiniteFixedRank, which just reads
zero_vector(M::SymmetricPositiveSemidefiniteFixedRank, p)returns the zero tangent vector in the tangent space of the symmetric positive definite matrix p on the SymmetricPositiveSemidefiniteFixedRank manifold M.
exp(M::SymplecticMatrices, p, X)
exp!(M::SymplecticMatrices, q, p, X)The Exponential mapping on the Symplectic manifold with the RealSymplecticMetric Riemannian metric.
rand(::SymplecticMatrices; vector_at=nothing, Ο::Real=1.0)Generate a random point on or a random tangent vector if vector_at is set to a point .
exp(::SymplecticGrassmann, p, X)
exp!(M::SymplecticGrassmann, q, p, X)Compute the exponential mapping
exp(::SymplecticStiefel, p, X)
exp!(M::SymplecticStiefel, q, p, X)Compute the exponential mapping
get_basis(:: Tucker, p::TuckerPoint, basisType::DefaultOrthonormalBasis{π½, TangentSpaceType}) where π½An implicitly stored basis of the tangent space to the Tucker manifold.
zero_vector(::Tucker, p::TuckerPoint)The zero element in the tangent space to p on the Tucker manifold, represented as a TuckerTangentVector.
exp(M::Veronese, p, X)
exp!(M::Veronese, q, p, X)Exponential map on Veronese.
estimated_sectional_curvature_matrix(M::AbstractManifold, p, B::AbstractBasis; r::Real=1e-3, N::Int=10000)Estimate the matrix of sectional curvatures of manifold M at point p using estimated_sectional_curvature.