SRC/dlaexc.f(3)

NAME
SRC/dlaexc.f

SYNOPSIS

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

Function/Subroutine Documentation

  subroutine dlaexc (logical wantq, integer n, double precision, dimension( ldt, * ) t, integer ldt, double precision, dimension( ldq, * ) q, integer ldq, integer j1, integer n1, integer n2, double precision, dimension( * ) work, integer info)

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

Purpose:

    !>
    !> DLAEXC 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 dlaexc.f.

Author

Generated automatically by Doxygen for LAPACK from the source code.