Skew-symmetric matrices
Manifolds.SkewSymmetricMatrices
โ TypeSkewSymmetricMatrices{n,๐ฝ} <: AbstractEmbeddedManifold{๐ฝ,TransparentIsometricEmbedding}
The Manifold
$ \operatorname{SkewSym}(n)$ consisting of the real- or complex-valued skew-symmetric matrices of size $n ร n$, i.e. the set
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 has to be zero, which is also reflected in the manifold_dimension
.
Constructor
SkewSymmetricMatrices(n::Int, field::AbstractNumbers=โ)
Generate the manifold of $n ร n$ symmetric matrices.
ManifoldsBase.check_manifold_point
โ Methodcheck_manifold_point(M::SkewSymmetricMatrices{n,๐ฝ}, p; kwargs...)
Check whether p
is a valid manifold point on the SkewSymmetricMatrices
M
, i.e. whether p
is a skew-symmetric matrix of size (n,n)
with values from the corresponding AbstractNumbers
๐ฝ
.
The tolerance for the skew-symmetry of p
can be set using kwargs...
.
ManifoldsBase.check_tangent_vector
โ Methodcheck_tangent_vector(M::SkewSymmetricMatrices{n,๐ฝ}, p, X; check_base_point = true, kwargs... )
Check whether X
is a tangent vector to manifold point p
on the SkewSymmetricMatrices
M
, i.e. X
has to be a skew-symmetric matrix of size (n,n)
and its values have to be from the correct AbstractNumbers
. The optional parameter check_base_point
indicates, whether to call check_manifold_point
for p
. The tolerance for the skew-symmetry of p
and X
can be set using kwargs...
.
ManifoldsBase.manifold_dimension
โ Methodmanifold_dimension(M::SkewSymmetricMatrices{n,๐ฝ})
Return the dimension of the SkewSymmetricMatrices
matrix M
over the number system ๐ฝ
, i.e.
where the last $n$ is due to an imaginary diagonal that is allowed $\dim_โ ๐ฝ$ is the real_dimension
of ๐ฝ
.
ManifoldsBase.project
โ Methodproject(M::SkewSymmetricMatrices, p, X)
Project the matrix X
onto the tangent space at p
on the SkewSymmetricMatrices
M
,
where $\cdot^{\mathrm{H}}$ denotes the Hermitian, i.e. complex conjugate transposed.
ManifoldsBase.project
โ Methodproject(M::SkewSymmetricMatrices, p)
Projects p
from the embedding onto the SkewSymmetricMatrices
M
, i.e.
where $\cdot^{\mathrm{H}}$ denotes the Hermitian, i.e. complex conjugate transposed.