dwww Home | Manual pages | Find package

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.

Version 3.12.0              Thu Aug 7 2025 17:26:25                    laexc(3)

Generated by dwww version 1.16 on Sat Oct 3 07:35:09 CEST 2026.