F06WQF (ZHFRK) (PDF version)
F06 Chapter Contents
F06 Chapter Introduction
NAG Library Manual

NAG Library Routine Document

F06WQF (ZHFRK)

Note:  before using this routine, please read the Users' Note for your implementation to check the interpretation of bold italicised terms and other implementation-dependent details.

+ Contents

    1  Purpose
    7  Accuracy

1  Purpose

F06WQF (ZHFRK) performs one of the Hermitian rank-k update operations
CαAAH + βC   or   CαAHA + βC ,
where A is a real matrix, C is an n by n complex Hermitian matrix stored in Rectangular Full Packed (RFP) format, and α and β are real scalars. The RFP storage format is described in Section 3.3.3 in the F07 Chapter Introduction.

2  Specification

SUBROUTINE F06WQF ( TRANSR, UPLO, TRANS, N, K, ALPHA, A, LDA, BETA, C)
INTEGER  N, K, LDA
REAL (KIND=nag_wp)  ALPHA, BETA
COMPLEX (KIND=nag_wp)  A(LDA,*), C(N*(N+1)/2)
CHARACTER(1)  TRANSR, UPLO, TRANS
The routine may be called by its LAPACK name zhfrk.

3  Description

None.

4  References

None.

5  Parameters

1:     TRANSR – CHARACTER(1)Input
On entry: specifies whether the normal RFP representation of C or its conjugate transpose is stored.
TRANSR='N'
The matrix C is stored in normal RFP format.
TRANSR='C'
The conjugate transpose of the RFP representation of the matrix C is stored.
Constraint: TRANSR='N' or 'C'.
2:     UPLO – CHARACTER(1)Input
On entry: specifies whether the upper or lower triangular part of C is stored in RFP format.
UPLO='U'
The upper triangular part of C is stored in RFP format.
UPLO='L'
The lower triangular part of C is stored in RFP format.
Constraint: UPLO='U' or 'L'.
3:     TRANS – CHARACTER(1)Input
On entry: specifies the operation to be performed.
TRANS='N'
CαAAH+βC.
TRANS='C'
CαAHA+βC.
Constraint: TRANS='N' or 'C'.
4:     N – INTEGERInput
On entry: n, the order of the matrix C.
Constraint: N0.
5:     K – INTEGERInput
On entry: k, the number of columns of A if TRANS='N', or the number of rows of A if TRANS='C'.
Constraint: K0.
6:     ALPHA – REAL (KIND=nag_wp)Input
On entry: the scalar α.
7:     A(LDA,*) – COMPLEX (KIND=nag_wp) arrayInput
Note: the second dimension of the array A must be at least max1,K if TRANS='N' and at least max1,N if TRANS='C'.
On entry: the matrix A; A is n by k if TRANS='N', or k by n if TRANS='C'.
8:     LDA – INTEGERInput
On entry: the first dimension of the array A as declared in the (sub)program from which F06WQF (ZHFRK) is called.
Constraints:
  • if TRANS='N', LDA max1,N ;
  • if TRANS='C', LDA max1,K .
9:     BETA – REAL (KIND=nag_wp)Input
On entry: the scalar β.
10:   C(N×N+1/2) – COMPLEX (KIND=nag_wp) arrayInput/Output
On entry: the upper or lower triangular part (as specified by UPLO) of the n by n symmetric matrix C, stored in RFP format, as described in Section 3.3.3 in the F07 Chapter Introduction.
On exit: the updated matrix C, that is its upper or lower triangular part stored in RFP format.

6  Error Indicators and Warnings

None.

7  Accuracy

Not applicable.

8  Further Comments

None.

9  Example

This example reads in the lower triangular part of a symmetric matrix C which it converts to RFP format. It also reads in α, β and a 4 by 3 matrix A and then performs the Hermitian rank-3 update CαAAH+βC.

9.1  Program Text

Program Text (f06wqfe.f90)

9.2  Program Data

Program Data (f06wqfe.d)

9.3  Program Results

Program Results (f06wqfe.r)


F06WQF (ZHFRK) (PDF version)
F06 Chapter Contents
F06 Chapter Introduction
NAG Library Manual

© The Numerical Algorithms Group Ltd, Oxford, UK. 2012