在 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

相关文章