Assuming that a symmetric positive-semi-definite square real matrix $A$ with shape $n*n$ and rank $m$ can be decomposed as $L L^T$ where $L$ is "tall and thin" with shape $n*m$, ($m<n$). How do I find $L$ when I know $m$, and what is the name of such a decomposition?.
I am looking for a way to do this in Python, using one or more numpy/scipy functions, but I can only find the standard Cholesky decomposition.
Let $A=X^TX$, with $X$ of shape $m\times n$.
If $m>n$, the thin $QR$ decomposition of $X$ produces $X=QR$ with $Q$ of dimension $m\times n$ and $R$ of dimension $n\times n$. Then with $L=R^T$ we have
$$LL^T=R^TR=R^T(Q^TQ)R=(QR)^T(QR)=X^TX=A$$
If $m\le n$, the usual $QR$ decomposition of $X$ yields $Q$ of dimension $m\times m$ and $R$ of dimension $m\times n$, and the same relation holds.