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.

Tue Jan 28 2025 00:54:31 Version 3.12.0