?ROT_
List
srot_ | 単精度実 数で与えられた点に対して回転を行う |
drot_ | 倍精度実 数で与えられた点に対して回転を行う |
csrot_ | 単精度複素数で与えられた点に対して回転を行う |
zdrot_ | 倍精度複素数で与えられた点に対して回転を行う |
概略
長さが同じベクトルX,Yを与えます。これは(X(i),Y(i))で点が与えられているものと解釈されます。ここに、実数c,sを与えます。c=cos A, s=sin Aとすると、角度Aでこれらの点を回転させた結果がX,Yに上書きされます。つまり、回転行列を掛けた結果が返ってくるということになります。c,sの値は必ず実数になりますので注意してください。
計算式
X(i) := c * X(i) + s * Y(i)Y(i) :=-s * X(i) + c * Y(i)
プロトタイプ宣言
void srot_(int *n, float *x, int *incx, float *y, int *incy, float *c, float *s);void drot_(int *n, double *x, int *incx, double *y, int *incy, double *c, double *s);
void csrot_(int *n, complex *x, int *incx, complex *y, int *incy, float *c, float *s);
void zdrot_(int *n, doublecomplex *x, int *incx, doublecomplex *y, int *incy, double *c, double *s);
引数/戻り値
変数名 | 型 | 概要 |
n | int* | ベクトルX,Yの大きさ(長さ) |
X | double* | ベクトルXの先頭ポインタ |
incX | int* | Xのインクリメント幅(通常1を指定すれば良い) |
Y | double* | ベクトルYの先頭ポインタ |
incY | int* | Yのインクリメント幅(通常1を指定すれば良い) |
c | double* | 実数(通常はcos Aの値 または、rotgで求めた値) |
s | double* | 実数(通常はsin Aの値 または、rotgで求めた値) |
戻り値 | void |