在 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]

相关文章