Symmetric Positive Semidefinite Matrices of Fixed Rank
Manifolds.SymmetricPositiveSemidefiniteFixedRank β TypeSymmetricPositiveSemidefiniteFixedRank{n,k,π½} <: AbstractDecoratorManifold{π½}The AbstractManifold $ \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
\[\operatorname{SPS}_k(n) = \bigl\{ p β π½^{n Γ n}\ \big|\ p^{\mathrm{H}} = p, apa^{\mathrm{H}} \geq 0 \text{ for all } a β π½ \text{ and } \operatorname{rank}(p) = k\bigr\},\]
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
\[T_p\operatorname{SPS}_k(n) = \bigl\{ X β π½^{n Γ n}\,|\,X = qY^{\mathrm{H}} + Yq^{\mathrm{H}} \text{ i.e. } X = X^{\mathrm{H}} \bigr\}.\]
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
\[ \exp_q Y = q+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
\[ q_2 = \exp_p(\log_pq)\]
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
\[ q_2 = \exp_p(\log_pq)\]
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_point β Methodcheck_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_vector β Methodcheck_vector(M::SymmetricPositiveSemidefiniteFixedRank{n,k,π½}, p, X; 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.
Due to the reduced representation this is fulfilled as soon as the matrix is of correct size.
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.
\[\begin{aligned} \dim \operatorname{SPS}_{k,β}(n) &= kn - \frac{k(k-1)}{2},\\ \dim \operatorname{SPS}_{k,β}(n) &= 2kn - k^2, \end{aligned}\]
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_vector β Method zero_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 AbstractManifold 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.