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