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

UNBDB: simultaneously bidiagonalizes the blocks of an M-by-M partitioned unitary matrix X: [ B11 | B12 0 0 ] [ X11 | X12 ] [ P1 | ] [ 0 | 0 -I 0 ] [ Q1 | ]**H X = [--------—] = [------—] [-------------—] [------—] . [ X21 | X22 ] [ | P2 ] [ B21 | B22 0 0 ] [ | Q2 ] [ 0 | 0 0 I ] X11 is P-by-Q. Q must be no larger than P, M-P, or M-Q. (If this is not the case, then X must be transposed and/or permuted. This can be done in constant time using the TRANS and SIGNS options. See CUNCSD for details.) The unitary matrices P1, P2, Q1, and Q2 are P-by-P, (M-P)-by- (M-P), Q-by-Q, and (M-Q)-by-(M-Q), respectively. They are represented implicitly by Householder vectors. B11, B12, B21, and B22 are Q-by-Q bidiagonal matrices represented implicitly by angles THETA, PHI. More...

Public Member Functions

subroutine cunbdb (trans, signs, m, p, q, x11, ldx11, x12, ldx12, x21, ldx21, x22, ldx22, theta, phi, taup1, taup2, tauq1, tauq2, work, lwork, info)
 
 la_cunbdb
 
 la_wunbdb
 
subroutine zunbdb (trans, signs, m, p, q, x11, ldx11, x12, ldx12, x21, ldx21, x22, ldx22, theta, phi, taup1, taup2, tauq1, tauq2, work, lwork, info)
 
 la_zunbdb
 

Detailed Description

UNBDB: simultaneously bidiagonalizes the blocks of an M-by-M partitioned unitary matrix X: [ B11 | B12 0 0 ] [ X11 | X12 ] [ P1 | ] [ 0 | 0 -I 0 ] [ Q1 | ]**H X = [--------—] = [------—] [-------------—] [------—] . [ X21 | X22 ] [ | P2 ] [ B21 | B22 0 0 ] [ | Q2 ] [ 0 | 0 0 I ] X11 is P-by-Q. Q must be no larger than P, M-P, or M-Q. (If this is not the case, then X must be transposed and/or permuted. This can be done in constant time using the TRANS and SIGNS options. See CUNCSD for details.) The unitary matrices P1, P2, Q1, and Q2 are P-by-P, (M-P)-by- (M-P), Q-by-Q, and (M-Q)-by-(M-Q), respectively. They are represented implicitly by Householder vectors. B11, B12, B21, and B22 are Q-by-Q bidiagonal matrices represented implicitly by angles THETA, PHI.

Member Function/Subroutine Documentation

◆ cunbdb()

subroutine la_lapack::unbdb::cunbdb ( character, intent(in)  trans,
character, intent(in)  signs,
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(ldx12,*), intent(inout)  x12,
integer(ilp), intent(in)  ldx12,
complex(sp), dimension(ldx21,*), intent(inout)  x21,
integer(ilp), intent(in)  ldx21,
complex(sp), dimension( ldx22,*), intent(inout)  x22,
integer(ilp), intent(in)  ldx22,
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)  tauq2,
complex(sp), dimension(*), intent(out)  work,
integer(ilp), intent(in)  lwork,
integer(ilp), intent(out)  info 
)

◆ la_cunbdb()

la_lapack::unbdb::la_cunbdb

◆ la_wunbdb()

la_lapack::unbdb::la_wunbdb

◆ la_zunbdb()

la_lapack::unbdb::la_zunbdb

◆ zunbdb()

subroutine la_lapack::unbdb::zunbdb ( character, intent(in)  trans,
character, intent(in)  signs,
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(ldx12,*), intent(inout)  x12,
integer(ilp), intent(in)  ldx12,
complex(dp), dimension(ldx21,*), intent(inout)  x21,
integer(ilp), intent(in)  ldx21,
complex(dp), dimension( ldx22,*), intent(inout)  x22,
integer(ilp), intent(in)  ldx22,
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)  tauq2,
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: