?nrm2
计算向量的欧几里得范数。
即。x是含有n个元素的向量,||x||相当于
。
接口定义
C interface:
float cblas_snrm2 (const BLASINT N, const float *X, const BLASINT incX);
double cblas_dnrm2 (const BLASINT N, const double *X, const BLASINT incX);
float cblas_scnrm2 (const BLASINT N, const float *X, const BLASINT incX);
double cblas_dznrm2 (const BLASINT N, const double *X, const BLASINT incX);
Fortran interface:
RES = SNRM2(N, X, INCX)
RES = DNRM2(N, X, INCX)
RES = SCNRM2(N, X, INCX)
RES = DZNRM2(N, X, INCX)
参数
参数名 |
类型 |
描述 |
输入/输出 |
---|---|---|---|
N |
整型数 |
表示X向量的元素个数。 |
输入 |
X |
|
向量X,向量规模至少是(1+(n-1)*abs(incX))。 |
输入/输出 |
incX |
整型数 |
表示X向量增长步长。 |
输入 |
返回值
向量的范数。float或双精度浮点类型。
依赖
#include "kblas.h"
示例
C interface:
int n = 5, incx = 1; float res; /** * X: 0.340188, -0.105617, 0.283099, 0.298440, 0.411647 */ float x[5] = {0.340188, -0.105617, 0.283099, 0.298440, 0.411647}; res = cblas_snrm2(n, x, incx); /** * Output: 0.682310 */
Fortran interface:
INTEGER :: N=5 INTEGER :: INCX=1 REAL(4) :: RES REAL(4) :: X(5) DATA X/0.340188, -0.105617, 0.283099, 0.298440, 0.411647/ EXTERNAL SNRM2 RES=SNRM2(N, X, INCX) * Output : 0.682310
父主题: KML_BLAS Level 1函数