Intel® oneAPI Math Kernel Library Developer Reference - C
Computes the parameters for a modified Givens rotation.
void cblas_srotmg (float *d1, float *d2, float *x1, const float y1, float *param);
void cblas_drotmg (double *d1, double *d2, double *x1, const double y1, double *param);
Given Cartesian coordinates (x1, y1) of an input vector, these routines compute the components of a modified Givens transformation matrix H that zeros the y-component of the resulting vector:
Provides the scaling factor for the x-coordinate of the input vector.
Provides the scaling factor for the y-coordinate of the input vector.
Provides the x-coordinate of the input vector.
Provides the y-coordinate of the input vector.
Provides the first diagonal element of the updated matrix.
Provides the second diagonal element of the updated matrix.
Provides the x-coordinate of the rotated vector before scaling.
Array, size 5.
The elements of the param array are:
param[0] contains a switch, flag. the other array elements param[1-4] contain the components of the array H: h11, h21, h12, and h22, respectively.
Depending on the values of flag, the components of H are set as follows:
flag = -1.0:
flag = 0.0:
flag = 1.0:
flag = -2.0:
In the last three cases, the matrix entries of 1.0, -1.0, and 0.0 are assumed based on the value of flag and are not required to be set in the param vector.