 ZLAIC1(3) applies one step of incremental condition estimation in its simplest version

## SYNOPSIS

SUBROUTINE ZLAIC1(
JOB, J, X, SEST, W, GAMMA, SESTPR, S, C )

INTEGER J, JOB

DOUBLE PRECISION SEST, SESTPR

COMPLEX*16 C, GAMMA, S

COMPLEX*16 W( J ), X( J )

## PURPOSE

ZLAIC1 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 ZLAIC1 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] * [ conjg(alpha) ]
[ conjg(gamma) ] where alpha = conjg(x)'*w.

## ARGUMENTS

JOB (input) INTEGER
= 1: an estimate for the largest singular value is computed.
= 2: an estimate for the smallest singular value is computed.
J (input) INTEGER
Length of X and W
X (input) COMPLEX*16 array, dimension (J)
The j-vector x.
SEST (input) DOUBLE PRECISION
Estimated singular value of j by j matrix L
W (input) COMPLEX*16 array, dimension (J)
The j-vector w.
GAMMA (input) COMPLEX*16
The diagonal element gamma.
SESTPR (output) DOUBLE PRECISION
Estimated singular value of (j+1) by (j+1) matrix Lhat.
S (output) COMPLEX*16
Sine needed in forming xhat.
C (output) COMPLEX*16
Cosine needed in forming xhat.