Skew-hermitian matrices

Manifolds.SkewHermitianMatrices โ€” Type
SkewHermitianMatrices{n,๐”ฝ} <: AbstractDecoratorManifold{๐”ฝ}

The AbstractManifold $ \operatorname{SkewHerm}(n)$ consisting of the real- or complex-valued skew-hermitian matrices of size $n ร— n$, i.e. the set

\[\operatorname{SkewHerm}(n) = \bigl\{p โˆˆ ๐”ฝ^{n ร— n}\ \big|\ p^{\mathrm{H}} = -p \bigr\},\]

where $\cdot^{\mathrm{H}}$ denotes the Hermitian, i.e. complex conjugate transpose, and the field $๐”ฝ โˆˆ \{ โ„, โ„‚, โ„\}$.

Though it is slightly redundant, usually the matrices are stored as $n ร— n$ arrays.

Note that in this representation, the real-valued part of the diagonal must be zero, which is also reflected in the manifold_dimension.

Constructor

SkewHermitianMatrices(n::Int, field::AbstractNumbers=โ„)

Generate the manifold of $n ร— n$ skew-hermitian matrices.

source
ManifoldsBase.Weingarten โ€” Method
Y = Weingarten(M::SkewSymmetricMatrices, p, X, V)
Weingarten!(M::SkewSymmetricMatrices, Y, p, X, V)

Compute the Weingarten map $\mathcal W_p$ at p on the SkewSymmetricMatrices 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.

source
ManifoldsBase.check_point โ€” Method
check_point(M::SkewHermitianMatrices{n,๐”ฝ}, p; kwargs...)

Check whether p is a valid manifold point on the SkewHermitianMatrices M, i.e. whether p is a skew-hermitian matrix of size (n,n) with values from the corresponding AbstractNumbers ๐”ฝ.

The tolerance for the skew-symmetry of p can be set using kwargs....

source
ManifoldsBase.check_vector โ€” Method
check_vector(M::SkewHermitianMatrices{n}, p, X; kwargs... )

Check whether X is a tangent vector to manifold point p on the SkewHermitianMatrices M, i.e. X must be a skew-hermitian matrix of size (n,n) and its values have to be from the correct AbstractNumbers. The tolerance for the skew-symmetry of p and X can be set using kwargs....

source
ManifoldsBase.manifold_dimension โ€” Method
manifold_dimension(M::SkewHermitianMatrices{n,๐”ฝ})

Return the dimension of the SkewHermitianMatrices matrix M over the number system ๐”ฝ, i.e.

\[\dim \mathrm{SkewHerm}(n,โ„) = \frac{n(n+1)}{2} \dim_โ„ ๐”ฝ - n,\]

where $\dim_โ„ ๐”ฝ$ is the real_dimension of $๐”ฝ$. The first term corresponds to only the upper triangular elements of the matrix being unique, and the second term corresponds to the constraint that the real part of the diagonal be zero.

source
ManifoldsBase.project โ€” Method
project(M::SkewHermitianMatrices, p, X)

Project the matrix X onto the tangent space at p on the SkewHermitianMatrices M,

\[\operatorname{proj}_p(X) = \frac{1}{2} \bigl( X - X^{\mathrm{H}} \bigr),\]

where $\cdot^{\mathrm{H}}$ denotes the Hermitian, i.e. complex conjugate transposed.

source
ManifoldsBase.project โ€” Method
project(M::SkewHermitianMatrices, p)

Projects p from the embedding onto the SkewHermitianMatrices M, i.e.

\[\operatorname{proj}_{\operatorname{SkewHerm}(n)}(p) = \frac{1}{2} \bigl( p - p^{\mathrm{H}} \bigr),\]

where $\cdot^{\mathrm{H}}$ denotes the Hermitian, i.e. complex conjugate transposed.

source