Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 11/07/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

cblas_?rotmg

Computes the parameters for a modified Givens rotation.

Syntax

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);

Include Files

  • mkl.h

Description

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:



Input Parameters

d1

Provides the scaling factor for the x-coordinate of the input vector.

d2

Provides the scaling factor for the y-coordinate of the input vector.

x1

Provides the x-coordinate of the input vector.

y1

Provides the y-coordinate of the input vector.

Output Parameters

d1

Provides the first diagonal element of the updated matrix.

d2

Provides the second diagonal element of the updated matrix.

x1

Provides the x-coordinate of the rotated vector before scaling.

param

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.