Invertible matrices
Manifolds.InvertibleMatrices โ Type
InvertibleMatrices{๐ฝ,T} <: AbstractDecoratorManifold{๐ฝ}The AbstractManifold consisting of the real- or complex-valued invertible matrices, that is the set
\[\bigl\{p โ ๐ฝ^{nรn}\ \big|\ \det(p) \neq 0 \bigr\},\]
where the field $๐ฝ โ \{ โ, โ\}$.
Constructor
InvertibleMatrices(n::Int, field::AbstractNumbers=โ; parameter::Symbol=:type)Generate the manifold of $nรn$ invertible matrices.
Base.rand โ Method
Random.rand(M::InvertibleMatrices; vector_at=nothing, kwargs...)If vector_at is nothing, return a random point on the InvertibleMatrices manifold M by using rand in the embedding. The point is drawn again while the absolute value of its determinant is below the square root of the machine epsilon of its entries.
If vector_at is not nothing, return a random tangent vector from the tangent space of the point vector_at on the InvertibleMatrices by using by using rand in the embedding.
ManifoldsBase.Weingarten โ Method
Y = Weingarten(M::InvertibleMatrices, p, X, V)
Weingarten!(M::InvertibleMatrices, Y, p, X, V)Compute the Weingarten map $\mathcal W_p$ at p on the InvertibleMatrices 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 โ Method
check_point(M::InvertibleMatrices{n,๐ฝ}, p; kwargs...)Check whether p is a valid manifold point on the InvertibleMatrices M, i.e. whether p is an invertible matrix of size (n,n) with values from the corresponding AbstractNumbers ๐ฝ.
ManifoldsBase.check_vector โ Method
check_vector(M::InvertibleMatrices{n,๐ฝ}, p, X; kwargs... )Check whether X is a tangent vector to manifold point p on the InvertibleMatrices M, which are all matrices of size $nรn$ its values have to be from the correct AbstractNumbers.
ManifoldsBase.is_flat โ Method
is_flat(::InvertibleMatrices)Return true. InvertibleMatrices is a flat manifold.
ManifoldsBase.manifold_dimension โ Method
manifold_dimension(M::InvertibleMatrices{n,๐ฝ})Return the dimension of the InvertibleMatrices matrix M over the number system ๐ฝ, which is the same dimension as its embedding, the Euclidean(n, n; field=๐ฝ).
ManifoldsBase.project โ Method
project(M::InvertibleMatrices, p, X)Project X onto the tangent space at p of the InvertibleMatrices M. Since the invertible matrices are an open subset of their embedding, the tangent space consists of all matrices, and the projection is the identity.
ManifoldsBase.riemann_tensor โ Method
riemann_tensor(M::InvertibleMatrices, p, X, Y, Z)Compute the Riemann tensor $R(X,Y)Z$ at point p on InvertibleMatrices M. Its value is always the zero tangent vector, since M is flat.
ManifoldsBase.sectional_curvature โ Method
sectional_curvature(M::InvertibleMatrices, p, X, Y)Return the sectional curvature 0 of InvertibleMatrices M, which is flat.
ManifoldsBase.sectional_curvature_max โ Method
sectional_curvature_max(M::InvertibleMatrices)Return the upper bound 0 of the sectional curvature of InvertibleMatrices M, which is flat.
ManifoldsBase.sectional_curvature_min โ Method
sectional_curvature_min(M::InvertibleMatrices)Return the lower bound 0 of the sectional curvature of InvertibleMatrices M, which is flat.