---
title: ?nrm2
description: "计算向量的欧几里得范数，即。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/2200/accel/kunpengaccel_kml_16_0024.html
sourcePath: /source/zh/kunpengboostkithistory/2200/accel/kunpengaccel_kml_16_0024.html
indexId: 0f865da6b751224509afa55d5df4c2d5a641749086aa930a7a9f7aac6115985874
---
# ?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中，X是单精度浮点类型。 在dnrm2中，X是双精度浮点类型。 在scnrm2中，X是单精度复数类型。 在dznrm2中，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
```
