NumPy 使用inv()函数计算矩阵的逆

NumPy 使用inv()函数计算矩阵的逆

逆矩阵是指与原始矩阵相乘得到乘法单位的矩阵,用A-1表示。可以计算n x n尺寸的方阵的逆矩阵。

计算逆矩阵的数学公式如下。

A-1 . A = A . A-1 = I

其中,

  • A 是原始矩阵。

  • A -1 是原始矩阵 A 的逆矩阵。

  • I 是单位矩阵。

让我们把原始矩阵记作 A,大小为 2 x 2,元素为 ,那么计算 A-1 的公式如下。

A-1 = 1/ (ad - bc) * [[d, -b], [-c, a]]

其中,

  • a、b、c、d是矩阵中的元素。

  • A-1是原始矩阵A的逆。

计算矩阵的逆的最通用公式如下。

A^-1 = (1/det(A)) * adj(A)

其中,

  • det(A) 是矩阵A的行列式。

  • adj(A) 是A的伴随矩阵,即矩阵的余子式的转置矩阵。

Numpy中的inv()函数

在Python中,Numpy有一个名为linalg的模块,并且它有一个名为inv()的函数,用于计算给定矩阵的逆。

语法

以下是对数组应用inv()函数以计算矩阵的逆的语法。

import numpy as np
np.linalg.inv(arr)

其中,

  • arr 是输入数组。

示例

为了计算给定数组的逆矩阵,我们需要将其作为参数传递给inv()函数,如下例所示 –

import numpy as np
a = np.array([[22,1],[14,5]])
print("The input array:",a)
inverse = np.linalg.inv(a)
print("The Inverse of the given input matrix:", inverse)

输出

The input array: [[22 1]
   [14 5]]
The Inverse of the given input matrix: [[ 0.05208333 -0.01041667]
   [-0.14583333 0.22916667]]

示例

inv() 函数只接受方阵,即2 x 2,3 x 3等。让我们看一个例子,我们将大小为3 x 2的数组传递给函数,那么输出将是一个错误,因为该函数只接受方阵大小的数组。

import numpy as np
a = np.array([[22,1,7],[14,5,2]])
print("The input array:",a)
inverse = np.linalg.inv(a)
print("The Inverse of the given input matrix:”, inverse)

错误

File "/home/cg/root/19762/main.py", line 5

    print("The Inverse of the given input matrix:”, inverse)
          ^
SyntaxError: unterminated string literal (detected at line 5)

示例

让我们看另一个示例以了解使用inv()函数计算大小为n x n的3维数组的逆运算。以下是参考代码。

import numpy as np
a = np.array([[[34,23],[90,34]],[[43,23],[10,34]]])
print("The input array:",a)
inverse = np.linalg.inv(a)
print("The inverse of the given array:",inverse)

输出

The input array: [[[34 23]
  [90 34]][[43 23]
  [10 34]]]
The inverse of the given array: [[[-0.03719912  0.02516411]
  [ 0.09846827 -0.03719912]][[ 0.0275974  -0.01866883]
  [-0.00811688  0.0349026 ]]]

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程