SRC/slaexc.f(3)

NAME
SRC/slaexc.f

SYNOPSIS

  Functions/Subroutines
subroutine slaexc (wantq, n, t, ldt, q, ldq, j1, n1, n2, work, info)
SLAEXC swaps adjacent diagonal blocks of a real upper quasi-triangular matrix in Schur canonical form, by an orthogonal similarity transformation.

Function/Subroutine Documentation

  subroutine slaexc (logical wantq, integer n, real, dimension( ldt, * ) t, integer ldt, real, dimension( ldq, * ) q, integer ldq, integer j1, integer n1, integer n2, real, dimension( * ) work, integer info)

SLAEXC swaps adjacent diagonal blocks of a real upper quasi-triangular matrix in Schur canonical form, by an orthogonal similarity transformation.

Purpose:

     SLAEXC swaps adjacent diagonal blocks T11 and T22 of order 1 or 2 in
     an upper quasi-triangular matrix T by an orthogonal similarity
     transformation.
     T must be in Schur canonical form, that is, block upper triangular
     with 1-by-1 and 2-by-2 diagonal blocks; each 2-by-2 diagonal block
     has its diagonal elements equal and its off-diagonal elements of
     opposite sign.

Parameters
    WANTQ

              WANTQ is LOGICAL
              = .TRUE. : accumulate the transformation in the matrix Q;
              = .FALSE.: do not accumulate the transformation.

    N

              N is INTEGER
              The order of the matrix T. N >= 0.

    T

              T is REAL array, dimension (LDT,N)
              On entry, the upper quasi-triangular matrix T, in Schur
              canonical form.
              On exit, the updated matrix T, again in Schur canonical form.

    LDT

              LDT is INTEGER
              The leading dimension of the array T. LDT >= max(1,N).

    Q

              Q is REAL array, dimension (LDQ,N)
              On entry, if WANTQ is .TRUE., the orthogonal matrix Q.
              On exit, if WANTQ is .TRUE., the updated matrix Q.
              If WANTQ is .FALSE., Q is not referenced.

    LDQ

              LDQ is INTEGER
              The leading dimension of the array Q.
              LDQ >= 1; and if WANTQ is .TRUE., LDQ >= N.

    J1

              J1 is INTEGER
              The index of the first row of the first block T11.

    N1

              N1 is INTEGER
              The order of the first block T11. N1 = 0, 1 or 2.

    N2

              N2 is INTEGER
              The order of the second block T22. N2 = 0, 1 or 2.

    WORK

              WORK is REAL array, dimension (N)

    INFO

              INFO is INTEGER
              = 0: successful exit
              = 1: the transformed matrix T would be too far from Schur
                   form; the blocks are not swapped and T and Q are
                   unchanged.

Author
    Univ. of Tennessee

    Univ. of California Berkeley

    Univ. of Colorado Denver

    NAG Ltd.

Definition at line 136 of file slaexc.f.

Author

Generated automatically by Doxygen for LAPACK from the source code.