lags2(3)

NAME
lags2 - lags2: 2x2 orthogonal factor, step in tgsja

SYNOPSIS

  Functions

subroutine clags2 (upper, a1, a2, a3, b1, b2, b3, csu, snu, csv, snv, csq, snq)
CLAGS2
subroutine dlags2 (upper, a1, a2, a3, b1, b2, b3, csu, snu, csv, snv, csq, snq)
DLAGS2 computes 2-by-2 orthogonal matrices U, V, and Q, and applies them to matrices A and B such that the rows of the transformed A and B are parallel.
subroutine slags2 (upper, a1, a2, a3, b1, b2, b3, csu, snu, csv, snv, csq, snq)
SLAGS2 computes 2-by-2 orthogonal matrices U, V, and Q, and applies them to matrices A and B such that the rows of the transformed A and B are parallel.
subroutine zlags2 (upper, a1, a2, a3, b1, b2, b3, csu, snu, csv, snv, csq, snq)
ZLAGS2

Detailed Description

Function Documentation

  subroutine clags2 (logical upper, real a1, complex a2, real a3, real b1, complex b2, real b3, real csu, complex snu, real csv, complex snv, real csq, complex snq)

CLAGS2

Purpose:

    !>
    !> CLAGS2 computes 2-by-2 unitary matrices U, V and Q, such
    !> that if ( UPPER ) then
    !>
    !>           U**H *A*Q = U**H *( A1 A2 )*Q = ( x  0  )
    !>                             ( 0  A3 )     ( x  x  )
    !> and
    !>           V**H*B*Q = V**H *( B1 B2 )*Q = ( x  0  )
    !>                            ( 0  B3 )     ( x  x  )
    !>
    !> or if ( .NOT.UPPER ) then
    !>
    !>           U**H *A*Q = U**H *( A1 0  )*Q = ( x  x  )
    !>                             ( A2 A3 )     ( 0  x  )
    !> and
    !>           V**H *B*Q = V**H *( B1 0  )*Q = ( x  x  )
    !>                             ( B2 B3 )     ( 0  x  )
    !> where
    !>
    !>   U = (   CSU    SNU ), V = (  CSV    SNV ),
    !>       ( -SNU**H  CSU )      ( -SNV**H CSV )
    !>
    !>   Q = (   CSQ    SNQ )
    !>       ( -SNQ**H  CSQ )
    !>
    !> The rows of the transformed A and B are parallel. Moreover, if the
    !> input 2-by-2 matrix A is not zero, then the transformed (1,1) entry
    !> of A is not zero. If the input matrices A and B are both not zero,
    !> then the transformed (2,2) element of B is not zero, except when the
    !> first rows of input A and B are parallel and the second rows are
    !> zero.
    !>

Parameters
    UPPER

    !>          UPPER is LOGICAL
    !>          = .TRUE.: the input matrices A and B are upper triangular.
    !>          = .FALSE.: the input matrices A and B are lower triangular.
    !>

    A1

    !>          A1 is REAL
    !>

    A2

    !>          A2 is COMPLEX
    !>

    A3

    !>          A3 is REAL
    !>          On entry, A1, A2 and A3 are elements of the input 2-by-2
    !>          upper (lower) triangular matrix A.
    !>

    B1

    !>          B1 is REAL
    !>

    B2

    !>          B2 is COMPLEX
    !>

    B3

    !>          B3 is REAL
    !>          On entry, B1, B2 and B3 are elements of the input 2-by-2
    !>          upper (lower) triangular matrix B.
    !>

    CSU

    !>          CSU is REAL
    !>

    SNU

    !>          SNU is COMPLEX
    !>          The desired unitary matrix U.
    !>

    CSV

    !>          CSV is REAL
    !>

    SNV

    !>          SNV is COMPLEX
    !>          The desired unitary matrix V.
    !>

    CSQ

    !>          CSQ is REAL
    !>

    SNQ

    !>          SNQ is COMPLEX
    !>          The desired unitary matrix Q.
    !>

Author
    Univ. of Tennessee

    Univ. of California Berkeley

    Univ. of Colorado Denver

    NAG Ltd.

  subroutine dlags2 (logical upper, double precision a1, double precision a2, double precision a3, double precision b1, double precision b2, double precision b3, double precision csu, double precision snu, double precision csv, double precision snv, double precision csq, double precision snq)

DLAGS2 computes 2-by-2 orthogonal matrices U, V, and Q, and applies them to matrices A and B such that the rows of the transformed A and B are parallel.

Purpose:

    !>
    !> DLAGS2 computes 2-by-2 orthogonal matrices U, V and Q, such
    !> that if ( UPPER ) then
    !>
    !>           U**T *A*Q = U**T *( A1 A2 )*Q = ( x  0  )
    !>                             ( 0  A3 )     ( x  x  )
    !> and
    !>           V**T*B*Q = V**T *( B1 B2 )*Q = ( x  0  )
    !>                            ( 0  B3 )     ( x  x  )
    !>
    !> or if ( .NOT.UPPER ) then
    !>
    !>           U**T *A*Q = U**T *( A1 0  )*Q = ( x  x  )
    !>                             ( A2 A3 )     ( 0  x  )
    !> and
    !>           V**T*B*Q = V**T*( B1 0  )*Q = ( x  x  )
    !>                           ( B2 B3 )     ( 0  x  )
    !>
    !> The rows of the transformed A and B are parallel, where
    !>
    !>   U = (  CSU  SNU ), V = (  CSV SNV ), Q = (  CSQ   SNQ )
    !>       ( -SNU  CSU )      ( -SNV CSV )      ( -SNQ   CSQ )
    !>
    !> Z**T denotes the transpose of Z.
    !>
    !>

Parameters
    UPPER

    !>          UPPER is LOGICAL
    !>          = .TRUE.: the input matrices A and B are upper triangular.
    !>          = .FALSE.: the input matrices A and B are lower triangular.
    !>

    A1

    !>          A1 is DOUBLE PRECISION
    !>

    A2

    !>          A2 is DOUBLE PRECISION
    !>

    A3

    !>          A3 is DOUBLE PRECISION
    !>          On entry, A1, A2 and A3 are elements of the input 2-by-2
    !>          upper (lower) triangular matrix A.
    !>

    B1

    !>          B1 is DOUBLE PRECISION
    !>

    B2

    !>          B2 is DOUBLE PRECISION
    !>

    B3

    !>          B3 is DOUBLE PRECISION
    !>          On entry, B1, B2 and B3 are elements of the input 2-by-2
    !>          upper (lower) triangular matrix B.
    !>

    CSU

    !>          CSU is DOUBLE PRECISION
    !>

    SNU

    !>          SNU is DOUBLE PRECISION
    !>          The desired orthogonal matrix U.
    !>

    CSV

    !>          CSV is DOUBLE PRECISION
    !>

    SNV

    !>          SNV is DOUBLE PRECISION
    !>          The desired orthogonal matrix V.
    !>

    CSQ

    !>          CSQ is DOUBLE PRECISION
    !>

    SNQ

    !>          SNQ is DOUBLE PRECISION
    !>          The desired orthogonal matrix Q.
    !>

Author
    Univ. of Tennessee

    Univ. of California Berkeley

    Univ. of Colorado Denver

    NAG Ltd.

  subroutine slags2 (logical upper, real a1, real a2, real a3, real b1, real b2, real b3, real csu, real snu, real csv, real snv, real csq, real snq)

SLAGS2 computes 2-by-2 orthogonal matrices U, V, and Q, and applies them to matrices A and B such that the rows of the transformed A and B are parallel.

Purpose:

    !>
    !> SLAGS2 computes 2-by-2 orthogonal matrices U, V and Q, such
    !> that if ( UPPER ) then
    !>
    !>           U**T *A*Q = U**T *( A1 A2 )*Q = ( x  0  )
    !>                             ( 0  A3 )     ( x  x  )
    !> and
    !>           V**T*B*Q = V**T *( B1 B2 )*Q = ( x  0  )
    !>                            ( 0  B3 )     ( x  x  )
    !>
    !> or if ( .NOT.UPPER ) then
    !>
    !>           U**T *A*Q = U**T *( A1 0  )*Q = ( x  x  )
    !>                             ( A2 A3 )     ( 0  x  )
    !> and
    !>           V**T*B*Q = V**T*( B1 0  )*Q = ( x  x  )
    !>                           ( B2 B3 )     ( 0  x  )
    !>
    !> The rows of the transformed A and B are parallel, where
    !>
    !>   U = (  CSU  SNU ), V = (  CSV SNV ), Q = (  CSQ   SNQ )
    !>       ( -SNU  CSU )      ( -SNV CSV )      ( -SNQ   CSQ )
    !>
    !> Z**T denotes the transpose of Z.
    !>
    !>

Parameters
    UPPER

    !>          UPPER is LOGICAL
    !>          = .TRUE.: the input matrices A and B are upper triangular.
    !>          = .FALSE.: the input matrices A and B are lower triangular.
    !>

    A1

    !>          A1 is REAL
    !>

    A2

    !>          A2 is REAL
    !>

    A3

    !>          A3 is REAL
    !>          On entry, A1, A2 and A3 are elements of the input 2-by-2
    !>          upper (lower) triangular matrix A.
    !>

    B1

    !>          B1 is REAL
    !>

    B2

    !>          B2 is REAL
    !>

    B3

    !>          B3 is REAL
    !>          On entry, B1, B2 and B3 are elements of the input 2-by-2
    !>          upper (lower) triangular matrix B.
    !>

    CSU

    !>          CSU is REAL
    !>

    SNU

    !>          SNU is REAL
    !>          The desired orthogonal matrix U.
    !>

    CSV

    !>          CSV is REAL
    !>

    SNV

    !>          SNV is REAL
    !>          The desired orthogonal matrix V.
    !>

    CSQ

    !>          CSQ is REAL
    !>

    SNQ

    !>          SNQ is REAL
    !>          The desired orthogonal matrix Q.
    !>

Author
    Univ. of Tennessee

    Univ. of California Berkeley

    Univ. of Colorado Denver

    NAG Ltd.

  subroutine zlags2 (logical upper, double precision a1, complex*16 a2, double precision a3, double precision b1, complex*16 b2, double precision b3, double precision csu, complex*16 snu, double precision csv, complex*16 snv, double precision csq, complex*16 snq)

ZLAGS2

Purpose:

    !>
    !> ZLAGS2 computes 2-by-2 unitary matrices U, V and Q, such
    !> that if ( UPPER ) then
    !>
    !>           U**H *A*Q = U**H *( A1 A2 )*Q = ( x  0  )
    !>                             ( 0  A3 )     ( x  x  )
    !> and
    !>           V**H*B*Q = V**H *( B1 B2 )*Q = ( x  0  )
    !>                            ( 0  B3 )     ( x  x  )
    !>
    !> or if ( .NOT.UPPER ) then
    !>
    !>           U**H *A*Q = U**H *( A1 0  )*Q = ( x  x  )
    !>                             ( A2 A3 )     ( 0  x  )
    !> and
    !>           V**H *B*Q = V**H *( B1 0  )*Q = ( x  x  )
    !>                             ( B2 B3 )     ( 0  x  )
    !> where
    !>
    !>   U = (   CSU    SNU ), V = (  CSV    SNV ),
    !>       ( -SNU**H  CSU )      ( -SNV**H CSV )
    !>
    !>   Q = (   CSQ    SNQ )
    !>       ( -SNQ**H  CSQ )
    !>
    !> The rows of the transformed A and B are parallel. Moreover, if the
    !> input 2-by-2 matrix A is not zero, then the transformed (1,1) entry
    !> of A is not zero. If the input matrices A and B are both not zero,
    !> then the transformed (2,2) element of B is not zero, except when the
    !> first rows of input A and B are parallel and the second rows are
    !> zero.
    !>

Parameters
    UPPER

    !>          UPPER is LOGICAL
    !>          = .TRUE.: the input matrices A and B are upper triangular.
    !>          = .FALSE.: the input matrices A and B are lower triangular.
    !>

    A1

    !>          A1 is DOUBLE PRECISION
    !>

    A2

    !>          A2 is COMPLEX*16
    !>

    A3

    !>          A3 is DOUBLE PRECISION
    !>          On entry, A1, A2 and A3 are elements of the input 2-by-2
    !>          upper (lower) triangular matrix A.
    !>

    B1

    !>          B1 is DOUBLE PRECISION
    !>

    B2

    !>          B2 is COMPLEX*16
    !>

    B3

    !>          B3 is DOUBLE PRECISION
    !>          On entry, B1, B2 and B3 are elements of the input 2-by-2
    !>          upper (lower) triangular matrix B.
    !>

    CSU

    !>          CSU is DOUBLE PRECISION
    !>

    SNU

    !>          SNU is COMPLEX*16
    !>          The desired unitary matrix U.
    !>

    CSV

    !>          CSV is DOUBLE PRECISION
    !>

    SNV

    !>          SNV is COMPLEX*16
    !>          The desired unitary matrix V.
    !>

    CSQ

    !>          CSQ is DOUBLE PRECISION
    !>

    SNQ

    !>          SNQ is COMPLEX*16
    !>          The desired unitary matrix Q.
    !>

Author
    Univ. of Tennessee

    Univ. of California Berkeley

    Univ. of Colorado Denver

    NAG Ltd.

Author

Generated automatically by Doxygen for LAPACK from the source code.