NumPy 线性代数

NumPy 线性代数

Numpy提供以下函数来对输入数据进行不同的代数计算。

序号 函数 描述
1 dot() 用于计算两个数组的点积。
2 vdot() 用于计算两个向量的点积。
3 inner() 用于计算两个数组的内积。
4 matmul() 用于计算两个数组的矩阵乘积。
5 det() 用于计算矩阵的行列式。
6 solve() 用于解决线性矩阵方程。
7 inv() 用于计算矩阵的乘法逆。

numpy.dot()函数

此函数用于返回两个矩阵的点积。它类似于矩阵乘法。考虑以下示例。

示例

import numpy as np
a = np.array([[100,200],[23,12]])
b = np.array([[10,20],[12,21]])
dot = np.dot(a,b)
print(dot)

输出:

[[3400 6200]
 [ 374  712]]


The dot product is calculated as:

[100 * 10 + 200 * 12, 100 * 20 + 200 * 21] [23*10+12*12, 23*20 + 12*21] 

numpy.vdot()函数

此函数用于计算两个向量的点积。可以将其定义为多维数组的对应元素乘积的和。

考虑以下示例。

示例

import numpy as np
a = np.array([[100,200],[23,12]])
b = np.array([[10,20],[12,21]])
vdot = np.vdot(a,b)
print(vdot)

输出:

5528


np.vdot(a,b) = 100 *10 + 200 * 20 + 23 * 12 + 12 * 21 = 5528 

numpy.inner()函数

这个函数返回一维数组内部元素的乘积之和。对于n维数组,它返回沿最后一个轴上的元素乘积之和。

考虑以下示例。

示例

import numpy as np
a = np.array([1,2,3,4,5,6])
b = np.array([23,23,12,2,1,2])
inner = np.inner(a,b)
print(inner)

输出:

130

numpy.matmul()函数

它用于返回两个矩阵的乘积。如果两个矩阵的形状不对齐以进行乘法运算,则会产生错误。请看以下示例。

示例

import numpy as np
a = np.array([[1,2,3],[4,5,6],[7,8,9]])
b = np.array([[23,23,12],[2,1,2],[7,8,9]])
mul = np.matmul(a,b)
print(mul)

numpy行列式

可以使用对角元素来计算矩阵的行列式。以下2 x 2矩阵的行列式可以计算如下:

A B C D

行列式可以计算为AD – BC。

numpy.linalg.det()函数用于计算矩阵的行列式。考虑以下示例。

示例

import numpy as np
a = np.array([[1,2],[3,4]])
print(np.linalg.det(a))

输出:

-2.0000000000000004

numpy.linalg.solve()函数

此函数用于求解以矩阵形式给出的二次方程。

下面是线性方程的表示方式

3X + 2 Y + Z = 10 
X + Y + Z = 5

可以通过使用三个矩阵表示为:

3   2   1
1   1   1
X
Y
Z  and
10
5.

这两个矩阵可以作为参数传递给numpy.solve()函数,如下所示。

示例

import numpy as np
a = np.array([[1,2],[3,4]])
b = np.array([[1,2],[3,4]])
print(np.linalg.solve(a, b))

输出:

[[1. 0.]
 [0. 1.]]

numpy.linalg.inv()函数

此函数用于计算输入矩阵的乘法逆矩阵。请看以下示例。

示例

import numpy as np
a = np.array([[1,2],[3,4]])
print("Original array:\n",a)
b = np.linalg.inv(a)
print("Inverse:\n",b)

输出:

Original array:
 [[1 2]
 [3 4]]
Inverse:
 [[-2.   1. ]
 [ 1.5 -0.5]]

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程