?rotm
修改旋转平面。
即:
x和y是含有n个元素的向量,h是转换矩阵元素。
接口定义
C interface:
void cblas_srotm(const BLASINT N, float *X, const BLASINT incX, float *Y, const BLASINT incY, const float *H);
void cblas_drotm(const BLASINT N, double *X, const BLASINT incX, double *Y, const BLASINT incY, const double *H);
Fortran interface:
CALL SROTM(N, SX, INCX, SY, INCY, DTEMP)
CALL DROTM(N, SX, INCX, SY, INCY, DTEMP)
参数
参数名 |
类型 |
描述 |
输入/输出 |
---|---|---|---|
N |
整型数 |
表示X向量的元素个数。 |
输入 |
X |
|
向量X,向量规模至少是(1+(n-1)*abs(incx))。 |
输入/输出 |
incX |
整型数 |
表示X向量增长步长。 |
输入 |
Y |
|
向量Y,向量规模至少是(1+(n-1)*abs(incy))。 |
输入/输出 |
incY |
整型数 |
表示Y向量增长步长。 |
输入 |
H |
|
转换矩阵H。 |
输入 |
依赖
#include "kblas.h"
示例
C interface:
double d1 = 10.0, d2 = 2.0; double x1 = 2.0, x2 = 1.0; double p[5]; int n = 5, incx = 1, incy = 1; double x[5]={1.0, 2.0, 1.0, 3.0, 1.0}; double y[5]={3.0, 1.0, 1.0, 5.0, 1.0}; cblas_drotmg(&d1, &d2, &x1, x2, p); cblas_drotm(n, x, incx, y, incy, p); /* * Output x: 1.300000, 2.100000, 1.100000, 3.500000, 1.100000 * Output y: 2.500000, 0.000000, 0.500000, 3.500000, 0.500000 */
Fortran interface:
REAL(8) :: D1=10.0 REAL(8) :: D2=2.0 REAL(8) :: X1=2.0 REAL(8) :: X2=1.0 REAL(8) :: P(5) INTEGER :: N=5 INTEGER :: INCX=1 INTEGER :: INCY=1 REAL(8) :: X(5) DATA X/1.0, 2.0, 1.0, 3.0, 1.0/ REAL(8) :: Y(5) DATA Y/3.0, 1.0, 1.0, 5.0, 1.0/ EXTERNAL DROTMG CALL DROTMG(D1, D2, X1, X2, P) EXTERNAL DROTM CALL DROTM(N, X, INCX, Y, INCY, P) * Output X: 1.300000, 2.100000, 1.100000, 3.500000, 1.100000 * Output Y: 2.500000, 0.000000, 0.500000, 3.500000, 0.500000
父主题: KML_BLAS Level 1函数