fortran-lapack
Loading...
Searching...
No Matches
la_lapack::ormbr Interface Reference

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...

Public Member Functions

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
 

Detailed Description

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).

Member Function/Subroutine Documentation

◆ 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: