LAPACK
3.4.2
LAPACK: Linear Algebra PACKage

Go to the source code of this file.
Functions/Subroutines  
subroutine  dlaexc (WANTQ, N, T, LDT, Q, LDQ, J1, N1, N2, WORK, INFO) 
DLAEXC swaps adjacent diagonal blocks of a real upper quasitriangular matrix in Schur canonical form, by an orthogonal similarity transformation. 
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 quasitriangular matrix in Schur canonical form, by an orthogonal similarity transformation.
Download DLAEXC + dependencies [TGZ] [ZIP] [TXT]DLAEXC swaps adjacent diagonal blocks T11 and T22 of order 1 or 2 in an upper quasitriangular matrix T by an orthogonal similarity transformation. T must be in Schur canonical form, that is, block upper triangular with 1by1 and 2by2 diagonal blocks; each 2by2 diagonal block has its diagonal elemnts equal and its offdiagonal elements of opposite sign.
[in]  WANTQ  WANTQ is LOGICAL = .TRUE. : accumulate the transformation in the matrix Q; = .FALSE.: do not accumulate the transformation. 
[in]  N  N is INTEGER The order of the matrix T. N >= 0. 
[in,out]  T  T is DOUBLE PRECISION array, dimension (LDT,N) On entry, the upper quasitriangular matrix T, in Schur canonical form. On exit, the updated matrix T, again in Schur canonical form. 
[in]  LDT  LDT is INTEGER The leading dimension of the array T. LDT >= max(1,N). 
[in,out]  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. 
[in]  LDQ  LDQ is INTEGER The leading dimension of the array Q. LDQ >= 1; and if WANTQ is .TRUE., LDQ >= N. 
[in]  J1  J1 is INTEGER The index of the first row of the first block T11. 
[in]  N1  N1 is INTEGER The order of the first block T11. N1 = 0, 1 or 2. 
[in]  N2  N2 is INTEGER The order of the second block T22. N2 = 0, 1 or 2. 
[out]  WORK  WORK is DOUBLE PRECISION array, dimension (N) 
[out]  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. 
Definition at line 138 of file dlaexc.f.