public interface larrb
Given the relatively robust representation(RRR) L D L^T, LARRB:
does "limited" bisection to refine the eigenvalues of L D L^T,
W( IFIRST-OFFSET ) through W( ILAST-OFFSET ), to more accuracy. Initial
guesses for these eigenvalues are input in W, the corresponding estimate
of the error in these guesses and their gaps are input in WERR
and WGAP, respectively. During bisection, intervals
[left, right] are maintained by storing their mid-points and
semi-widths in the arrays W and WERR respectively.
Subroutines
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
n |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
d(*) |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
lld(*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ifirst |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ilast |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
rtol1 |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
rtol2 |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
offset |
|
|
real(kind=dp),
|
intent(inout) |
|
|
:: |
w(*) |
|
|
real(kind=dp),
|
intent(inout) |
|
|
:: |
wgap(*) |
|
|
real(kind=dp),
|
intent(inout) |
|
|
:: |
werr(*) |
|
|
real(kind=dp),
|
intent(out) |
|
|
:: |
work(*) |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
iwork(*) |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
pivmin |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
spdiam |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
twist |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
info |
|
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
n |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
d(*) |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
lld(*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ifirst |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ilast |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
rtol1 |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
rtol2 |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
offset |
|
|
real(kind=sp),
|
intent(inout) |
|
|
:: |
w(*) |
|
|
real(kind=sp),
|
intent(inout) |
|
|
:: |
wgap(*) |
|
|
real(kind=sp),
|
intent(inout) |
|
|
:: |
werr(*) |
|
|
real(kind=sp),
|
intent(out) |
|
|
:: |
work(*) |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
iwork(*) |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
pivmin |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
spdiam |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
twist |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
info |
|
Module Procedures