·  Home
+   man pages
 -> Linux -> FreeBSD -> OpenBSD -> NetBSD -> Tru64 Unix -> HP-UX 11i -> IRIX
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

man pages->IRIX man pages -> complib/dlaexc (3)
 Title
 Content
 Arch
 Section All Sections 1 - General Commands 2 - System Calls 3 - Subroutines 4 - Special Files 5 - File Formats 6 - Games 7 - Macros and Conventions 8 - Maintenance Commands 9 - Kernel Interface n - New Commands

### Contents

```
DLAEXC(3F)							    DLAEXC(3F)

```

### NAME[Toc][Back]

```     DLAEXC - swap adjacent diagonal blocks T11	and T22	of order 1 or 2	in an
upper quasi-triangular matrix T by	an orthogonal similarity
transformation
```

### SYNOPSIS[Toc][Back]

```     SUBROUTINE	DLAEXC(	WANTQ, N, T, LDT, Q, LDQ, J1, N1, N2, WORK, INFO )

LOGICAL	WANTQ

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

DOUBLE		PRECISION Q( LDQ, * ), T( LDT, * ), WORK( * )
```

### PURPOSE[Toc][Back]

```     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 elemnts equal and	its off-diagonal elements of opposite sign.

```

### ARGUMENTS[Toc][Back]

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

Q	     (input/output) 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     (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.

Page 1

DLAEXC(3F)							    DLAEXC(3F)

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) 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.
DLAEXC(3F)							    DLAEXC(3F)

```

### NAME[Toc][Back]

```     DLAEXC - swap adjacent diagonal blocks T11	and T22	of order 1 or 2	in an
upper quasi-triangular matrix T by	an orthogonal similarity
transformation
```

### SYNOPSIS[Toc][Back]

```     SUBROUTINE	DLAEXC(	WANTQ, N, T, LDT, Q, LDQ, J1, N1, N2, WORK, INFO )

LOGICAL	WANTQ

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

DOUBLE		PRECISION Q( LDQ, * ), T( LDT, * ), WORK( * )
```

### PURPOSE[Toc][Back]

```     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 elemnts equal and	its off-diagonal elements of opposite sign.

```

### ARGUMENTS[Toc][Back]

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

Q	     (input/output) 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     (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.

Page 1

DLAEXC(3F)							    DLAEXC(3F)

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) 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.

PPPPaaaaggggeeee 2222```
[ Back ]
Similar pages