在 Python 的线性代数中返回矩阵轴上的范数
pythonnumpyserver side programmingprogramming
要返回线性代数中矩阵或向量的范数,请使用 Python Numpy 中的 LA.norm() 方法。第一个参数 x 是输入数组。如果 axis 为 None,则 x 必须是 1-D 或 2-D,除非 ord 为 None。如果 axis 和 ord 均为 None,则将返回 x.ravel 的 2-norm。第二个参数 ord 是范数的阶数。inf 表示 numpy 的 inf 对象。默认值为 None。
第三个参数 axis(如果为整数)指定 x 的轴,沿该轴计算向量范数。如果 axis 是 2 元组,则它指定保存 2-D 矩阵的轴,并计算这些矩阵的矩阵范数。如果 axis 为 None,则返回向量范数(当 x 为 1-D 时)或矩阵范数(当 x 为 2-D 时)。默认值为 None。
如果将第 4 个参数 keepdims 设置为 True,则结果中保留了范数轴,作为大小为 1 的维度。使用此选项,结果将根据原始 x 正确广播。
步骤
首先,导入所需的库 −
import numpy as np from numpy import linalg as LA
创建一个数组 −
arr = np.arange(8).reshape(2,2,2)
显示数组 −
print("我们的数组...\n",arr)
检查维度 −
print("\n数组的维度...\n",arr.ndim)
获取数据类型 −
print("\n我们的数组对象的数据类型...\n",arr.dtype)
获取形状 −
print("\n我们的数组对象的形状...\n",arr.shape)
要返回线性代数中的矩阵或向量的范数,请使用 LA.norm() 方法 −
print("\n结果...\n",LA.norm(arr, axis = (1, 2)))
示例
import numpy as np from numpy import linalg as LA # 创建数组 arr = np.arange(8).reshape(2,2,2) # 显示数组 print("我们的数组...\n",arr) # 检查维度 print("\n数组的维度...\n",arr.ndim) # 获取数据类型 print("\n我们的数组对象的数据类型...\n",arr.dtype) # 获取形状 print("\n我们的数组对象的形状...\n",arr.shape) # 要返回线性代数中矩阵或向量的范数,请使用 Python Numpy 中的 LA.norm() 方法 print("\n结果...\n",LA.norm(arr, axis = (1, 2)))
输出
我们的数组... [[[0 1] [2 3]] [[4 5] [6 7]]] 我们的数组的维度... 3 我们的数组对象的数据类型... int64 我们的数组对象的形状... (2, 2, 2) 结果... [ 3.74165739 11.22497216]