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

UNBDB4: simultaneously bidiagonalizes the blocks of a tall and skinny matrix X with orthonomal columns: [ B11 ] [ X11 ] [ P1 | ] [ 0 ] [--—] = [------—] [--—] Q1**T . [ X21 ] [ | P2 ] [ B21 ] [ 0 ] X11 is P-by-Q, and X21 is (M-P)-by-Q. M-Q must be no larger than P, M-P, or Q. Routines CUNBDB1, CUNBDB2, and CUNBDB3 handle cases in which M-Q is not the minimum dimension. The unitary matrices P1, P2, and Q1 are P-by-P, (M-P)-by-(M-P), and (M-Q)-by-(M-Q), respectively. They are represented implicitly by Householder vectors. B11 and B12 are (M-Q)-by-(M-Q) bidiagonal matrices represented implicitly by angles THETA, PHI. More...

Public Member Functions

subroutine cunbdb4 (m, p, q, x11, ldx11, x21, ldx21, theta, phi, taup1, taup2, tauq1, phantom, work, lwork, info)
 
 la_cunbdb4
 
 la_wunbdb4
 
subroutine zunbdb4 (m, p, q, x11, ldx11, x21, ldx21, theta, phi, taup1, taup2, tauq1, phantom, work, lwork, info)
 
 la_zunbdb4
 

Detailed Description

UNBDB4: simultaneously bidiagonalizes the blocks of a tall and skinny matrix X with orthonomal columns: [ B11 ] [ X11 ] [ P1 | ] [ 0 ] [--—] = [------—] [--—] Q1**T . [ X21 ] [ | P2 ] [ B21 ] [ 0 ] X11 is P-by-Q, and X21 is (M-P)-by-Q. M-Q must be no larger than P, M-P, or Q. Routines CUNBDB1, CUNBDB2, and CUNBDB3 handle cases in which M-Q is not the minimum dimension. The unitary matrices P1, P2, and Q1 are P-by-P, (M-P)-by-(M-P), and (M-Q)-by-(M-Q), respectively. They are represented implicitly by Householder vectors. B11 and B12 are (M-Q)-by-(M-Q) bidiagonal matrices represented implicitly by angles THETA, PHI.

Member Function/Subroutine Documentation

◆ cunbdb4()

subroutine la_lapack::unbdb4::cunbdb4 ( integer(ilp), intent(in)  m,
integer(ilp), intent(in)  p,
integer(ilp), intent(in)  q,
complex(sp), dimension(ldx11,*), intent(inout)  x11,
integer(ilp), intent(in)  ldx11,
complex(sp), dimension(ldx21,*), intent(inout)  x21,
integer(ilp), intent(in)  ldx21,
real(sp), dimension(*), intent(out)  theta,
real(sp), dimension(*), intent(out)  phi,
complex(sp), dimension(*), intent(out)  taup1,
complex(sp), dimension(*), intent(out)  taup2,
complex(sp), dimension(*), intent(out)  tauq1,
complex(sp), dimension(*), intent(out)  phantom,
complex(sp), dimension(*), intent(out)  work,
integer(ilp), intent(in)  lwork,
integer(ilp), intent(out)  info 
)

◆ la_cunbdb4()

la_lapack::unbdb4::la_cunbdb4

◆ la_wunbdb4()

la_lapack::unbdb4::la_wunbdb4

◆ la_zunbdb4()

la_lapack::unbdb4::la_zunbdb4

◆ zunbdb4()

subroutine la_lapack::unbdb4::zunbdb4 ( integer(ilp), intent(in)  m,
integer(ilp), intent(in)  p,
integer(ilp), intent(in)  q,
complex(dp), dimension(ldx11,*), intent(inout)  x11,
integer(ilp), intent(in)  ldx11,
complex(dp), dimension(ldx21,*), intent(inout)  x21,
integer(ilp), intent(in)  ldx21,
real(dp), dimension(*), intent(out)  theta,
real(dp), dimension(*), intent(out)  phi,
complex(dp), dimension(*), intent(out)  taup1,
complex(dp), dimension(*), intent(out)  taup2,
complex(dp), dimension(*), intent(out)  tauq1,
complex(dp), dimension(*), intent(out)  phantom,
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: