LASYF_AA - 5.2 English - 68552

AOCL API Guide (68552)

Document ID
68552
Release Date
2025-12-29
Version
5.2 English
template<typename T>
void lasyf_aa(char *uplo, integer *j1, integer *m, integer *nb, T *a, integer *lda, integer *ipiv, T *h, integer *ldh, T *work)#

LASYF_AA factorizes a panel of a real symmetric matrix A using the Aasen’s algorithm.

Purpose:

  LASYF_AA factorizes a panel of a real symmetric matrix A using
  the Aasen's algorithm. The panel consists of a set of NB rows of A
  when UPLO is U, or a set of NB columns when UPLO is L.

  In order to factorize the panel, the Aasen's algorithm requires the
  last row, or column, of the previous panel. The first row, or column,
  of A is set to be the first row, or column, of an identity matrix,
  which is used to factorize the first panel.

  The resulting J-th row of U, or J-th column of L, is stored in the
  (J-1)-th row, or column, of A (without the unit diagonals), while
  the diagonal and subdiagonal of A are overwritten by those of T.
Parameters:
  • UPLO[in]

    UPLO is CHARACTER*1

    = ‘U’: Upper triangle of A is stored;

    = ‘L’: Lower triangle of A is stored.
  • J1[in]

    J1 is INTEGER

    The location of the first row, or column, of the panel within the submatrix of A, passed to this routine, e.g., when called by SSYTRF_AA, for the first panel, J1 is 1, while for the remaining panels, J1 is 2.

  • M[in]

    M is INTEGER

    The dimension of the submatrix. M >= 0.

  • NB[in]

    NB is INTEGER

    The dimension of the panel to be facotorized.

  • A[inout]

    A is REAL array, dimension (LDA,M) for

    the first panel, while dimension (LDA,M+1) for the remaining panels.

    On entry, A contains the last row, or column, of the previous panel, and the trailing submatrix of A to be factorized, except for the first panel, only the panel is passed.

    On exit, the leading panel is factorized.

  • LDA[in]

    LDA is INTEGER

    The leading dimension of the array A. LDA >= fla_max(1,M).

  • IPIV[out]

    IPIV is INTEGER array, dimension (M)

    Details of the row and column interchanges, the row and column k were interchanged with the row and column IPIV(k).

  • H[inout] H is REAL workspace, dimension (LDH,NB).

  • LDH[in]

    LDH is INTEGER

    The leading dimension of the workspace H. LDH >= fla_max(1,M).

  • WORK[out] WORK is REAL workspace, dimension (M).