Function

# cblas_srotm

Applies a modified Givens transformation (single precision).

## Parameters

`N`

Number of elements in vectors.

`X`

Vector `X`. Modified on return.

`incX`

Stride within `X`. For example, if `incX` is 7, every 7th element is used.

`Y`

Vector `Y`. Modified on return.

`incY`

Stride within `Y`. For example, if `incY` is 7, every 7th element is used.

`P`

A 5-element vector:

`P[0]`

Flag value that defines the form of matrix `H`.

`-2.0`: matrix `H` contains the identity matrix.

`-1.0`: matrix `H` is identical to matrix `SH` (defined by the remaining values in the vector).

`0.0`: `H[1,2]` and `H[2,1]` are obtained from matrix `SH`. The remaining values are both `1.0`.

`1.0`: `H[1,1]` and `H[2,2]` are obtained from matrix `SH`. `H[1,2]` is 1.0. `H[2,1]` is -1.0.

`P[1]`

Contains `SH[1,1]`.

`P[2]`

Contains `SH[2,1]`.

`P[3]`

Contains `SH[1,2]`.

`P[4]`

Contains `SH[2,2]`.

### Single-Precision Float Matrix Functions

`cblas_sasum`

Computes the sum of the absolute values of elements in a vector (single-precision).

`cblas_saxpy`

Computes a constant times a vector plus a vector (single-precision).

`cblas_scopy`

Copies a vector to another vector (single-precision).

`cblas_sgbmv`

Scales a general band matrix, then multiplies by a vector, then adds a vector (single precision).

`cblas_sgemm`

Multiplies two matrices (single-precision).

`cblas_sgemv`

Multiplies a matrix by a vector (single precision).

`cblas_sger`

Multiplies vector X by the transpose of vector Y, then adds matrix A (single precison).

`cblas_snrm2`

Computes the L2 norm (Euclidian length) of a vector (single precision).

`cblas_srot`

Applies a Givens rotation matrix to a pair of vectors.

`cblas_srotg`

Constructs a Givens rotation matrix.

`cblas_srotmg`

Generates a modified Givens rotation matrix.

`cblas_ssbmv`

Scales a symmetric band matrix, then multiplies by a vector, then adds a vector (single-precision).

`cblas_sscal`

Multiplies each element of a vector by a constant (single-precision).

`cblas_sspmv`

Scales a packed symmetric matrix, then multiplies by a vector, then scales and adds another vector (single precision).

`cblas_sspr`

Rank one update: adds a packed symmetric matrix to the product of a scaling factor, a vector, and its transpose (single precision).

`cblas_sspr2`

Rank two update of a packed symmetric matrix using two vectors (single precision).

`cblas_sswap`

Exchanges the elements of two vectors (single precision).

`cblas_ssymm`

Multiplies a matrix by a symmetric matrix (single-precision).

`cblas_ssymv`

Scales a symmetric matrix, multiplies by a vector, then scales and adds another vector (single precision).

`cblas_ssyr`

Rank one update: adds a symmetric matrix to the product of a scaling factor, a vector, and its transpose (single precision).

`cblas_ssyr2`

Rank two update of a symmetric matrix using two vectors (single precision).

`cblas_ssyr2k`

Performs a rank-2k update of a symmetric matrix (single precision).

`cblas_ssyrk`

Rank-k update—multiplies a symmetric matrix by its transpose and adds a second matrix (single precision).

`cblas_stbmv`

Scales a triangular band matrix, then multiplies by a vector (single precision).

`cblas_stbsv`

Solves a triangular banded system of equations.

`cblas_stpmv`

Multiplies a triangular matrix by a vector, then adds a vector (single precision).

`cblas_stpsv`

Solves a packed triangular system of equations.

`cblas_strmm`

Scales a triangular matrix and multiplies it by a matrix.

`cblas_strmv`

Multiplies a triangular matrix by a vector.

`cblas_strsm`

Solves a triangular system of equations with multiple values for the right side.

`cblas_strsv`

Solves a triangular system of equations with a single value for the right side.