在Python中使用NumPy的线性代数中,返回给定轴上的向量的规范。
在这篇文章中,我们将介绍如何在Python的线性代数中返回向量在给定轴上的规范。
numpy.linalg.norm() 方法
numpy.linalg.norm()方法是用来返回Python中线性代数中给定轴上的向量的规范。根据ord参数的值,该函数可以返回可能的矩阵规范之一或无限数量的向量规范之一。一个向量离原点的欧几里得距离,一个被称为欧几里得规范或2-规范的规范,也可以定义为一个向量与自身内积的平方根。 axis =0用来查找沿行的规范, axis =1用来查找沿列的规范。下面是linalg.norm的语法,其中第一个参数应该是一个一维或二维数组,而ord是法线的顺序,axis则是沿轴计算向量的法线。
语法: numpy.linalg.norm(x, ord, axis)
参数:
- x: 输入数组 除非ord是None,否则x必须是1-D,如果axis是None,则是2-D。如果轴和ord都是无,x.ravel的2-norm将被返回。
- ord: 非零的int, inf, -inf, ‘fro’, ‘nuc’。(可选)
- axis: {None, int, 2-tuple of ints} .如果axis是一个整数,它表示应该沿着X轴计算向量规范。(可选)
返回:浮点或ndarray. 矩阵或向量的规范被返回。
示例 1:
这里,包被导入,np.arrange()方法被用来创建一个数组。.shape属性找到数组的形状,.ndim属性找到数组的尺寸,数组的数据类型是.type属性。
# import packages
import numpy.linalg as l
import numpy as np
# Creating an array
array = np.arange(12)
print(array)
# shape of the array is
print("Shape of the array is : ", array.shape)
# dimension of the array
print("The dimension of the array is : ", array.ndim)
# Datatype of the array
print("Datatype of our Array is : ", array.dtype)
# returning the norm of the vector over axis 0.
print(l.norm(array, axis=0))
输出:
[ 0 1 2 3 4 5 6 7 8 9 10 11]
Shape of the array is : (12,)
The dimension of the array is : 1
Datatype of our Array is : int64
22.494443758403985
示例 2:
在这个例子中,输入的是一个矩阵,通过指定 axis =1,可以找到矩阵的 norm。它与列一起表示。
# import packages
import numpy.linalg as l
import numpy as np
# Creating an array
array = np.arange(12).reshape((3, 4))
print(array)
# shape of the array is
print("Shape of the array is : ", array.shape)
# dimension of the array
print("The dimension of the array is : ", array.ndim)
# Datatype of the array
print("Datatype of our Array is : ", array.dtype)
# returning the norm of the matrix along axis 1
print(l.norm(array, axis=1))
输出:
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
Shape of the array is : (3, 4)
The dimension of the array is : 2
Datatype of our Array is : int64
[ 3.74165739 11.22497216 19.13112647]