Matrices of determinant one

Manifolds.DeterminantOneMatrices โ€” Type
DeterminantOneMatrices{๐”ฝ,T} <: AbstractDecoratorManifold{๐”ฝ}

The AbstractManifold consisting of the real- or complex-valued (invertible) matrices of determinant one, that is the set

\[\bigl\{p โˆˆ ๐”ฝ^{nร—n}\ \big|\ \det(p) = 1 \bigr\},\]

where the field $๐”ฝ โˆˆ \{ โ„, โ„‚\}$.

Note that this is a subset of InvertibleMatrices, and a superset of any of the GeneralUnitaryMatrices

The tangent space at any point p is the set of matrices with trace 0.

Constructor

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

Generate the manifold of $nร—n$ matrices of determinant one.

source
Base.rand โ€” Method
Random.rand(M::DeterminantOneMatrices; vector_at=nothing, kwargs...)

If vector_at is nothing, return a random point on the DeterminantOneMatrices 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 DeterminantOneMatrices by using by using rand in the embedding.

source
ManifoldsBase.check_vector โ€” Method
check_vector(M::DeterminantOneMatrices{n,๐”ฝ}, p, X; atol, rtol, kwargs...)

Check whether X is a tangent vector to manifold point p on the DeterminantOneMatrices M, which are all matrices of size $nร—n$ with trace 0.

The trace is compared to zero up to max(atol, rtol * norm(X)). The relative tolerance rtol refers to the size of X; its default is the one of isapprox.

source
ManifoldsBase.project โ€” Method
project(G::DeterminantOneMatrices, p)
project!(G::DeterminantOneMatrices, q, p)

Project $p โˆˆ \mathrm{GL}(n, ๐”ฝ)$ to the DeterminantOneMatrices using the singular value decomposition of $p = U S V^\mathrm{H}$.

The formula for the projection is

\[\operatorname{proj}(p) = U S D V^\mathrm{H},\]

where

\[D_{ij} = ฮด_{ij} \begin{cases} 1 & \text{ if } i โ‰  n \\ \det(p)^{-1} & \text{ if } i = n \end{cases}.\]

The operation can be done in-place of q.

source