If VECT = 'Q', ORMBR: overwrites the general real M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': Q * C C * Q TRANS = 'T': Q**T * C C * Q**T If VECT = 'P', ORMBR overwrites the general real M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': P * C C * P TRANS = 'T': P**T * C C * P**T Here Q and P**T are the orthogonal matrices determined by DGEBRD when reducing a real matrix A to bidiagonal form: A = Q * B * P**T. Q and P**T 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 orthogonal matrix Q or P**T 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 | dormbr (vect, side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info) |
|
| la_dormbr |
|
| la_qormbr |
|
pure subroutine | sormbr (vect, side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info) |
|
| la_sormbr |
|
If VECT = 'Q', ORMBR: overwrites the general real M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': Q * C C * Q TRANS = 'T': Q**T * C C * Q**T If VECT = 'P', ORMBR overwrites the general real M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': P * C C * P TRANS = 'T': P**T * C C * P**T Here Q and P**T are the orthogonal matrices determined by DGEBRD when reducing a real matrix A to bidiagonal form: A = Q * B * P**T. Q and P**T 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 orthogonal matrix Q or P**T 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).
◆ dormbr()
pure subroutine la_lapack::ormbr::dormbr |
( |
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, |
|
|
real(dp), dimension(lda,*), intent(inout) |
a, |
|
|
integer(ilp), intent(in) |
lda, |
|
|
real(dp), dimension(*), intent(in) |
tau, |
|
|
real(dp), dimension(ldc,*), intent(inout) |
c, |
|
|
integer(ilp), intent(in) |
ldc, |
|
|
real(dp), dimension(*), intent(out) |
work, |
|
|
integer(ilp), intent(in) |
lwork, |
|
|
integer(ilp), intent(out) |
info |
|
) |
| |
◆ la_dormbr()
la_lapack::ormbr::la_dormbr |
◆ la_qormbr()
la_lapack::ormbr::la_qormbr |
◆ la_sormbr()
la_lapack::ormbr::la_sormbr |
◆ sormbr()
pure subroutine la_lapack::ormbr::sormbr |
( |
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, |
|
|
real(sp), dimension(lda,*), intent(inout) |
a, |
|
|
integer(ilp), intent(in) |
lda, |
|
|
real(sp), dimension(*), intent(in) |
tau, |
|
|
real(sp), dimension(ldc,*), intent(inout) |
c, |
|
|
integer(ilp), intent(in) |
ldc, |
|
|
real(sp), 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: