Sponsor:

Your company here, and a link to your site. Click to find out more.

lags2 - Man Page

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.

Definition at line 156 of file clags2.f.

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.

Definition at line 150 of file dlags2.f.

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.

Definition at line 150 of file slags2.f.

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.

Definition at line 156 of file zlags2.f.

Author

Generated automatically by Doxygen for LAPACK from the source code.

Info

Tue Nov 28 2023 12:08:43 Version 3.12.0 LAPACK