larfy#

Functions

void slarfy(
    const char*          uplo,
    const INT            n,
    const f32*  restrict V,
    const INT            incv,
    const f32            tau,
          f32*  restrict C,
    const INT            ldc,
          f32*  restrict work
);
void slarfy(const char *uplo, const INT n, const f32 *restrict V, const INT incv, const f32 tau, f32 *restrict C, const INT ldc, f32 *restrict work)#

SLARFY applies an elementary reflector, or Householder matrix, H, to an N-by-N symmetric matrix C, from both the left and the right.

H is represented in the form H = I - tau * v * v’

where tau is a scalar and v is a vector.

If tau is zero, then H is taken to be the unit matrix.

Parameters

in
uplo

CHARACTER*1. Specifies whether the upper or lower triangular part of the symmetric matrix C is stored. = ‘U’: Upper triangle. = ‘L’: Lower triangle.

in
n

The number of rows and columns of the matrix C. N >= 0.

in
V

Double precision array, dimension (1 + (N-1)*abs(INCV)). The vector v as described above.

in
incv

The increment between successive elements of v. INCV must not be zero.

in
tau

The value tau as described above.

inout
C

Double precision array, dimension (ldc, N). On entry, the matrix C. On exit, C is overwritten by H * C * H’.

in
ldc

The leading dimension of the array C. LDC >= max(1, N).

out
work

Double precision array, dimension (N).

Functions

void dlarfy(
    const char*          uplo,
    const INT            n,
    const f64*  restrict V,
    const INT            incv,
    const f64            tau,
          f64*  restrict C,
    const INT            ldc,
          f64*  restrict work
);
void dlarfy(const char *uplo, const INT n, const f64 *restrict V, const INT incv, const f64 tau, f64 *restrict C, const INT ldc, f64 *restrict work)#

DLARFY applies an elementary reflector, or Householder matrix, H, to an N-by-N symmetric matrix C, from both the left and the right.

H is represented in the form H = I - tau * v * v’

where tau is a scalar and v is a vector.

If tau is zero, then H is taken to be the unit matrix.

Parameters

in
uplo

CHARACTER*1. Specifies whether the upper or lower triangular part of the symmetric matrix C is stored. = ‘U’: Upper triangle. = ‘L’: Lower triangle.

in
n

The number of rows and columns of the matrix C. N >= 0.

in
V

Double precision array, dimension (1 + (N-1)*abs(INCV)). The vector v as described above.

in
incv

The increment between successive elements of v. INCV must not be zero.

in
tau

The value tau as described above.

inout
C

Double precision array, dimension (ldc, N). On entry, the matrix C. On exit, C is overwritten by H * C * H’.

in
ldc

The leading dimension of the array C. LDC >= max(1, N).

out
work

Double precision array, dimension (N).

Functions

void clarfy(
    const char*          uplo,
    const INT            n,
    const c64*  restrict V,
    const INT            incv,
    const c64            tau,
          c64*  restrict C,
    const INT            ldc,
          c64*  restrict work
);
void clarfy(const char *uplo, const INT n, const c64 *restrict V, const INT incv, const c64 tau, c64 *restrict C, const INT ldc, c64 *restrict work)#

CLARFY applies an elementary reflector, or Householder matrix, H, to an N-by-N Hermitian matrix C, from both the left and the right.

H is represented in the form H = I - tau * v * v’

where tau is a scalar and v is a vector.

If tau is zero, then H is taken to be the unit matrix.

Parameters

in
uplo

CHARACTER*1. Specifies whether the upper or lower triangular part of the Hermitian matrix C is stored. = ‘U’: Upper triangle. = ‘L’: Lower triangle.

in
n

The number of rows and columns of the matrix C. N >= 0.

in
V

Complex*16 array, dimension (1 + (N-1)*abs(INCV)). The vector v as described above.

in
incv

The increment between successive elements of v. INCV must not be zero.

in
tau

The value tau as described above.

inout
C

Complex*16 array, dimension (ldc, N). On entry, the matrix C. On exit, C is overwritten by H * C * H’.

in
ldc

The leading dimension of the array C. LDC >= max(1, N).

out
work

Complex*16 array, dimension (N).

Functions

void zlarfy(
    const char*          uplo,
    const INT            n,
    const c128* restrict V,
    const INT            incv,
    const c128           tau,
          c128* restrict C,
    const INT            ldc,
          c128* restrict work
);
void zlarfy(const char *uplo, const INT n, const c128 *restrict V, const INT incv, const c128 tau, c128 *restrict C, const INT ldc, c128 *restrict work)#

ZLARFY applies an elementary reflector, or Householder matrix, H, to an N-by-N Hermitian matrix C, from both the left and the right.

H is represented in the form H = I - tau * v * v’

where tau is a scalar and v is a vector.

If tau is zero, then H is taken to be the unit matrix.

Parameters

in
uplo

CHARACTER*1. Specifies whether the upper or lower triangular part of the Hermitian matrix C is stored. = ‘U’: Upper triangle. = ‘L’: Lower triangle.

in
n

The number of rows and columns of the matrix C. N >= 0.

in
V

Complex*16 array, dimension (1 + (N-1)*abs(INCV)). The vector v as described above.

in
incv

The increment between successive elements of v. INCV must not be zero.

in
tau

The value tau as described above.

inout
C

Complex*16 array, dimension (ldc, N). On entry, the matrix C. On exit, C is overwritten by H * C * H’.

in
ldc

The leading dimension of the array C. LDC >= max(1, N).

out
work

Complex*16 array, dimension (N).