Loading [MathJax]/jax/output/HTML-CSS/config.js
fortran-lapack
All Classes Namespaces Files Functions Variables Pages
la_lapack::orbdb3 Interface Reference

ORBDB3: 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-P must be no larger than P, Q, or M-Q. Routines DORBDB1, DORBDB2, and DORBDB4 handle cases in which M-P is not the minimum dimension. The orthogonal 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-P)-by-(M-P) bidiagonal matrices represented implicitly by angles THETA, PHI. More...

Public Member Functions

subroutine dorbdb3 (m, p, q, x11, ldx11, x21, ldx21, theta, phi, taup1, taup2, tauq1, work, lwork, info)
 
 la_dorbdb3
 
 la_qorbdb3
 
subroutine sorbdb3 (m, p, q, x11, ldx11, x21, ldx21, theta, phi, taup1, taup2, tauq1, work, lwork, info)
 
 la_sorbdb3
 

Detailed Description

ORBDB3: 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-P must be no larger than P, Q, or M-Q. Routines DORBDB1, DORBDB2, and DORBDB4 handle cases in which M-P is not the minimum dimension. The orthogonal 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-P)-by-(M-P) bidiagonal matrices represented implicitly by angles THETA, PHI.

Member Function/Subroutine Documentation

◆ dorbdb3()

subroutine la_lapack::orbdb3::dorbdb3 ( integer(ilp), intent(in) m,
integer(ilp), intent(in) p,
integer(ilp), intent(in) q,
real(dp), dimension(ldx11,*), intent(inout) x11,
integer(ilp), intent(in) ldx11,
real(dp), dimension(ldx21,*), intent(inout) x21,
integer(ilp), intent(in) ldx21,
real(dp), dimension(*), intent(out) theta,
real(dp), dimension(*), intent(out) phi,
real(dp), dimension(*), intent(out) taup1,
real(dp), dimension(*), intent(out) taup2,
real(dp), dimension(*), intent(out) tauq1,
real(dp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
integer(ilp), intent(out) info )

◆ la_dorbdb3()

la_lapack::orbdb3::la_dorbdb3

◆ la_qorbdb3()

la_lapack::orbdb3::la_qorbdb3

◆ la_sorbdb3()

la_lapack::orbdb3::la_sorbdb3

◆ sorbdb3()

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