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
);
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

diag(sest*sest, 0) + [alpha  gamma] * [ alpha ]
                                      [ gamma ]
where alpha = x**T*w.

Parameters

in
job

= 1: an estimate for the largest singular value is computed. = 2: an estimate for the smallest singular value is computed.

in
j

Length of x and w.

in
x

Double precision array, dimension (j). The j-vector x.

in
sest

Estimated singular value of j by j matrix L.

in
w

Double precision array, dimension (j). The j-vector w.

in
gamma

The diagonal element gamma.

out
sestpr

Estimated singular value of (j+1) by (j+1) matrix Lhat.

out
s

Sine needed in forming xhat.

out
c

Cosine needed in forming xhat.

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
);
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

diag(sest*sest, 0) + [alpha  gamma] * [ alpha ]
                                      [ gamma ]
where alpha = x**T*w.

Parameters

in
job

= 1: an estimate for the largest singular value is computed. = 2: an estimate for the smallest singular value is computed.

in
j

Length of x and w.

in
x

Double precision array, dimension (j). The j-vector x.

in
sest

Estimated singular value of j by j matrix L.

in
w

Double precision array, dimension (j). The j-vector w.

in
gamma

The diagonal element gamma.

out
sestpr

Estimated singular value of (j+1) by (j+1) matrix Lhat.

out
s

Sine needed in forming xhat.

out
c

Cosine needed in forming xhat.

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
);
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

diag(sest*sest, 0) + [alpha  gamma] * [ conjg(alpha) ]
                                      [ conjg(gamma) ]
where alpha = x**H * w.

Parameters

in
job

= 1: an estimate for the largest singular value is computed. = 2: an estimate for the smallest singular value is computed.

in
j

Length of x and w.

in
x

Complex*16 array, dimension (j). The j-vector x.

in
sest

Estimated singular value of j by j matrix L.

in
w

Complex*16 array, dimension (j). The j-vector w.

in
gamma_

The diagonal element gamma.

out
sestpr

Estimated singular value of (j+1) by (j+1) matrix Lhat.

out
s

Sine needed in forming xhat.

out
c

Cosine needed in forming xhat.

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
);
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

diag(sest*sest, 0) + [alpha  gamma] * [ conjg(alpha) ]
                                      [ conjg(gamma) ]
where alpha = x**H * w.

Parameters

in
job

= 1: an estimate for the largest singular value is computed. = 2: an estimate for the smallest singular value is computed.

in
j

Length of x and w.

in
x

Complex*16 array, dimension (j). The j-vector x.

in
sest

Estimated singular value of j by j matrix L.

in
w

Complex*16 array, dimension (j). The j-vector w.

in
gamma_

The diagonal element gamma.

out
sestpr

Estimated singular value of (j+1) by (j+1) matrix Lhat.

out
s

Sine needed in forming xhat.

out
c

Cosine needed in forming xhat.