---
name: "complex16_blas_level1"
section: "3"
platform: "linux"
package: "liblapack-doc"
version: "3.11.0-2"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/complex16_blas_level1"
---

# complex16\_blas\_level1(3)

complex16

## NAME

complex16\_blas\_level1 - complex16

## SYNOPSIS

### Functions

subroutine **zaxpy** (N, ZA, ZX, INCX, ZY, INCY)\
 **ZAXPY**  subroutine **zcopy** (N, ZX, INCX, ZY, INCY)\
 **ZCOPY**  complex \*16 function **zdotc** (N, ZX, INCX, ZY, INCY)\
 **ZDOTC**  complex \*16 function **zdotu** (N, ZX, INCX, ZY, INCY)\
 **ZDOTU**  subroutine **zdrot** (N, ZX, INCX, ZY, INCY, C, S)\
 **ZDROT**  subroutine **zdscal** (N, DA, ZX, INCX)\
 **ZDSCAL**  subroutine **zscal** (N, ZA, ZX, INCX)\
 **ZSCAL**  subroutine **zswap** (N, ZX, INCX, ZY, INCY)\
 **ZSWAP**

## Detailed Description

This is the group of complex16 LEVEL 1 BLAS routines.

## Function Documentation

### subroutine zaxpy (integer N, complex\*16 ZA, complex\*16, dimension(\*) ZX, integer INCX, complex\*16, dimension(\*) ZY, integer INCY)

**ZAXPY**

**Purpose:**

```
    ZAXPY constant times a vector plus a vector.
```

**Parameters**

*N*

```
          N is INTEGER
         number of elements in input vector(s)
```

*ZA*

```
          ZA is COMPLEX*16
           On entry, ZA specifies the scalar alpha.
```

*ZX*

```
          ZX is COMPLEX*16 array, dimension ( 1 + ( N - 1 )*abs( INCX ) )
```

*INCX*

```
          INCX is INTEGER
         storage spacing between elements of ZX
```

*ZY*

```
          ZY is COMPLEX*16 array, dimension ( 1 + ( N - 1 )*abs( INCY ) )
```

*INCY*

```
          INCY is INTEGER
         storage spacing between elements of ZY
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

**Further Details:**

```
     jack dongarra, 3/11/78.
     modified 12/3/93, array(1) declarations changed to array(*)
```

### subroutine zcopy (integer N, complex\*16, dimension(\*) ZX, integer INCX, complex\*16, dimension(\*) ZY, integer INCY)

**ZCOPY**

**Purpose:**

```
    ZCOPY copies a vector, x, to a vector, y.
```

**Parameters**

*N*

```
          N is INTEGER
         number of elements in input vector(s)
```

*ZX*

```
          ZX is COMPLEX*16 array, dimension ( 1 + ( N - 1 )*abs( INCX ) )
```

*INCX*

```
          INCX is INTEGER
         storage spacing between elements of ZX
```

*ZY*

```
          ZY is COMPLEX*16 array, dimension ( 1 + ( N - 1 )*abs( INCY ) )
```

*INCY*

```
          INCY is INTEGER
         storage spacing between elements of ZY
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

**Further Details:**

```
     jack dongarra, linpack, 4/11/78.
     modified 12/3/93, array(1) declarations changed to array(*)
```

### complex\*16 function zdotc (integer N, complex\*16, dimension(\*) ZX, integer INCX, complex\*16, dimension(\*) ZY, integer INCY)

**ZDOTC**

**Purpose:**

```
 ZDOTC forms the dot product of two complex vectors
      ZDOTC = X^H * Y
```

**Parameters**

*N*

```
          N is INTEGER
         number of elements in input vector(s)
```

*ZX*

```
          ZX is COMPLEX*16 array, dimension ( 1 + ( N - 1 )*abs( INCX ) )
```

*INCX*

```
          INCX is INTEGER
         storage spacing between elements of ZX
```

*ZY*

```
          ZY is COMPLEX*16 array, dimension ( 1 + ( N - 1 )*abs( INCY ) )
```

*INCY*

```
          INCY is INTEGER
         storage spacing between elements of ZY
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

**Further Details:**

```
     jack dongarra, 3/11/78.
     modified 12/3/93, array(1) declarations changed to array(*)
```

### complex\*16 function zdotu (integer N, complex\*16, dimension(\*) ZX, integer INCX, complex\*16, dimension(\*) ZY, integer INCY)

**ZDOTU**

**Purpose:**

```
 ZDOTU forms the dot product of two complex vectors
      ZDOTU = X^T * Y
```

**Parameters**

*N*

```
          N is INTEGER
         number of elements in input vector(s)
```

*ZX*

```
          ZX is COMPLEX*16 array, dimension ( 1 + ( N - 1 )*abs( INCX ) )
```

*INCX*

```
          INCX is INTEGER
         storage spacing between elements of ZX
```

*ZY*

```
          ZY is COMPLEX*16 array, dimension ( 1 + ( N - 1 )*abs( INCY ) )
```

*INCY*

```
          INCY is INTEGER
         storage spacing between elements of ZY
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

**Further Details:**

```
     jack dongarra, 3/11/78.
     modified 12/3/93, array(1) declarations changed to array(*)
```

### subroutine zdrot (integer N, complex\*16, dimension( \* ) ZX, integer INCX, complex\*16, dimension( \* ) ZY, integer INCY, double precision C, double precision S)

**ZDROT**

**Purpose:**

```
 Applies a plane rotation, where the cos and sin (c and s) are real
 and the vectors cx and cy are complex.
 jack dongarra, linpack, 3/11/78.
```

**Parameters**

*N*

```
          N is INTEGER
           On entry, N specifies the order of the vectors cx and cy.
           N must be at least zero.
```

*ZX*

```
          ZX is COMPLEX*16 array, dimension at least
           ( 1 + ( N - 1 )*abs( INCX ) ).
           Before entry, the incremented array ZX must contain the n
           element vector cx. On exit, ZX is overwritten by the updated
           vector cx.
```

*INCX*

```
          INCX is INTEGER
           On entry, INCX specifies the increment for the elements of
           ZX. INCX must not be zero.
```

*ZY*

```
          ZY is COMPLEX*16 array, dimension at least
           ( 1 + ( N - 1 )*abs( INCY ) ).
           Before entry, the incremented array ZY must contain the n
           element vector cy. On exit, ZY is overwritten by the updated
           vector cy.
```

*INCY*

```
          INCY is INTEGER
           On entry, INCY specifies the increment for the elements of
           ZY. INCY must not be zero.
```

*C*

```
          C is DOUBLE PRECISION
           On entry, C specifies the cosine, cos.
```

*S*

```
          S is DOUBLE PRECISION
           On entry, S specifies the sine, sin.
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

### subroutine zdscal (integer N, double precision DA, complex\*16, dimension(\*) ZX, integer INCX)

**ZDSCAL**

**Purpose:**

```
    ZDSCAL scales a vector by a constant.
```

**Parameters**

*N*

```
          N is INTEGER
         number of elements in input vector(s)
```

*DA*

```
          DA is DOUBLE PRECISION
           On entry, DA specifies the scalar alpha.
```

*ZX*

```
          ZX is COMPLEX*16 array, dimension ( 1 + ( N - 1 )*abs( INCX ) )
```

*INCX*

```
          INCX is INTEGER
         storage spacing between elements of ZX
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

**Further Details:**

```
     jack dongarra, 3/11/78.
     modified 3/93 to return if incx .le. 0.
     modified 12/3/93, array(1) declarations changed to array(*)
```

### subroutine zscal (integer N, complex\*16 ZA, complex\*16, dimension(\*) ZX, integer INCX)

**ZSCAL**

**Purpose:**

```
    ZSCAL scales a vector by a constant.
```

**Parameters**

*N*

```
          N is INTEGER
         number of elements in input vector(s)
```

*ZA*

```
          ZA is COMPLEX*16
           On entry, ZA specifies the scalar alpha.
```

*ZX*

```
          ZX is COMPLEX*16 array, dimension ( 1 + ( N - 1 )*abs( INCX ) )
```

*INCX*

```
          INCX is INTEGER
         storage spacing between elements of ZX
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

**Further Details:**

```
     jack dongarra, 3/11/78.
     modified 3/93 to return if incx .le. 0.
     modified 12/3/93, array(1) declarations changed to array(*)
```

### subroutine zswap (integer N, complex\*16, dimension(\*) ZX, integer INCX, complex\*16, dimension(\*) ZY, integer INCY)

**ZSWAP**

**Purpose:**

```
    ZSWAP interchanges two vectors.
```

**Parameters**

*N*

```
          N is INTEGER
         number of elements in input vector(s)
```

*ZX*

```
          ZX is COMPLEX*16 array, dimension ( 1 + ( N - 1 )*abs( INCX ) )
```

*INCX*

```
          INCX is INTEGER
         storage spacing between elements of ZX
```

*ZY*

```
          ZY is COMPLEX*16 array, dimension ( 1 + ( N - 1 )*abs( INCY ) )
```

*INCY*

```
          INCY is INTEGER
         storage spacing between elements of ZY
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

**Further Details:**

```
     jack dongarra, 3/11/78.
     modified 12/3/93, array(1) declarations changed to array(*)
```

## Author

Generated automatically by Doxygen for LAPACK from the source code.
