NumPy 教程 之 NumPy 线性代数 5

简介: NumPy 的线性代数库 `linalg` 提供了丰富的功能,如点积(`dot`)、向量点积(`vdot`)、内积(`inner`)、矩阵积(`matmul`)、行列式计算(`determinant`)、求解线性矩阵方程(`solve`)以及矩阵逆(`inv`)。示例展示了 `numpy.linalg.det()` 函数用于计算矩阵的行列式,适用于 2×2 和更大的方阵。例如,矩阵 `[[1,2], [3,4]]` 的行列式为 `-2.0`;矩阵 `[[6,1,1], [4,-2,5], [2,8,7]]` 的行列式为 `-306.0`。

NumPy 教程 之 NumPy 线性代数 5

NumPy 线性代数

NumPy 提供了线性代数函数库 linalg,该库包含了线性代数所需的所有功能,可以看看下面的说明:

函数 描述
dot 两个数组的点积,即元素对应相乘。
vdot 两个向量的点积
inner 两个数组的内积
matmul 两个数组的矩阵积
determinant 数组的行列式
solve 求解线性矩阵方程
inv 计算矩阵的乘法逆矩阵

numpy.linalg.det()

numpy.linalg.det() 函数计算输入矩阵的行列式。

行列式在线性代数中是非常有用的值。 它从方阵的对角元素计算。 对于 2×2 矩阵,它是左上和右下元素的乘积与其他两个的乘积的差。

换句话说,对于矩阵[[a,b],[c,d]],行列式计算为 ad-bc。 较大的方阵被认为是 2×2 矩阵的组合。

实例

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

print (np.linalg.det(a))

输出结果为:

-2.0

实例

import numpy as np

b = np.array([[6,1,1], [4, -2, 5], [2,8,7]])
print (b)
print (np.linalg.det(b))
print (6(-27 - 58) - 1(47 - 52) + 1(48 - -2*2))

输出结果为:

[[ 6 1 1]
[ 4 -2 5]
[ 2 8 7]]
-306.0
-306

目录
相关文章
|
2月前
|
Python
NumPy 教程 之 NumPy 数学函数 2
本教程详细讲解了NumPy库中的数学函数应用。特别是对舍入函数`numpy.around()`进行了深入解析。此函数可实现数组中数值的四舍五入。通过调整`decimals`参数,用户可以灵活控制小数点后保留的位数,甚至对整数部分进行舍入操作。示例代码展示了不同参数设置下的舍入效果。
30 1
|
2月前
|
Python
NumPy 教程 之 NumPy 算术函数 1
本教程介绍NumPy中的基本算术函数,如加(add())、减(subtract())、乘(multiply())及除(divide())。示例展示了两个数组(一个3x3矩阵与一数组[10,10,10])间的运算。值得注意的是,参与运算的数组需有相同形状或可按照NumPy的广播规则进行扩展。此外Numpy还提供了许多其他的算术函数以满足复杂计算需求。
37 7
|
2月前
|
Python
NumPy 教程 之 NumPy 算术函数 2
NumPy 教程 之 NumPy 算术函数 2
32 3
|
2月前
|
Python
NumPy 教程 之 NumPy 数学函数 4
NumPy提供了丰富的数学函数,如三角函数、算术函数及复数处理等。本教程聚焦于舍入函数中的`numpy.ceil()`应用。该函数用于返回大于或等于输入值的最小整数(向上取整)。例如,对数组`[-1.7, 1.5, -0.2, 0.6, 10]`使用`np.ceil()`后,输出为`[-1., 2., -0., 1., 10.]`。
34 1
|
2月前
|
Python
NumPy 教程 之 NumPy 数学函数 3
本教程详细介绍了NumPy中的数学函数,特别是舍入函数`numpy.floor()`的使用方法。该函数可以返回小于或等于输入的最大整数,实现向下取整的功能。例如,对于数组`a = np.array([-1.7, 1.5, -0.2, 0.6, 10])`,应用`np.floor(a)`后,输出结果为`[-2., 1., -1., 0., 10.]`。这在处理包含浮点数的数据时非常有用。
28 0
|
1月前
|
Python
NumPy 教程 之 NumPy 线性代数 3
NumPy教程之NumPy线性代数3,介绍NumPy库中的linalg模块,涵盖线性代数的核心功能,包括点积、向量点积、内积、矩阵积、行列式计算、线性方程求解及矩阵逆等。示例展示了`numpy.inner()`函数的一维与多维数组应用,如计算向量内积及多维数组间的内积运算过程与结果。
33 12
|
29天前
|
Serverless Python
NumPy 教程 之 NumPy 线性代数 7
NumPy 的 `linalg` 库提供了丰富的线性代数功能,如点积、矩阵乘法、求解线性方程等。`numpy.linalg.inv()` 用于计算矩阵的乘法逆矩阵,即找到满足 `AB=BA=E` 的矩阵 `B`,其中 `E` 是单位矩阵。示例展示了如何对矩阵 `A` 计算其逆矩阵 `A^(-1)` 并求解线性方程 `A^(-1)B`,得到向量 `[5, 3, -2]` 作为解。
39 10
|
1月前
|
索引 Python
NumPy 教程 之 NumPy 线性代数 4
NumPy 的线性代数库 `linalg` 提供了丰富的线性代数功能,如点积(`dot`)、向量点积(`vdot`)、内积(`inner`)、矩阵积(`matmul`)、行列式(`determinant`)、求解线性方程(`solve`)和矩阵逆(`inv`)。其中,`numpy.matmul` 用于计算两个数组的矩阵乘积,支持多维数组操作。
32 11
|
1月前
|
Python
NumPy 教程 之 NumPy 线性代数 6
NumPy 的 `linalg` 库提供了多种线性代数功能,如 `dot`(点积)、`vdot`(向量点积)、`inner`(内积)、`matmul`(矩阵积)、`determinant`(行列式)、`solve`(求解线性方程)和 `inv`(计算逆矩阵)。`numpy.linalg.solve()` 可用于求解线性方程组,例如将方程组 `x + y + z = 6`、`2y + 5z = -4` 和 `2x + 5y - z = 27` 转换为矩阵形式 `AX = B` 并求解。
17 4
|
1月前
|
Serverless Python
NumPy 教程 之 NumPy 线性代数 2
NumPy 的线性代数函数库 `linalg` 提供了丰富的线性代数功能,如 `dot`、`vdot`、`inner`、`matmul`、`determinant`、`solve` 和 `inv` 等。示例展示了 `numpy.vdot()` 函数计算两个数组的点积,即使参数是多维数组也会被展开进行计算。
19 6