Scroll to navigation

laexc(3) LAPACK laexc(3)

NAME

laexc - laexc: reorder Schur form

SYNOPSIS

Functions


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

Detailed Description

Function 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.

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.

Author

Generated automatically by Doxygen for LAPACK from the source code.

Wed Feb 7 2024 11:30:40 Version 3.12.0