---
name: "complex_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/complex_blas_level1"
---

# complex\_blas\_level1(3)

complex

## NAME

complex\_blas\_level1 - complex

## SYNOPSIS

### Functions

subroutine **caxpy** (N, CA, CX, INCX, CY, INCY)\
 **CAXPY**  subroutine **ccopy** (N, CX, INCX, CY, INCY)\
 **CCOPY**  complex function **cdotc** (N, CX, INCX, CY, INCY)\
 **CDOTC**  complex function **cdotu** (N, CX, INCX, CY, INCY)\
 **CDOTU**  subroutine **cscal** (N, CA, CX, INCX)\
 **CSCAL**  subroutine **csrot** (N, CX, INCX, CY, INCY, C, S)\
 **CSROT**  subroutine **csscal** (N, SA, CX, INCX)\
 **CSSCAL**  subroutine **cswap** (N, CX, INCX, CY, INCY)\
 **CSWAP**

## Detailed Description

This is the group of complex LEVEL 1 BLAS routines.

## Function Documentation

### subroutine caxpy (integer N, complex CA, complex, dimension(\*) CX, integer INCX, complex, dimension(\*) CY, integer INCY)

**CAXPY**

**Purpose:**

```
    CAXPY constant times a vector plus a vector.
```

**Parameters**

*N*

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

*CA*

```
          CA is COMPLEX
           On entry, CA specifies the scalar alpha.
```

*CX*

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

*INCX*

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

*CY*

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

*INCY*

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

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

**Further Details:**

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

### subroutine ccopy (integer N, complex, dimension(\*) CX, integer INCX, complex, dimension(\*) CY, integer INCY)

**CCOPY**

**Purpose:**

```
    CCOPY copies a vector x to a vector y.
```

**Parameters**

*N*

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

*CX*

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

*INCX*

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

*CY*

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

*INCY*

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

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

**Further Details:**

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

### complex function cdotc (integer N, complex, dimension(\*) CX, integer INCX, complex, dimension(\*) CY, integer INCY)

**CDOTC**

**Purpose:**

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

**Parameters**

*N*

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

*CX*

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

*INCX*

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

*CY*

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

*INCY*

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

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

**Further Details:**

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

### complex function cdotu (integer N, complex, dimension(\*) CX, integer INCX, complex, dimension(\*) CY, integer INCY)

**CDOTU**

**Purpose:**

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

**Parameters**

*N*

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

*CX*

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

*INCX*

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

*CY*

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

*INCY*

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

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

**Further Details:**

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

### subroutine cscal (integer N, complex CA, complex, dimension(\*) CX, integer INCX)

**CSCAL**

**Purpose:**

```
    CSCAL scales a vector by a constant.
```

**Parameters**

*N*

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

*CA*

```
          CA is COMPLEX
           On entry, CA specifies the scalar alpha.
```

*CX*

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

*INCX*

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

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

**Further Details:**

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

### subroutine csrot (integer N, complex, dimension( \* ) CX, integer INCX, complex, dimension( \* ) CY, integer INCY, real C, real S)

**CSROT**

**Purpose:**

```
 CSROT 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.
```

*CX*

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

*INCX*

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

*CY*

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

*INCY*

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

*C*

```
          C is REAL
           On entry, C specifies the cosine, cos.
```

*S*

```
          S is REAL
           On entry, S specifies the sine, sin.
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

### subroutine csscal (integer N, real SA, complex, dimension(\*) CX, integer INCX)

**CSSCAL**

**Purpose:**

```
    CSSCAL scales a complex vector by a real constant.
```

**Parameters**

*N*

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

*SA*

```
          SA is REAL
           On entry, SA specifies the scalar alpha.
```

*CX*

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

*INCX*

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

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

**Further Details:**

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

### subroutine cswap (integer N, complex, dimension(\*) CX, integer INCX, complex, dimension(\*) CY, integer INCY)

**CSWAP**

**Purpose:**

```
   CSWAP interchanges two vectors.
```

**Parameters**

*N*

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

*CX*

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

*INCX*

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

*CY*

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

*INCY*

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

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

**Further Details:**

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

## Author

Generated automatically by Doxygen for LAPACK from the source code.
