---
name: "slags2.f"
section: "3"
platform: "linux"
package: "lapack-doc"
version: "3.12.1-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/slags2.f"
---

# slags2.f(3)

## NAME

SRC/slags2.f

## SYNOPSIS

### Functions/Subroutines

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.

## Function/Subroutine Documentation

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

## Author

Generated automatically by Doxygen for LAPACK from the source code.
