Purpose
=======
This program sets problem and machine dependent parameters
useful for xHSEQR and its subroutines. It is called whenever
ILAENV is called with 12 .LE. ISPEC .LE. 16
Namespace: DotNumerics.LinearAlgebra.CSLapackAssembly: DWSIM.MathOps.DotNumerics (in DWSIM.MathOps.DotNumerics.dll) Version: 1.0.0.0 (1.0.0.0)
Syntax public int Run(
int ISPEC,
string NAME,
string OPTS,
int N,
int ILO,
int IHI,
int LWORK
)
Public Function Run (
ISPEC As Integer,
NAME As String,
OPTS As String,
N As Integer,
ILO As Integer,
IHI As Integer,
LWORK As Integer
) As Integer
Request Example
View SourceParameters
- ISPEC Int32
-
(input) integer scalar
ISPEC specifies which tunable parameter IPARMQ should
return.
ISPEC=12: (INMIN) Matrices of order nmin or less
are sent directly to xLAHQR, the implicit
double shift QR algorithm. NMIN must be
at least 11.
ISPEC=13: (INWIN) Size of the deflation window.
This is best set greater than or equal to
the number of simultaneous shifts NS.
Larger matrices benefit from larger deflation
windows.
ISPEC=14: (INIBL) Determines when to stop nibbling and
invest in an (expensive) multi-shift QR sweep.
If the aggressive early deflation subroutine
finds LD converged eigenvalues from an order
NW deflation window and LD.GT.(NW*NIBBLE)/100,
then the next QR sweep is skipped and early
deflation is applied immediately to the
remaining active diagonal block. Setting
IPARMQ(ISPEC=14) = 0 causes TTQRE to skip a
multi-shift QR sweep whenever early deflation
finds a converged eigenvalue. Setting
IPARMQ(ISPEC=14) greater than or equal to 100
prevents TTQRE from skipping a multi-shift
QR sweep.
ISPEC=15: (NSHFTS) The number of simultaneous shifts in
a multi-shift QR iteration.
ISPEC=16: (IACC22) IPARMQ is set to 0, 1 or 2 with the
following meanings.
0: During the multi-shift QR sweep,
xLAQR5 does not accumulate reflections and
does not use matrix-matrix multiply to
update the far-from-diagonal matrix
entries.
1: During the multi-shift QR sweep,
xLAQR5 and/or xLAQRaccumulates reflections and uses
matrix-matrix multiply to update the
far-from-diagonal matrix entries.
2: During the multi-shift QR sweep.
xLAQR5 accumulates reflections and takes
advantage of 2-by-2 block structure during
matrix-matrix multiplies.
(If xTRMM is slower than xGEMM, then
IPARMQ(ISPEC=16)=1 may be more efficient than
IPARMQ(ISPEC=16)=2 despite the greater level of
arithmetic work implied by the latter choice.)
- NAME String
-
(input) character string
Name of the calling subroutine
- OPTS String
-
(input) character string
This is a concatenation of the string arguments to
TTQRE.
- N Int32
-
(input) integer scalar
N is the order of the Hessenberg matrix H.
- ILO Int32
-
(input) INTEGER
- IHI Int32
-
(input) INTEGER
It is assumed that H is already upper triangular
in rows and columns 1:ILO-1 and IHI+1:N.
- LWORK Int32
-
(input) integer scalar
The amount of workspace available.
Return Value
Int32See Also