ORCSD2BY1: computes the CS decomposition of an M-by-Q matrix X with orthonormal columns that has been partitioned into a 2-by-1 block structure: [ I1 0 0 ] [ 0 C 0 ] [ X11 ] [ U1 | ] [ 0 0 0 ] X = [--—] = [------—] [-------—] V1**T . [ X21 ] [ | U2 ] [ 0 0 0 ] [ 0 S 0 ] [ 0 0 I2] X11 is P-by-Q. The orthogonal matrices U1, U2, and V1 are P-by-P, (M-P)-by-(M-P), and Q-by-Q, respectively. C and S are R-by-R nonnegative diagonal matrices satisfying C^2 + S^2 = I, in which R = MIN(P,M-P,Q,M-Q). I1 is a K1-by-K1 identity matrix and I2 is a K2-by-K2 identity matrix, where K1 = MAX(Q+P-M,0), K2 = MAX(Q-P,0).
More...
|
subroutine | dorcsd2by1 (jobu1, jobu2, jobv1t, m, p, q, x11, ldx11, x21, ldx21, theta, u1, ldu1, u2, ldu2, v1t, ldv1t, work, lwork, iwork, info) |
|
| la_dorcsd2by1 |
|
| la_qorcsd2by1 |
|
subroutine | sorcsd2by1 (jobu1, jobu2, jobv1t, m, p, q, x11, ldx11, x21, ldx21, theta, u1, ldu1, u2, ldu2, v1t, ldv1t, work, lwork, iwork, info) |
|
| la_sorcsd2by1 |
|
ORCSD2BY1: computes the CS decomposition of an M-by-Q matrix X with orthonormal columns that has been partitioned into a 2-by-1 block structure: [ I1 0 0 ] [ 0 C 0 ] [ X11 ] [ U1 | ] [ 0 0 0 ] X = [--—] = [------—] [-------—] V1**T . [ X21 ] [ | U2 ] [ 0 0 0 ] [ 0 S 0 ] [ 0 0 I2] X11 is P-by-Q. The orthogonal matrices U1, U2, and V1 are P-by-P, (M-P)-by-(M-P), and Q-by-Q, respectively. C and S are R-by-R nonnegative diagonal matrices satisfying C^2 + S^2 = I, in which R = MIN(P,M-P,Q,M-Q). I1 is a K1-by-K1 identity matrix and I2 is a K2-by-K2 identity matrix, where K1 = MAX(Q+P-M,0), K2 = MAX(Q-P,0).
◆ dorcsd2by1()
subroutine la_lapack::orcsd2by1::dorcsd2by1 |
( |
character, intent(in) |
jobu1, |
|
|
character, intent(in) |
jobu2, |
|
|
character, intent(in) |
jobv1t, |
|
|
integer(ilp), intent(in) |
m, |
|
|
integer(ilp), intent(in) |
p, |
|
|
integer(ilp), intent(in) |
q, |
|
|
real(dp), dimension(ldx11,*), intent(inout) |
x11, |
|
|
integer(ilp), intent(in) |
ldx11, |
|
|
real(dp), dimension(ldx21,*), intent(inout) |
x21, |
|
|
integer(ilp), intent(in) |
ldx21, |
|
|
real(dp), dimension(*), intent(out) |
theta, |
|
|
real(dp), dimension(ldu1,*), intent(out) |
u1, |
|
|
integer(ilp), intent(in) |
ldu1, |
|
|
real(dp), dimension(ldu2,*), intent(out) |
u2, |
|
|
integer(ilp), intent(in) |
ldu2, |
|
|
real(dp), dimension(ldv1t,*), intent(out) |
v1t, |
|
|
integer(ilp), intent(in) |
ldv1t, |
|
|
real(dp), dimension(*), intent(out) |
work, |
|
|
integer(ilp), intent(in) |
lwork, |
|
|
integer(ilp), dimension(*), intent(out) |
iwork, |
|
|
integer(ilp), intent(out) |
info |
|
) |
| |
◆ la_dorcsd2by1()
la_lapack::orcsd2by1::la_dorcsd2by1 |
◆ la_qorcsd2by1()
la_lapack::orcsd2by1::la_qorcsd2by1 |
◆ la_sorcsd2by1()
la_lapack::orcsd2by1::la_sorcsd2by1 |
◆ sorcsd2by1()
subroutine la_lapack::orcsd2by1::sorcsd2by1 |
( |
character, intent(in) |
jobu1, |
|
|
character, intent(in) |
jobu2, |
|
|
character, intent(in) |
jobv1t, |
|
|
integer(ilp), intent(in) |
m, |
|
|
integer(ilp), intent(in) |
p, |
|
|
integer(ilp), intent(in) |
q, |
|
|
real(sp), dimension(ldx11,*), intent(inout) |
x11, |
|
|
integer(ilp), intent(in) |
ldx11, |
|
|
real(sp), dimension(ldx21,*), intent(inout) |
x21, |
|
|
integer(ilp), intent(in) |
ldx21, |
|
|
real(sp), dimension(*), intent(out) |
theta, |
|
|
real(sp), dimension(ldu1,*), intent(out) |
u1, |
|
|
integer(ilp), intent(in) |
ldu1, |
|
|
real(sp), dimension(ldu2,*), intent(out) |
u2, |
|
|
integer(ilp), intent(in) |
ldu2, |
|
|
real(sp), dimension(ldv1t,*), intent(out) |
v1t, |
|
|
integer(ilp), intent(in) |
ldv1t, |
|
|
real(sp), dimension(*), intent(out) |
work, |
|
|
integer(ilp), intent(in) |
lwork, |
|
|
integer(ilp), dimension(*), intent(out) |
iwork, |
|
|
integer(ilp), intent(out) |
info |
|
) |
| |
The documentation for this interface was generated from the following file: