中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

?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

  • 在snrm2中是单精度浮点类型。
  • 在dnrm2中是双精度浮点类型。
  • 在scnrm2中是单精度复数类型。
  • 在dznrm2中是双精度复数类型。

向量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