# ?lanv2

Computes the Schur factorization of a real 2-by-2 nonsymmetric matrix in standard form.

## Syntax

call slanv2( a, b, c, d, rt1r, rt1i, rt2r, rt2i, cs, sn )

call dlanv2( a, b, c, d, rt1r, rt1i, rt2r, rt2i, cs, sn )

## Description

The routine computes the Schur factorization of a real 2-by-2 nonsymmetric matrix in standard form:

where either

1. `cc = 0` so that aa and dd are real eigenvalues of the matrix, or

2. `aa = dd` and `bb*cc < 0`, so that `aa ± sqrt(bb*cc)` are complex conjugate eigenvalues.

The routine was adjusted to reduce the risk of cancellation errors, when computing real eigenvalues, and to ensure, if possible, that `abs(rt1r) ≥ abs(rt2r)`.

## Input Parameters

a, b, c, d

  REAL for slanv2

  DOUBLE PRECISION for dlanv2.

  On entry, elements of the input matrix.

## Output Parameters

a, b, c, d

  On exit, overwritten by the elements of the standardized Schur form.

rt1r, rt1i, rt2r, rt2i

  REAL for slanv2

  DOUBLE PRECISION for dlanv2.

  The real and imaginary parts of the eigenvalues.

  If the eigenvalues are a complex conjugate pair, `rt1i > 0`.

cs, sn

  REAL for slanv2

  DOUBLE PRECISION for dlanv2.

  Parameters of the rotation matrix.

Parent topic: Auxiliary Routines