If VECT = 'Q', UNMBR: overwrites the general complex M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': Q * C C * Q TRANS = 'C': Q**H * C C * Q**H If VECT = 'P', UNMBR overwrites the general complex M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': P * C C * P TRANS = 'C': P**H * C C * P**H Here Q and P**H are the unitary matrices determined by CGEBRD when reducing a complex matrix A to bidiagonal form: A = Q * B * P**H. Q and P**H are defined as products of elementary reflectors H(i) and G(i) respectively. Let nq = m if SIDE = 'L' and nq = n if SIDE = 'R'. Thus nq is the order of the unitary matrix Q or P**H that is applied. If VECT = 'Q', A is assumed to have been an NQ-by-K matrix: if nq >= k, Q = H(1) H(2) . . . H(k); if nq < k, Q = H(1) H(2) . . . H(nq-1). If VECT = 'P', A is assumed to have been a K-by-NQ matrix: if k < nq, P = G(1) G(2) . . . G(k); if k >= nq, P = G(1) G(2) . . . G(nq-1).
More...
|
pure subroutine | cunmbr (vect, side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info) |
|
| la_cunmbr |
|
| la_wunmbr |
|
pure subroutine | zunmbr (vect, side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info) |
|
| la_zunmbr |
|
If VECT = 'Q', UNMBR: overwrites the general complex M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': Q * C C * Q TRANS = 'C': Q**H * C C * Q**H If VECT = 'P', UNMBR overwrites the general complex M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': P * C C * P TRANS = 'C': P**H * C C * P**H Here Q and P**H are the unitary matrices determined by CGEBRD when reducing a complex matrix A to bidiagonal form: A = Q * B * P**H. Q and P**H are defined as products of elementary reflectors H(i) and G(i) respectively. Let nq = m if SIDE = 'L' and nq = n if SIDE = 'R'. Thus nq is the order of the unitary matrix Q or P**H that is applied. If VECT = 'Q', A is assumed to have been an NQ-by-K matrix: if nq >= k, Q = H(1) H(2) . . . H(k); if nq < k, Q = H(1) H(2) . . . H(nq-1). If VECT = 'P', A is assumed to have been a K-by-NQ matrix: if k < nq, P = G(1) G(2) . . . G(k); if k >= nq, P = G(1) G(2) . . . G(nq-1).
◆ cunmbr()
pure subroutine la_lapack::unmbr::cunmbr |
( |
character, intent(in) |
vect, |
|
|
character, intent(in) |
side, |
|
|
character, intent(in) |
trans, |
|
|
integer(ilp), intent(in) |
m, |
|
|
integer(ilp), intent(in) |
n, |
|
|
integer(ilp), intent(in) |
k, |
|
|
complex(sp), dimension(lda,*), intent(inout) |
a, |
|
|
integer(ilp), intent(in) |
lda, |
|
|
complex(sp), dimension(*), intent(in) |
tau, |
|
|
complex(sp), dimension(ldc,*), intent(inout) |
c, |
|
|
integer(ilp), intent(in) |
ldc, |
|
|
complex(sp), dimension(*), intent(out) |
work, |
|
|
integer(ilp), intent(in) |
lwork, |
|
|
integer(ilp), intent(out) |
info |
|
) |
| |
◆ la_cunmbr()
la_lapack::unmbr::la_cunmbr |
◆ la_wunmbr()
la_lapack::unmbr::la_wunmbr |
◆ la_zunmbr()
la_lapack::unmbr::la_zunmbr |
◆ zunmbr()
pure subroutine la_lapack::unmbr::zunmbr |
( |
character, intent(in) |
vect, |
|
|
character, intent(in) |
side, |
|
|
character, intent(in) |
trans, |
|
|
integer(ilp), intent(in) |
m, |
|
|
integer(ilp), intent(in) |
n, |
|
|
integer(ilp), intent(in) |
k, |
|
|
complex(dp), dimension(lda,*), intent(inout) |
a, |
|
|
integer(ilp), intent(in) |
lda, |
|
|
complex(dp), dimension(*), intent(in) |
tau, |
|
|
complex(dp), dimension(ldc,*), intent(inout) |
c, |
|
|
integer(ilp), intent(in) |
ldc, |
|
|
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: