?nrm2
计算向量的欧几里得范数。
即 。x是含有n个元素的向量,||x||相当于
。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函数