NAG FL Interface
f06srf (zher2)

Settings help

FL Name Style:


FL Specification Language:


1 Purpose

f06srf computes the rank-2 update of a complex Hermitian matrix.

2 Specification

Fortran Interface
Subroutine f06srf ( uplo, n, alpha, x, incx, y, incy, a, lda)
Integer, Intent (In) :: n, incx, incy, lda
Complex (Kind=nag_wp), Intent (In) :: alpha, x(*), y(*)
Complex (Kind=nag_wp), Intent (Inout) :: a(lda,*)
Character (1), Intent (In) :: uplo
C Header Interface
#include <nag.h>
void  f06srf_ (const char *uplo, const Integer *n, const Complex *alpha, const Complex x[], const Integer *incx, const Complex y[], const Integer *incy, Complex a[], const Integer *lda, const Charlen length_uplo)
The routine may be called by the names f06srf, nagf_blas_zher2 or its BLAS name zher2.

3 Description

f06srf performs the Hermitian rank-2 update operation
AαxyH + α¯yxH + A ,  
where A is an n×n complex Hermitian matrix, x and y are n-element complex vectors, and α is a complex 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 Integer Input
On entry: n, the order of the matrix A.
Constraint: n0.
3: alpha Complex (Kind=nag_wp) Input
On entry: the scalar α.
4: x(*) Complex (Kind=nag_wp) array Input
Note: the dimension of the array x must be at least max(1, 1+(n-1) ×|incx| ) .
On entry: the n-element vector x.
If incx>0, xi must be stored in x(1+(i-1)×incx), for i=1,2,,n.
If incx<0, xi must be stored in x(1-(n-i)×incx), for i=1,2,,n.
Intermediate elements of x are not referenced.
5: incx Integer Input
On entry: the increment in the subscripts of x between successive elements of x.
Constraint: incx0.
6: y(*) Complex (Kind=nag_wp) array Input
Note: the dimension of the array y must be at least max(1, 1+(n-1) ×|incy| ) .
On entry: the n-element vector y.
If incy>0, yi must be stored in y(1+(i-1)×incy), for i=1,2,,n.
If incy<0, yi must be stored in y(1-(n-i)×incy), for i=1,2,,n.
Intermediate elements of y are not referenced.
7: incy Integer Input
On entry: the increment in the subscripts of y between successive elements of y.
Constraint: incy0.
8: a(lda,*) Complex (Kind=nag_wp) array Input/Output
Note: the second dimension of the array a must be at least max(1,n).
On entry: the n×n Hermitian matrix A.
  • If uplo='U', the upper triangular part of A must be stored and the elements of the array below the diagonal are not referenced.
  • If uplo='L', the lower triangular part of A must be stored and the elements of the array above the diagonal are not referenced.
On exit: the updated matrix A. The imaginary parts of the diagonal elements are set to zero.
9: lda Integer Input
On entry: the first dimension of the array a as declared in the (sub)program from which f06srf is called.
Constraint: lda max(1,n) .

6 Error Indicators and Warnings

None.

7 Accuracy

Not applicable.

8 Parallelism and Performance

Background information to multithreading can be found in the Multithreading documentation.
f06srf is not threaded in any implementation.

9 Further Comments

None.

10 Example

None.