|
fortran-lapack
|
BBCSD computes the CS decomposition of a unitary matrix in bidiagonal-block form. More...
Public Member Functions | |
| la_cbbcsd | |
| la_dbbcsd | |
| la_qbbcsd | |
| la_sbbcsd | |
| la_wbbcsd | |
| la_zbbcsd | |
BBCSD computes the CS decomposition of a unitary matrix in bidiagonal-block form.
\[ \renewcommand\arraystretch{1.3} \left[ \begin{array}{c|ccc} B_{11} & B_{12} & 0 & 0 \\ 0 & 0 & -I & 0 \\ \hline B_{21} & B_{22} & 0 & 0 \\ 0 & 0 & 0 & I \\ C & -S & 0 & 0 \end{array} \right] = \left[ \begin{array}{c|c} U_1 & 0 \\ \hline 0 & U_2 \end{array} \right] \left[ \begin{array}{c|ccc} 0 & 0 & -I & 0 \\ \hline S & C & 0 & 0 \\ 0 & 0 & 0 & I \end{array} \right] \left[ \begin{array}{c|c} V_1^H & 0 \\ \hline 0 & V_2^H \end{array} \right] \]
X is \(M \times M\), its top-left block is \(P \times Q\), and \(Q\) must be no larger than \(P\), \(M-P\), or \(M-Q\). (If \(Q\) is not the smallest index, then X must be transposed and/or permuted. This can be done in constant time using the TRANS and SIGNS options. See CUNCSD for details.)
The bidiagonal matrices \(B_{11}\), \(B_{12}\), \(B_{21}\), and \(B_{22}\) are represented implicitly by angles \(\theta(1:Q)\) and \(\phi(1:Q-1)\).
The unitary matrices \(U_1\), \(U_2\), \(V_1^T\), and \(V_2^T\) are input/output.
The input matrices are pre- or post-multiplied by the appropriate singular vector matrices.
| la_lapack::bbcsd::la_cbbcsd |
| la_lapack::bbcsd::la_dbbcsd |
| la_lapack::bbcsd::la_qbbcsd |
| la_lapack::bbcsd::la_sbbcsd |
| la_lapack::bbcsd::la_wbbcsd |
| la_lapack::bbcsd::la_zbbcsd |