个性化阅读
专注于IT技术分析

NumPy线性代数操作:矩阵基本运算

本文概述

Numpy提供以下功能, 以对输入数据执行不同的代数计算。

SN Function Definition
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矩阵的行列式

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

赞(0) 打赏
未经允许不得转载:srcmini » NumPy线性代数操作:矩阵基本运算
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏