UNBDB: simultaneously bidiagonalizes the blocks of an M-by-M partitioned unitary matrix X: [ B11 | B12 0 0 ] [ X11 | X12 ] [ P1 | ] [ 0 | 0 -I 0 ] [ Q1 | ]**H X = [--------—] = [------—] [-------------—] [------—] . [ X21 | X22 ] [ | P2 ] [ B21 | B22 0 0 ] [ | Q2 ] [ 0 | 0 0 I ] X11 is P-by-Q. Q must be no larger than P, M-P, or M-Q. (If this is not the case, 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 unitary matrices P1, P2, Q1, and Q2 are P-by-P, (M-P)-by- (M-P), Q-by-Q, and (M-Q)-by-(M-Q), respectively. They are represented implicitly by Householder vectors. B11, B12, B21, and B22 are Q-by-Q bidiagonal matrices represented implicitly by angles THETA, PHI.
More...
|
subroutine | cunbdb (trans, signs, m, p, q, x11, ldx11, x12, ldx12, x21, ldx21, x22, ldx22, theta, phi, taup1, taup2, tauq1, tauq2, work, lwork, info) |
|
| la_cunbdb |
|
| la_wunbdb |
|
subroutine | zunbdb (trans, signs, m, p, q, x11, ldx11, x12, ldx12, x21, ldx21, x22, ldx22, theta, phi, taup1, taup2, tauq1, tauq2, work, lwork, info) |
|
| la_zunbdb |
|
UNBDB: simultaneously bidiagonalizes the blocks of an M-by-M partitioned unitary matrix X: [ B11 | B12 0 0 ] [ X11 | X12 ] [ P1 | ] [ 0 | 0 -I 0 ] [ Q1 | ]**H X = [--------—] = [------—] [-------------—] [------—] . [ X21 | X22 ] [ | P2 ] [ B21 | B22 0 0 ] [ | Q2 ] [ 0 | 0 0 I ] X11 is P-by-Q. Q must be no larger than P, M-P, or M-Q. (If this is not the case, 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 unitary matrices P1, P2, Q1, and Q2 are P-by-P, (M-P)-by- (M-P), Q-by-Q, and (M-Q)-by-(M-Q), respectively. They are represented implicitly by Householder vectors. B11, B12, B21, and B22 are Q-by-Q bidiagonal matrices represented implicitly by angles THETA, PHI.
◆ cunbdb()
subroutine la_lapack::unbdb::cunbdb |
( |
character, intent(in) |
trans, |
|
|
character, intent(in) |
signs, |
|
|
integer(ilp), intent(in) |
m, |
|
|
integer(ilp), intent(in) |
p, |
|
|
integer(ilp), intent(in) |
q, |
|
|
complex(sp), dimension(ldx11,*), intent(inout) |
x11, |
|
|
integer(ilp), intent(in) |
ldx11, |
|
|
complex(sp), dimension(ldx12,*), intent(inout) |
x12, |
|
|
integer(ilp), intent(in) |
ldx12, |
|
|
complex(sp), dimension(ldx21,*), intent(inout) |
x21, |
|
|
integer(ilp), intent(in) |
ldx21, |
|
|
complex(sp), dimension( ldx22,*), intent(inout) |
x22, |
|
|
integer(ilp), intent(in) |
ldx22, |
|
|
real(sp), dimension(*), intent(out) |
theta, |
|
|
real(sp), dimension(*), intent(out) |
phi, |
|
|
complex(sp), dimension(*), intent(out) |
taup1, |
|
|
complex(sp), dimension(*), intent(out) |
taup2, |
|
|
complex(sp), dimension(*), intent(out) |
tauq1, |
|
|
complex(sp), dimension(*), intent(out) |
tauq2, |
|
|
complex(sp), dimension(*), intent(out) |
work, |
|
|
integer(ilp), intent(in) |
lwork, |
|
|
integer(ilp), intent(out) |
info |
|
) |
| |
◆ la_cunbdb()
la_lapack::unbdb::la_cunbdb |
◆ la_wunbdb()
la_lapack::unbdb::la_wunbdb |
◆ la_zunbdb()
la_lapack::unbdb::la_zunbdb |
◆ zunbdb()
subroutine la_lapack::unbdb::zunbdb |
( |
character, intent(in) |
trans, |
|
|
character, intent(in) |
signs, |
|
|
integer(ilp), intent(in) |
m, |
|
|
integer(ilp), intent(in) |
p, |
|
|
integer(ilp), intent(in) |
q, |
|
|
complex(dp), dimension(ldx11,*), intent(inout) |
x11, |
|
|
integer(ilp), intent(in) |
ldx11, |
|
|
complex(dp), dimension(ldx12,*), intent(inout) |
x12, |
|
|
integer(ilp), intent(in) |
ldx12, |
|
|
complex(dp), dimension(ldx21,*), intent(inout) |
x21, |
|
|
integer(ilp), intent(in) |
ldx21, |
|
|
complex(dp), dimension( ldx22,*), intent(inout) |
x22, |
|
|
integer(ilp), intent(in) |
ldx22, |
|
|
real(dp), dimension(*), intent(out) |
theta, |
|
|
real(dp), dimension(*), intent(out) |
phi, |
|
|
complex(dp), dimension(*), intent(out) |
taup1, |
|
|
complex(dp), dimension(*), intent(out) |
taup2, |
|
|
complex(dp), dimension(*), intent(out) |
tauq1, |
|
|
complex(dp), dimension(*), intent(out) |
tauq2, |
|
|
complex(dp), dimension(*), intent(out) |
work, |
|
|
integer(ilp), intent(in) |
lwork, |
|
|
integer(ilp), intent(out) |
info |
|
) |
| |
The documentation for this interface was generated from the following file: