public interface laexc
LAEXC 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 elements equal and its off-diagonal elements of
opposite sign.
Subroutines
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
logical(kind=lk),
|
intent(in) |
|
|
:: |
wantq |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
n |
|
|
real(kind=dp),
|
intent(inout) |
|
|
:: |
t(ldt,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldt |
|
|
real(kind=dp),
|
intent(inout) |
|
|
:: |
q(ldq,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldq |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
j1 |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
n1 |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
n2 |
|
|
real(kind=dp),
|
intent(out) |
|
|
:: |
work(*) |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
info |
|
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
logical(kind=lk),
|
intent(in) |
|
|
:: |
wantq |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
n |
|
|
real(kind=sp),
|
intent(inout) |
|
|
:: |
t(ldt,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldt |
|
|
real(kind=sp),
|
intent(inout) |
|
|
:: |
q(ldq,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldq |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
j1 |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
n1 |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
n2 |
|
|
real(kind=sp),
|
intent(out) |
|
|
:: |
work(*) |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
info |
|
Module Procedures