在 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。设置为参数的"nuc"是核范数。Frobenius 范数和核范数阶数都仅针对矩阵定义
步骤
首先,导入所需的库 −
import numpy as np from numpy import linalg as LA
创建一个数组 −
arr = np.array([[ -4, -3, -2], [-1, 0, 1], [2, 3, 4] ])
显示数组 −
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, 'nuc'))
示例
import numpy as np from numpy import linalg as LA # 创建数组 arr = np.array([[ -4, -3, -2],[-1, 0, 1],[2, 3, 4] ]) # 显示数组 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, 'nuc'))
输出
我们的数组... [[-4 -3 -2] [-1 0 1] [ 2 3 4]] 数组的维度... 2 数组对象的数据类型... int64 数组对象的形状... (3, 3) 结果... 9.797958971132713