NAG Library Routine Document

f06sqf (zhpr)

1
Purpose

f06sqf (zhpr) computes the rank-1 update of a complex Hermitian matrix stored in packed form.

2
Specification

Fortran Interface
Subroutine f06sqf ( uplo, n, alpha, x, incx, ap)
Integer, Intent (In):: n, incx
Real (Kind=nag_wp), Intent (In):: alpha
Complex (Kind=nag_wp), Intent (In):: x(*)
Complex (Kind=nag_wp), Intent (Inout):: ap(*)
Character (1), Intent (In):: uplo
C Header Interface
#include <nagmk26.h>
void  f06sqf_ (const char *uplo, const Integer *n, const double *alpha, const Complex x[], const Integer *incx, Complex ap[], const Charlen length_uplo)
The routine may be called by its BLAS name zhpr.

3
Description

f06sqf (zhpr) performs the Hermitian rank-1 update operation
AαxxH + A ,  
where A is an n by n complex Hermitian matrix, stored in packed form, x is an n-element complex vector, and α is a real scalar.

4
References

None.

5
Arguments

1:     uplo – Character(1)Input
On entry: specifies whether the upper or lower triangular part of A is stored.
uplo='U'
The upper triangular part of A is stored.
uplo='L'
The lower triangular part of A is stored.
Constraint: uplo='U' or 'L'.
2:     n – IntegerInput
On entry: n, the order of the matrix A.
Constraint: n0.
3:     alpha – Real (Kind=nag_wp)Input
On entry: the scalar α.
4:     x* – Complex (Kind=nag_wp) arrayInput
Note: the dimension of the array x must be at least max1, 1+n-1 ×incx .
On entry: the n-element vector x.
If incx>0, xi must be stored in x1+i-1×incx, for i=1,2,,n.
If incx<0, xi must be stored in x1-n-i×incx, for i=1,2,,n.
Intermediate elements of x are not referenced.
5:     incx – IntegerInput
On entry: the increment in the subscripts of x between successive elements of x.
Constraint: incx0.
6:     ap* – Complex (Kind=nag_wp) arrayInput/Output
Note: the dimension of the array ap must be at least n× n+1/2 .
On entry: the n by n Hermitian matrix A, packed by columns.
More precisely,
  • if uplo='U', the upper triangle of A must be stored with element Aij in api+jj-1/2 for ij;
  • if uplo='L', the lower triangle of A must be stored with element Aij in api+2n-jj-1/2 for ij.
On exit: the updated matrix A. The imaginary parts of the diagonal elements are set to zero.

6
Error Indicators and Warnings

None.

7
Accuracy

Not applicable.

8
Parallelism and Performance

f06sqf (zhpr) is not threaded in any implementation.

9
Further Comments

None.

10
Example

None.