public interface laed8
LAED8 merges the two sets of eigenvalues together into a single
sorted set. Then it tries to deflate the size of the problem.
There are two ways in which deflation can occur: when two or more
eigenvalues are close together or if there is a tiny element in the
Z vector. For each such occurrence the order of the related secular
equation problem is reduced by one.
Subroutines
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
k |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
n |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
qsiz |
|
|
complex(kind=sp),
|
intent(inout) |
|
|
:: |
q(ldq,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldq |
|
|
real(kind=sp),
|
intent(inout) |
|
|
:: |
d(*) |
|
|
real(kind=sp),
|
intent(inout) |
|
|
:: |
rho |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
cutpnt |
|
|
real(kind=sp),
|
intent(inout) |
|
|
:: |
z(*) |
|
|
real(kind=sp),
|
intent(out) |
|
|
:: |
dlamda(*) |
|
|
complex(kind=sp),
|
intent(out) |
|
|
:: |
q2(ldq2,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldq2 |
|
|
real(kind=sp),
|
intent(out) |
|
|
:: |
w(*) |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
indxp(*) |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
indx(*) |
|
|
integer(kind=ilp),
|
intent(inout) |
|
|
:: |
indxq(*) |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
perm(*) |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
givptr |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
givcol(2,*) |
|
|
real(kind=sp),
|
intent(out) |
|
|
:: |
givnum(2,*) |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
info |
|
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
icompq |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
k |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
n |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
qsiz |
|
|
real(kind=dp),
|
intent(inout) |
|
|
:: |
d(*) |
|
|
real(kind=dp),
|
intent(inout) |
|
|
:: |
q(ldq,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldq |
|
|
integer(kind=ilp),
|
intent(inout) |
|
|
:: |
indxq(*) |
|
|
real(kind=dp),
|
intent(inout) |
|
|
:: |
rho |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
cutpnt |
|
|
real(kind=dp),
|
intent(inout) |
|
|
:: |
z(*) |
|
|
real(kind=dp),
|
intent(out) |
|
|
:: |
dlamda(*) |
|
|
real(kind=dp),
|
intent(out) |
|
|
:: |
q2(ldq2,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldq2 |
|
|
real(kind=dp),
|
intent(out) |
|
|
:: |
w(*) |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
perm(*) |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
givptr |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
givcol(2,*) |
|
|
real(kind=dp),
|
intent(out) |
|
|
:: |
givnum(2,*) |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
indxp(*) |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
indx(*) |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
info |
|
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
icompq |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
k |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
n |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
qsiz |
|
|
real(kind=sp),
|
intent(inout) |
|
|
:: |
d(*) |
|
|
real(kind=sp),
|
intent(inout) |
|
|
:: |
q(ldq,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldq |
|
|
integer(kind=ilp),
|
intent(inout) |
|
|
:: |
indxq(*) |
|
|
real(kind=sp),
|
intent(inout) |
|
|
:: |
rho |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
cutpnt |
|
|
real(kind=sp),
|
intent(inout) |
|
|
:: |
z(*) |
|
|
real(kind=sp),
|
intent(out) |
|
|
:: |
dlamda(*) |
|
|
real(kind=sp),
|
intent(out) |
|
|
:: |
q2(ldq2,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldq2 |
|
|
real(kind=sp),
|
intent(out) |
|
|
:: |
w(*) |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
perm(*) |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
givptr |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
givcol(2,*) |
|
|
real(kind=sp),
|
intent(out) |
|
|
:: |
givnum(2,*) |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
indxp(*) |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
indx(*) |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
info |
|
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
k |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
n |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
qsiz |
|
|
complex(kind=dp),
|
intent(inout) |
|
|
:: |
q(ldq,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldq |
|
|
real(kind=dp),
|
intent(inout) |
|
|
:: |
d(*) |
|
|
real(kind=dp),
|
intent(inout) |
|
|
:: |
rho |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
cutpnt |
|
|
real(kind=dp),
|
intent(inout) |
|
|
:: |
z(*) |
|
|
real(kind=dp),
|
intent(out) |
|
|
:: |
dlamda(*) |
|
|
complex(kind=dp),
|
intent(out) |
|
|
:: |
q2(ldq2,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldq2 |
|
|
real(kind=dp),
|
intent(out) |
|
|
:: |
w(*) |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
indxp(*) |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
indx(*) |
|
|
integer(kind=ilp),
|
intent(inout) |
|
|
:: |
indxq(*) |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
perm(*) |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
givptr |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
givcol(2,*) |
|
|
real(kind=dp),
|
intent(out) |
|
|
:: |
givnum(2,*) |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
info |
|
Module Procedures