public interface laqr1
Given a 2-by-2 or 3-by-3 matrix H, LAQR1: sets v to a
scalar multiple of the first column of the product
() K = (H - s1I)(H - s2I)
scaling to avoid overflows and most underflows.
This is useful for starting double implicit shift bulges
in the QR algorithm.
Subroutines
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
n |
|
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
h(ldh,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldh |
|
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
s1 |
|
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
s2 |
|
|
complex(kind=sp),
|
intent(out) |
|
|
:: |
v(*) |
|
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
n |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
h(ldh,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldh |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
sr1 |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
si1 |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
sr2 |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
si2 |
|
|
real(kind=dp),
|
intent(out) |
|
|
:: |
v(*) |
|
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
n |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
h(ldh,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldh |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
sr1 |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
si1 |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
sr2 |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
si2 |
|
|
real(kind=sp),
|
intent(out) |
|
|
:: |
v(*) |
|
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
n |
|
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
h(ldh,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldh |
|
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
s1 |
|
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
s2 |
|
|
complex(kind=dp),
|
intent(out) |
|
|
:: |
v(*) |
|
Module Procedures