1SLAEXC(1) LAPACK auxiliary routine (version 3.2) SLAEXC(1)
2
3
4
6 SLAEXC - swaps adjacent diagonal blocks T11 and T22 of order 1 or 2 in
7 an upper quasi-triangular matrix T by an orthogonal similarity trans‐
8 formation
9
11 SUBROUTINE SLAEXC( WANTQ, N, T, LDT, Q, LDQ, J1, N1, N2, WORK, INFO )
12
13 LOGICAL WANTQ
14
15 INTEGER INFO, J1, LDQ, LDT, N, N1, N2
16
17 REAL Q( LDQ, * ), T( LDT, * ), WORK( * )
18
20 SLAEXC swaps adjacent diagonal blocks T11 and T22 of order 1 or 2 in an
21 upper quasi-triangular matrix T by an orthogonal similarity transforma‐
22 tion. T must be in Schur canonical form, that is, block upper triangu‐
23 lar with 1-by-1 and 2-by-2 diagonal blocks; each 2-by-2 diagonal block
24 has its diagonal elemnts equal and its off-diagonal elements of oppo‐
25 site sign.
26
28 WANTQ (input) LOGICAL
29 = .TRUE. : accumulate the transformation in the matrix Q;
30 = .FALSE.: do not accumulate the transformation.
31
32 N (input) INTEGER
33 The order of the matrix T. N >= 0.
34
35 T (input/output) REAL array, dimension (LDT,N)
36 On entry, the upper quasi-triangular matrix T, in Schur canoni‐
37 cal form. On exit, the updated matrix T, again in Schur canon‐
38 ical form.
39
40 LDT (input) INTEGER
41 The leading dimension of the array T. LDT >= max(1,N).
42
43 Q (input/output) REAL array, dimension (LDQ,N)
44 On entry, if WANTQ is .TRUE., the orthogonal matrix Q. On
45 exit, if WANTQ is .TRUE., the updated matrix Q. If WANTQ is
46 .FALSE., Q is not referenced.
47
48 LDQ (input) INTEGER
49 The leading dimension of the array Q. LDQ >= 1; and if WANTQ
50 is .TRUE., LDQ >= N.
51
52 J1 (input) INTEGER
53 The index of the first row of the first block T11.
54
55 N1 (input) INTEGER
56 The order of the first block T11. N1 = 0, 1 or 2.
57
58 N2 (input) INTEGER
59 The order of the second block T22. N2 = 0, 1 or 2.
60
61 WORK (workspace) REAL array, dimension (N)
62
63 INFO (output) INTEGER
64 = 0: successful exit
65 = 1: the transformed matrix T would be too far from Schur form;
66 the blocks are not swapped and T and Q are unchanged.
67
68
69
70 LAPACK auxiliary routine (versionNo3v.e2m)ber 2008 SLAEXC(1)