laic1#
Functions
-
void slaic1(const INT job, const INT j, const f32 *restrict x, const f32 sest, const f32 *restrict w, const f32 gamma, f32 *sestpr, f32 *s, f32 *c)#
SLAIC1 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 SLAIC1 computes sestpr, s, c such that the vector [ s*x ] xhat = [ c ] is an approximate singular vector of [ L 0 ] Lhat = [ w**T 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]**T and sestpr**2 is an eigenpair of the system
where alpha = x**T*w.diag(sest*sest, 0) + [alpha gamma] * [ alpha ] [ gamma ]
Parameters
injob= 1: an estimate for the largest singular value is computed. = 2: an estimate for the smallest singular value is computed.
injLength of x and w.
inxDouble precision array, dimension (j). The j-vector x.
insestEstimated singular value of j by j matrix L.
inwDouble precision array, dimension (j). The j-vector w.
ingammaThe diagonal element gamma.
outsestprEstimated singular value of (j+1) by (j+1) matrix Lhat.
outsSine needed in forming xhat.
outcCosine needed in forming xhat.
void slaic1(
const INT job,
const INT j,
const f32* restrict x,
const f32 sest,
const f32* restrict w,
const f32 gamma,
f32* sestpr,
f32* s,
f32* c
);
Functions
-
void dlaic1(const INT job, const INT j, const f64 *restrict x, const f64 sest, const f64 *restrict w, const f64 gamma, f64 *sestpr, f64 *s, f64 *c)#
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**T 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]**T and sestpr**2 is an eigenpair of the system
where alpha = x**T*w.diag(sest*sest, 0) + [alpha gamma] * [ alpha ] [ gamma ]
Parameters
injob= 1: an estimate for the largest singular value is computed. = 2: an estimate for the smallest singular value is computed.
injLength of x and w.
inxDouble precision array, dimension (j). The j-vector x.
insestEstimated singular value of j by j matrix L.
inwDouble precision array, dimension (j). The j-vector w.
ingammaThe diagonal element gamma.
outsestprEstimated singular value of (j+1) by (j+1) matrix Lhat.
outsSine needed in forming xhat.
outcCosine needed in forming xhat.
void dlaic1(
const INT job,
const INT j,
const f64* restrict x,
const f64 sest,
const f64* restrict w,
const f64 gamma,
f64* sestpr,
f64* s,
f64* c
);
Functions
-
void claic1(const INT job, const INT j, const c64 *restrict x, const f32 sest, const c64 *restrict w, const c64 gamma_, f32 *sestpr, c64 *s, c64 *c)#
CLAIC1 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 CLAIC1 computes sestpr, s, c such that the vector [ s*x ] xhat = [ c ] is an approximate singular vector of [ L 0 ] Lhat = [ w**H 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]**H and sestpr**2 is an eigenpair of the system
where alpha = x**H * w.diag(sest*sest, 0) + [alpha gamma] * [ conjg(alpha) ] [ conjg(gamma) ]
Parameters
injob= 1: an estimate for the largest singular value is computed. = 2: an estimate for the smallest singular value is computed.
injLength of x and w.
inxComplex*16 array, dimension (j). The j-vector x.
insestEstimated singular value of j by j matrix L.
inwComplex*16 array, dimension (j). The j-vector w.
ingamma_The diagonal element gamma.
outsestprEstimated singular value of (j+1) by (j+1) matrix Lhat.
outsSine needed in forming xhat.
outcCosine needed in forming xhat.
void claic1(
const INT job,
const INT j,
const c64* restrict x,
const f32 sest,
const c64* restrict w,
const c64 gamma_,
f32* sestpr,
c64* s,
c64* c
);
Functions
-
void zlaic1(const INT job, const INT j, const c128 *restrict x, const f64 sest, const c128 *restrict w, const c128 gamma_, f64 *sestpr, c128 *s, c128 *c)#
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**H 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]**H and sestpr**2 is an eigenpair of the system
where alpha = x**H * w.diag(sest*sest, 0) + [alpha gamma] * [ conjg(alpha) ] [ conjg(gamma) ]
Parameters
injob= 1: an estimate for the largest singular value is computed. = 2: an estimate for the smallest singular value is computed.
injLength of x and w.
inxComplex*16 array, dimension (j). The j-vector x.
insestEstimated singular value of j by j matrix L.
inwComplex*16 array, dimension (j). The j-vector w.
ingamma_The diagonal element gamma.
outsestprEstimated singular value of (j+1) by (j+1) matrix Lhat.
outsSine needed in forming xhat.
outcCosine needed in forming xhat.
void zlaic1(
const INT job,
const INT j,
const c128* restrict x,
const f64 sest,
const c128* restrict w,
const c128 gamma_,
f64* sestpr,
c128* s,
c128* c
);