# dlags2.f

Section: LAPACK (3)
Updated: Tue Nov 14 2017
Page Index

dlags2.f

## SYNOPSIS

### Functions/Subroutines

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.

## Function/Subroutine Documentation

### 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