Function

# cblas_srotmg(_:_:_:_:_:)

Generates a modified Givens rotation matrix.

## Parameters

`d1`

Scaling factor `D1`.

`d2`

Scaling factor `D2`.

`b1`

Scaling factor `B1`.

`b2`

Scaling factor `B2`.

`P`

A 5-element vector:

`P`

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`

Contains `SH[1,1]`.

`P`

Contains `SH[2,1]`.

`P`

Contains `SH[1,2]`.

`P`

Contains `SH[2,2]`.

## Discussion

The resulting matrix zeroes the second component of the vector `(sqrt(D1)*B1, sqrt(SD2)*B2)T`.

### Single-Precision Float Matrix Functions

`func cblas_sasum(Int32, UnsafePointer<Float>!, Int32) -> Float`

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

`func cblas_snrm2(Int32, UnsafePointer<Float>!, Int32) -> Float`

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

`func cblas_sscal(Int32, Float, UnsafeMutablePointer<Float>!, Int32)`

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

`func cblas_sspmv(CBLAS_ORDER, CBLAS_UPLO, Int32, Float, UnsafePointer<Float>!, UnsafePointer<Float>!, Int32, Float, UnsafeMutablePointer<Float>!, Int32)`

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

`func cblas_sspr(CBLAS_ORDER, CBLAS_UPLO, Int32, Float, UnsafePointer<Float>!, Int32, UnsafeMutablePointer<Float>!)`

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

`func cblas_ssyr(CBLAS_ORDER, CBLAS_UPLO, Int32, Float, UnsafePointer<Float>!, Int32, UnsafeMutablePointer<Float>!, Int32)`

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