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

UNGTSQR_ROW: generates an M-by-N complex matrix Q_out with orthonormal columns from the output of CLATSQR. These N orthonormal columns are the first N columns of a product of complex unitary matrices Q(k)_in of order M, which are returned by CLATSQR in a special format. Q_out = first_N_columns_of( Q(1)_in * Q(2)_in * ... * Q(k)_in ). The input matrices Q(k)_in are stored in row and column blocks in A. See the documentation of CLATSQR for more details on the format of Q(k)_in, where each Q(k)_in is represented by block Householder transformations. This routine calls an auxiliary routine CLARFB_GETT, where the computation is performed on each individual block. The algorithm first sweeps NB-sized column blocks from the right to left starting in the bottom row block and continues to the top row block (hence _ROW in the routine name). This sweep is in reverse order of the order in which CLATSQR generates the output blocks. More...

Public Member Functions

pure subroutine cungtsqr_row (m, n, mb, nb, a, lda, t, ldt, work, lwork, info)
 
 la_cungtsqr_row
 
 la_wungtsqr_row
 
pure subroutine zungtsqr_row (m, n, mb, nb, a, lda, t, ldt, work, lwork, info)
 
 la_zungtsqr_row
 

Detailed Description

UNGTSQR_ROW: generates an M-by-N complex matrix Q_out with orthonormal columns from the output of CLATSQR. These N orthonormal columns are the first N columns of a product of complex unitary matrices Q(k)_in of order M, which are returned by CLATSQR in a special format. Q_out = first_N_columns_of( Q(1)_in * Q(2)_in * ... * Q(k)_in ). The input matrices Q(k)_in are stored in row and column blocks in A. See the documentation of CLATSQR for more details on the format of Q(k)_in, where each Q(k)_in is represented by block Householder transformations. This routine calls an auxiliary routine CLARFB_GETT, where the computation is performed on each individual block. The algorithm first sweeps NB-sized column blocks from the right to left starting in the bottom row block and continues to the top row block (hence _ROW in the routine name). This sweep is in reverse order of the order in which CLATSQR generates the output blocks.

Member Function/Subroutine Documentation

◆ cungtsqr_row()

pure subroutine la_lapack::ungtsqr_row::cungtsqr_row ( integer(ilp), intent(in)  m,
integer(ilp), intent(in)  n,
integer(ilp), intent(in)  mb,
integer(ilp), intent(in)  nb,
complex(sp), dimension(lda,*), intent(inout)  a,
integer(ilp), intent(in)  lda,
complex(sp), dimension(ldt,*), intent(in)  t,
integer(ilp), intent(in)  ldt,
complex(sp), dimension(*), intent(out)  work,
integer(ilp), intent(in)  lwork,
integer(ilp), intent(out)  info 
)

◆ la_cungtsqr_row()

la_lapack::ungtsqr_row::la_cungtsqr_row

◆ la_wungtsqr_row()

la_lapack::ungtsqr_row::la_wungtsqr_row

◆ la_zungtsqr_row()

la_lapack::ungtsqr_row::la_zungtsqr_row

◆ zungtsqr_row()

pure subroutine la_lapack::ungtsqr_row::zungtsqr_row ( integer(ilp), intent(in)  m,
integer(ilp), intent(in)  n,
integer(ilp), intent(in)  mb,
integer(ilp), intent(in)  nb,
complex(dp), dimension(lda,*), intent(inout)  a,
integer(ilp), intent(in)  lda,
complex(dp), dimension(ldt,*), intent(in)  t,
integer(ilp), intent(in)  ldt,
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: