slaexc (l)  Linux Man Pages
slaexc: swaps adjacent diagonal blocks T11 and T22 of order 1 or 2 in an upper quasitriangular matrix T by an orthogonal similarity transformation
Command to display slaexc
manual in Linux: $ man l slaexc
NAME
SLAEXC  swaps adjacent diagonal blocks T11 and T22 of order 1 or 2 in an upper quasitriangular matrix T by an orthogonal similarity transformation
SYNOPSIS
 SUBROUTINE SLAEXC(

WANTQ, N, T, LDT, Q, LDQ, J1, N1, N2, WORK,
INFO )

LOGICAL
WANTQ

INTEGER
INFO, J1, LDQ, LDT, N, N1, N2

REAL
Q( LDQ, * ), T( LDT, * ), WORK( * )
PURPOSE
SLAEXC 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.
ARGUMENTS
 WANTQ (input) LOGICAL

= .TRUE. : accumulate the transformation in the matrix Q;
= .FALSE.: do not accumulate the transformation.
 N (input) INTEGER

The order of the matrix T. N >= 0.
 T (input/output) REAL 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.
 LDT (input) INTEGER

The leading dimension of the array T. LDT >= max(1,N).
 Q (input/output) 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 (input) INTEGER

The leading dimension of the array Q.
LDQ >= 1; and if WANTQ is .TRUE., LDQ >= 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.
 WORK (workspace) REAL 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.
Pages related to slaexc
 slaexc (3)
 slae2 (l)  computes the eigenvalues of a 2by2 symmetric matrix [ A B ] [ B C ]
 slaebz (l)  contains the iteration loops which compute and use the function N(w), which is the count of eigenvalues of a symmetric tridiagonal matrix T less than or equal to its argument w
 slaed0 (l)  computes all eigenvalues and corresponding eigenvectors of a symmetric tridiagonal matrix using the divide and conquer method
 slaed1 (l)  computes the updated eigensystem of a diagonal matrix after modification by a rankone symmetric matrix
 slaed2 (l)  merges the two sets of eigenvalues together into a single sorted set
 slaed3 (l)  finds the roots of the secular equation, as defined by the values in D, W, and RHO, between 1 and K
 slaed4 (l)  subroutine compute the Ith updated eigenvalue of a symmetric rankone modification to a diagonal matrix whose elements are given in the array d, and that D(i) < D(j) for i < j and that RHO > 0
 slaed5 (l)  subroutine compute the Ith eigenvalue of a symmetric rankone modification of a 2by2 diagonal matrix diag( D ) + RHO The diagonal elements in the array D are assumed to satisfy D(i) < D(j) for i < j
 slaed6 (l)  computes the positive or negative root (closest to the origin) of z(1) z(2) z(3) f(x) = rho +  +  +  d(1)x d(2)x d(3)x It is assumed that if ORGATI = .true