NumPy 教程 之 NumPy 线性代数 1

简介: NumPy 的 `linalg` 库提供了丰富的线性代数功能,如 `dot`、`vdot`、`inner`、`matmul`、`determinant`、`solve` 和 `inv` 等。其中,`numpy.dot()` 用于计算数组的点积或矩阵乘积。对于一维数组,它计算向量点积;对于二维及以上数组,则计算矩阵乘积。

NumPy 教程 之 NumPy 线性代数 1

NumPy 线性代数

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

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

numpy.dot()

numpy.dot() 对于两个一维的数组,计算的是这两个数组对应下标元素的乘积和(数学上称之为向量点积);对于二维数组,计算的是两个数组的矩阵乘积;对于多维数组,它的通用计算公式如下,即结果数组中的每个元素都是:数组a的最后一维上的所有元素与数组b的倒数第二位上的所有元素的乘积和: dot(a, b)[i,j,k,m] = sum(a[i,j,:] * b[k,:,m])。

numpy.dot(a, b, out=None)

参数说明:

a : ndarray 数组
b : ndarray 数组
out : ndarray, 可选,用来保存dot()的计算结果

实例

import numpy.matlib
import numpy as np

a = np.array([[1,2],[3,4]])
b = np.array([[11,12],[13,14]])
print(np.dot(a,b))

输出结果为:

[[37 40]
[85 92]]

计算式为:

[[111+213, 112+214],[311+413, 312+414]]

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