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: