在 Python 的线性代数中将方阵提升到 n 次方

pythonnumpyserver side programmingprogramming更新于 2024/5/14 17:16:17

要在线性代数中将方阵提升到 n 次方,请使用 Python 中的 numpy.linalg.matrix_power()。对于正整数 n,幂是通过重复矩阵​​平方和矩阵乘法来计算的。如果 n == 0,则返回与 M 形状相同的单位矩阵。如果 n < 0,则计算逆矩阵,然后提升到 abs(n)。

返回值的形状和类型与 M 相同;如果指数为正或零,则元素的类型与 M 的元素类型相同。如果指数为负,则元素为浮点数。第一个参数 a 是要"幂"的矩阵。第二个参数n是指数,可以是任意整数或长整数,正数,负数或零。

步骤

首先,导入所需的库 −

import numpy as np
from numpy.linalg import matrix_power

创建一个二维数组,矩阵等效于虚部 −

arr = np.array([[0, 1], [-1, 0]])

显示数组 −

print("我们的数组...\n",arr)

检查维度 −

print("\n数组的维度...\n",arr.ndim)

获取数据类型 −

print("\n我们的数组对象的数据类型...\n",arr.dtype)

获取形状 −

print("\n我们的数组对象的形状...\n",arr.shape)

要在线性代数中计算方阵的 n 次方,请使用 Python 中的 numpy.linalg.matrix_power()。对于正整数 n,幂是通过重复矩阵​​平方和矩阵乘法来计算的。如果 n == 0,则返回与 M 形状相同的单位矩阵。如果 n < 0,则计算逆矩阵,然后将其提升到 abs(n) −

print("\n结果...\n",matrix_power(arr, 0))

示例

import numpy as np
from numpy.linalg import matrix_power

# 创建一个二维数组,矩阵等效于虚数单位
arr = np.array([[0, 1], [-1, 0]])

# 显示数组
print("我们的数组...\n",arr)

# 检查维度
print("\n数组的维度...\n",arr.ndim)

# 获取数据类型
print("\n我们的数组对象的数据类型...\n",arr.dtype)

# 获取形状
print("\n我们的数组对象的形状...\n",arr.shape)

# 在线性代数中,要将方阵提升到 n 次方,请使用 Python 中的 numpy.linalg.matrix_power()
print("\n结果...\n",matrix_power(arr, 0))

输出

我们的数组...
[[ 0 1]
[-1 0]]

我们的数组的维度...
2

我们的数组对象的数据类型...
int64

我们的数组对象的形状...
(2, 2)

结果...
[[1 0]
[0 1]]

相关文章


有用资源