UNBDB3: simultaneously bidiagonalizes the blocks of a tall and skinny matrix X with orthonomal columns: [ B11 ] [ X11 ] [ P1 | ] [ 0 ] [--—] = [------—] [--—] Q1**T . [ X21 ] [ | P2 ] [ B21 ] [ 0 ] X11 is P-by-Q, and X21 is (M-P)-by-Q. M-P must be no larger than P, Q, or M-Q. Routines CUNBDB1, CUNBDB2, and CUNBDB4 handle cases in which M-P is not the minimum dimension. The unitary matrices P1, P2, and Q1 are P-by-P, (M-P)-by-(M-P), and (M-Q)-by-(M-Q), respectively. They are represented implicitly by Householder vectors. B11 and B12 are (M-P)-by-(M-P) bidiagonal matrices represented implicitly by angles THETA, PHI.
More...
|
subroutine | cunbdb3 (m, p, q, x11, ldx11, x21, ldx21, theta, phi, taup1, taup2, tauq1, work, lwork, info) |
|
| la_cunbdb3 |
|
| la_wunbdb3 |
|
subroutine | zunbdb3 (m, p, q, x11, ldx11, x21, ldx21, theta, phi, taup1, taup2, tauq1, work, lwork, info) |
|
| la_zunbdb3 |
|
UNBDB3: simultaneously bidiagonalizes the blocks of a tall and skinny matrix X with orthonomal columns: [ B11 ] [ X11 ] [ P1 | ] [ 0 ] [--—] = [------—] [--—] Q1**T . [ X21 ] [ | P2 ] [ B21 ] [ 0 ] X11 is P-by-Q, and X21 is (M-P)-by-Q. M-P must be no larger than P, Q, or M-Q. Routines CUNBDB1, CUNBDB2, and CUNBDB4 handle cases in which M-P is not the minimum dimension. The unitary matrices P1, P2, and Q1 are P-by-P, (M-P)-by-(M-P), and (M-Q)-by-(M-Q), respectively. They are represented implicitly by Householder vectors. B11 and B12 are (M-P)-by-(M-P) bidiagonal matrices represented implicitly by angles THETA, PHI.
◆ cunbdb3()
subroutine la_lapack::unbdb3::cunbdb3 |
( |
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(ldx21,*), intent(inout) |
x21, |
|
|
integer(ilp), intent(in) |
ldx21, |
|
|
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) |
work, |
|
|
integer(ilp), intent(in) |
lwork, |
|
|
integer(ilp), intent(out) |
info |
|
) |
| |
◆ la_cunbdb3()
la_lapack::unbdb3::la_cunbdb3 |
◆ la_wunbdb3()
la_lapack::unbdb3::la_wunbdb3 |
◆ la_zunbdb3()
la_lapack::unbdb3::la_zunbdb3 |
◆ zunbdb3()
subroutine la_lapack::unbdb3::zunbdb3 |
( |
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(ldx21,*), intent(inout) |
x21, |
|
|
integer(ilp), intent(in) |
ldx21, |
|
|
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) |
work, |
|
|
integer(ilp), intent(in) |
lwork, |
|
|
integer(ilp), intent(out) |
info |
|
) |
| |
The documentation for this interface was generated from the following file: