Function

cblas_srotmg

Generates a modified Givens rotation matrix.

Declaration

void cblas_srotmg(float *__d1, float *__d2, float *__b1, const float __b2, float *__P);

Parameters

d1

Scaling factor D1.

d2

Scaling factor D2.

b1

Scaling factor B1.

b2

Scaling factor B2.

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].

Discussion

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

See Also

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_srotm

Applies a modified Givens transformation (single precision).

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.