Purpose
=======
DLAIC1 applies one step of incremental condition estimation in
its simplest version:
Let x, twonorm(x) = 1, be an approximate singular vector of an j-by-j
lower triangular matrix L, such that
twonorm(L*x) = sest
Then DLAIC1 computes sestpr, s, c such that
the vector
[ s*x ]
xhat = [ c ]
is an approximate singular vector of
[ L 0 ]
Lhat = [ w' gamma ]
in the sense that
twonorm(Lhat*xhat) = sestpr.
Depending on JOB, an estimate for the largest or smallest singular
value is computed.
Note that [s c]' and sestpr**2 is an eigenpair of the system
diag(sest*sest, 0) + [alpha gamma] * [ alpha ]
[ gamma ]
where alpha = x'*w.
Namespace: DotNumerics.LinearAlgebra.CSLapackAssembly: DWSIM.MathOps.DotNumerics (in DWSIM.MathOps.DotNumerics.dll) Version: 1.0.0.0 (1.0.0.0)
Syntax public void Run(
int JOB,
int J,
double[] X,
int offset_x,
double SEST,
double[] W,
int offset_w,
double GAMMA,
ref double SESTPR,
ref double S,
ref double C
)
Public Sub Run (
JOB As Integer,
J As Integer,
X As Double(),
offset_x As Integer,
SEST As Double,
W As Double(),
offset_w As Integer,
GAMMA As Double,
ByRef SESTPR As Double,
ByRef S As Double,
ByRef C As Double
)
Request Example
View SourceParameters
- JOB Int32
-
(input) INTEGER
= 1: an estimate for the largest singular value is computed.
= 2: an estimate for the smallest singular value is computed.
- J Int32
-
(input) INTEGER
Length of X and W
- X Double
-
(input) DOUBLE PRECISION array, dimension (J)
The j-vector x.
- offset_x Int32
-
- SEST Double
-
(input) DOUBLE PRECISION
Estimated singular value of j by j matrix L
- W Double
-
(input) DOUBLE PRECISION array, dimension (J)
The j-vector w.
- offset_w Int32
-
- GAMMA Double
-
(input) DOUBLE PRECISION
The diagonal element gamma.
- SESTPR Double
-
(output) DOUBLE PRECISION
Estimated singular value of (j+1) by (j+1) matrix Lhat.
- S Double
-
(output) DOUBLE PRECISION
Sine needed in forming xhat.
- C Double
-
(output) DOUBLE PRECISION
Cosine needed in forming xhat.
See Also