public interface laed4
This subroutine computes the I-th updated eigenvalue of a symmetric
rank-one 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. This is arranged by the calling routine, and is
no loss in generality. The rank-one modified system is thus
diag( D ) + RHO * Z * Z_transpose.
where we assume the Euclidean norm of Z is 1.
The method consists of approximating the rational functions in the
secular equation by simpler interpolating rational functions.
Subroutines
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
n |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
i |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
d(*) |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
z(*) |
|
|
real(kind=dp),
|
intent(out) |
|
|
:: |
delta(*) |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
rho |
|
|
real(kind=dp),
|
intent(out) |
|
|
:: |
dlam |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
info |
|
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
n |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
i |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
d(*) |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
z(*) |
|
|
real(kind=sp),
|
intent(out) |
|
|
:: |
delta(*) |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
rho |
|
|
real(kind=sp),
|
intent(out) |
|
|
:: |
dlam |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
info |
|
Module Procedures