[ Previous |
Next |
Contents |
Glossary |
Home |
Search ]

*AIX Version 4.3 Base Operating System and Extensions Technical Reference, Volume 2*

## CHER2 or ZHER2 Subroutine

### Purpose

Performs the Hermitian rank 2 operation.

### Library

BLAS Library (**libblas.a**)

### FORTRAN Syntax

**SUBROUTINE** **CHER2(***UPLO***, ***N***, ***ALPHA***,**
*X***, ***INCX***, ***Y***, ***INCY***, ***A***, ***LDA***)**
**COMPLEX** *ALPHA*
**INTEGER** *INCX***,***INCY***,***LDA***,***N*
**CHARACTER*1** *UPLO*
**COMPLEX** *A***(***LDA***,*), ***X***(*), ***Y***(*)**

**SUBROUTINE** **ZHER2(***UPLO***, ***N***, ***ALPHA***,**
*X***, ***INCX***, ***Y***, ***INCY***, ***A***, ***LDA***)**
**COMPLEX*16** *ALPHA*
**INTEGER** *INCX***,***INCY***,***LDA***,***N*
**CHARACTER*1** *UPLO*
**COMPLEX*16** *A***(***LDA***,*), ***X***(*), ***Y***(*)**

### Description

The **CHER2** or **ZHER2** subroutine performs the Hermitian rank 2 operation:

`A`` := alpha * x * conjg( y' ) + conjg( alpha ) * y * conjy( x' ) + ``A`

where alpha is a scalar, x and y are *N* element vectors and *A* is an *N* by *N* Hermitian matrix.

### Parameters

*UPLO* |
On entry, *UPLO* specifies whether the upper or lower triangular part of the array *A* is to be referenced as follows:
*UPLO *= 'U' or 'u' |
Only the upper triangular part of *A* is to be referenced. |
*UPLO* = 'L' or 'l' |
Only the lower triangular part of *A* is to be referenced. |
Unchanged on exit. |

*N* |
On entry,* N *specifies the order of the matrix *A*; *N *must be at least 0; unchanged on exit. |

*ALPHA* |
On entry, *ALPHA* specifies the scalar alpha; unchanged on exit. |

*X* |
A vector of dimension at least (1 + (*N*-1) * abs(*INCX*) ); on entry, the incremented vector *X* must contain the *N* element vector x; unchanged on exit. |

*INCX* |
On entry, *INCX* specifies the increment for the elements of *X*; *INCX* must not be 0; unchanged on exit. |

*Y* |
A vector of dimension at least (1 + (*N*-1) * abs(*INCY*) ); on entry, the incremented vector *Y* must contain the *N* element vector y; unchanged on exit. |

*INCY* |
On entry, *INCY* specifies the increment for the elements of *Y*; *INCY* must not be 0; unchanged on exit. |

*A* |
An array of dimension ( *LDA*, *N* ); on entry with *UPLO* = 'U' or 'u', the leading *N* by *N* upper triangular part of the array* A *must contain the upper triangular part of the Hermitian matrix and the strictly lower triangular part of *A* is not referenced. On exit, the upper triangular part of the array *A* is overwritten by the upper triangular part of the updated matrix. On entry with *UPLO* = 'L' or 'l', the leading *N* by *N* lower triangular part of the array* A* must contain the lower triangular part of the Hermitian matrix and the strictly upper triangular part of* A *is not referenced. On exit, the lower triangular part of the array *A* is overwritten by the lower triangular part of the updated matrix. The imaginary parts of the diagonal elements need not be set; they are assumed to be 0, and on exit they are set to 0. |

*LDA* |
On entry, *LDA* specifies the first dimension of *A* as declared in the calling (sub) program; *LDA* must be at least max( 1, *N* ); unchanged on exit. |

[ Previous |
Next |
Contents |
Glossary |
Home |
Search ]