Symmetric Positive Semidefinite Matrices of Fixed Rank
Manifolds.SymmetricPositiveSemidefiniteFixedRank β TypeSymmetricPositiveSemidefiniteFixedRank{n,k,π½} <: AbstractEmbeddedManifold{π½,DefaultIsometricEmbeddingType}The Manifold $ \operatorname{SPS}_k(n)$ consisting of the real- or complex-valued symmetric positive semidefinite matrices of size $n Γ n$ and rank $k$, i.e. the set
where $\cdot^{\mathrm{H}}$ denotes the Hermitian, i.e. complex conjugate transpose, and the field $π½ β \{ β, β\}$. We sometimes $\operatorname{SPS}_{k,π½}(n)$, when distinguishing the real- and complex-valued manifold is important.
An element is represented by $q β π½^{n Γ k}$ from the factorization $p = qq^{\mathrm{H}}$. Note that since for any unitary (orthogonal) $A β π½^{n Γ n}$ we have $(Aq)(Aq)^{\mathrm{H}} = qq^{\mathrm{H}} = p$, the representation is not unique, or in other words, the manifold is a quotient manifold of $π½^{n Γ k}$.
The tangent space at $p$, $T_p\operatorname{SPS}_k(n)$, is also represented by matrices $Y β π½^{n Γ k}$ and reads as
Note that the metric used yields a non-complete manifold. The metric was used in[JourneeBachAbsilSepulchre2010][MassartAbsil2020].
Constructor
SymmetricPositiveSemidefiniteFixedRank(n::Int, k::Int, field::AbstractNumbers=β)Generate the manifold of $n Γ n$ symmetric positive semidefinite matrices of rank $k$ over the field of real numbers β or complex numbers β.
Base.exp β Methodexp(M::SymmetricPositiveSemidefiniteFixedRank, q, Y)Compute the exponential map on the SymmetricPositiveSemidefiniteFixedRank, which just reads
Since the manifold is represented in the embedding and is a quotient manifold, the exponential and logarithmic map are a bijection only with respect to the equivalence classes. Computing
might yield a matrix $q_2\neq q$, but they represent the same point on the quotient manifold, i.e. $d_{\operatorname{SPS}_k(n)}(q_2,q) = 0$.
Base.isapprox β Methodisapprox(M::SymmetricPositiveSemidefiniteFixedRank, p, q; kwargs...)test, whether two points p, q are (approximately) nearly the same. Since this is a quotient manifold in the embedding, the test is performed by checking their distance, if they are not the same, i.e. that $d_{\mathcal M}(p,q) \approx 0$, where the comparison is performed with the classical isapprox. The kwargs... are passed on to this accordingly.
Base.log β Methodlog(M::SymmetricPositiveSemidefiniteFixedRank, q, p)Compute the logarithmic map on the SymmetricPositiveSemidefiniteFixedRank manifold by minimizing $\lVert p - qY\rVert$ with respect to $Y$.
Since the manifold is represented in the embedding and is a quotient manifold, the exponential and logarithmic map are a bijection only with respect to the equivalence classes. Computing
might yield a matrix $q_2\neq q$, but they represent the same point on the quotient manifold, i.e. $d_{\operatorname{SPS}_k(n)}(q_2,q) = 0$.
ManifoldsBase.check_manifold_point β Methodcheck_manifold_point(M::SymmetricPositiveSemidefiniteFixedRank{n,π½}, q; kwargs...)Check whether q is a valid manifold point on the SymmetricPositiveSemidefiniteFixedRank M, i.e. whether p=q*q' is a symmetric matrix of size (n,n) with values from the corresponding AbstractNumbers π½. The symmetry of p is not explicitly checked since by using q p is symmetric by construction. The tolerance for the symmetry of p can and the rank of q*q' be set using kwargs....
ManifoldsBase.check_tangent_vector β Methodcheck_tangent_vector(M::SymmetricPositiveSemidefiniteFixedRank{n,k,π½}, p, X; check_base_point = true, kwargs... )Check whether X is a tangent vector to manifold point p on the SymmetricPositiveSemidefiniteFixedRank 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.distance β Methoddistance(M::SymmetricPositiveSemidefiniteFixedRank, p, q)Compute the distance between two points p, q on the SymmetricPositiveSemidefiniteFixedRank, which is the Frobenius norm of $Y$ which minimizes $\lVert p - qY\rVert$ with respect to $Y$.
ManifoldsBase.manifold_dimension β Methodmanifold_dimension(M::SymmetricPositiveSemidefiniteFixedRank{n,k,π½})Return the dimension of the SymmetricPositiveSemidefiniteFixedRank matrix M over the number system π½, i.e.
where the last $k^2$ is due to the zero imaginary part for Hermitian matrices diagonal
ManifoldsBase.vector_transport_to β Methodvector_transport_to(M::SymmetricPositiveSemidefiniteFixedRank, p, X, q)transport the tangent vector X at p to q by projecting it onto the tangent space at q.
ManifoldsBase.zero_tangent_vector β Method zero_tangent_vector(M::SymmetricPositiveSemidefiniteFixedRank, p)returns the zero tangent vector in the tangent space of the symmetric positive definite matrix p on the SymmetricPositiveSemidefiniteFixedRank manifold M.
- JourneeBachAbsilSepulchre2010
JournΓ©e, M., Bach, F., Absil, P.-A., and Sepulchre, R.: βLow-Rank Optimization on the Cone of Positive Semidefinite Matricesβ, SIAM Journal on Optimization (20)5, pp. 2327β2351, 2010. doi: 10.1137/080731359, arXiv: 0807.4423.
- MassartAbsil2020
Massart, E., Absil, P.-A.: "Quotient Geometry with Simple Geodesics for the Manifold of Fixed-Rank Positive-Semidefinite Matrices", SIAM Journal on Matrix Analysis and Applications (41)1, pp. 171β198, 2020. doi: 10.1137/18m1231389, preprint: sites.uclouvain.be/absil/2018.06.