BDLAEXC(3) ScaLAPACK routine of NEC Numeric Library Collection BDLAEXC(3) NAME BDLAEXC - swaps adjacent diagonal blocks T11 and T22 of order 1 or 2 in an upper quasi-triangular matrix T by an orthogonal similarity trans- formation SYNOPSIS SUBROUTINE BDLAEXC( N, T, LDT, J1, N1, N2, ITRAF, DTRAF, WORK, INFO ) INTEGER INFO, J1, LDT, N, N1, N2 INTEGER ITRAF( * ) DOUBLE PRECISION DTRAF( * ), T( LDT, * ), WORK( * ) PURPOSE BDLAEXC swaps adjacent diagonal blocks T11 and T22 of order 1 or 2 in an upper quasi-triangular matrix T by an orthogonal similarity trans- formation. In contrast to the LAPACK routine DLAEXC, the orthogonal transformation matrix Q is not explicitly constructed but represented by paramaters contained in the arrays ITRAF and DTRAF, see the description of BDTREXC for more details. 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 elemnts equal and its off-diagonal elements of opposite sign. ARGUMENTS N (input) INTEGER The order of the matrix T. N >= 0. T (input/output) DOUBLE PRECISION array, dimension (LDT,N) On entry, the upper quasi-triangular matrix T, in Schur canoni- cal form. On exit, the updated matrix T, again in Schur canonical form. LDT (input) INTEGER The leading dimension of the array T. LDT >= max(1,N). J1 (input) INTEGER The index of the first row of the first block T11. N1 (input) INTEGER The order of the first block T11. N1 = 0, 1 or 2. N2 (input) INTEGER The order of the second block T22. N2 = 0, 1 or 2. ITRAF (output) INTEGER array, length k, where k = 1, if N1+N2 = 2; k = 2, if N1+N2 = 3; k = 4, if N1+N2 = 4. List of parameters for representing the transformation matrix Q, see BDTREXC. DTRAF (output) DOUBLE PRECISION array, length k, where k = 2, if N1+N2 = 2; k = 5, if N1+N2 = 3; k = 10, if N1+N2 = 4. List of parameters for representing the transformation matrix Q, see BDTREXC. WORK (workspace) DOUBLE PRECISION array, dimension (N) INFO (output) 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. ScaLAPACK routine 31 October 2017 BDLAEXC(3)