LARFY - 5.2 English - 68552

AOCL API Guide (68552)

Document ID
68552
Release Date
2025-12-29
Version
5.2 English
template<typename T>
void larfy(char *uplo, integer *n, T *v, integer *incv, T *tau, T *c, integer *ldc, T *work)#

LARFY applies an elementary reflector, or Householder matrix, H,

to an n x n symmetric matrix C, from both the left and the right.

Purpose:

 LARFY applies an elementary reflector, or Householder matrix, H,
 to an n x 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:
  • UPLO[in]

    UPLO is CHARACTER*1

    Specifies whether the upper or lower triangular part of the symmetric matrix C is stored.

    = ‘U’: Upper triangle

    = ‘L’: Lower triangle

  • N[in]

    N is INTEGER

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

  • V[in]

    V is REAL array, dimension (1 + (N-1)*abs(INCV))

    The vector v as described above.

  • INCV[in]

    INCV is INTEGER

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

  • TAU[in]

    TAU is REAL

    The value tau as described above.

  • C[inout]

    C is REAL array, dimension (LDC, N)

    On entry, the matrix C. On exit, C is overwritten by H * C * H’.

  • LDC[in]

    LDC is INTEGER

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

  • WORK[out] WORK is REAL array, dimension (N)