NumPy 教程 之 NumPy 线性代数 3

简介: NumPy教程之NumPy线性代数3,介绍NumPy库中的linalg模块,涵盖线性代数的核心功能,包括点积、向量点积、内积、矩阵积、行列式计算、线性方程求解及矩阵逆等。示例展示了`numpy.inner()`函数的一维与多维数组应用,如计算向量内积及多维数组间的内积运算过程与结果。

NumPy 教程 之 NumPy 线性代数 3

NumPy 线性代数

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

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

numpy.inner()

numpy.inner() 函数返回一维数组的向量内积。对于更高的维度,它返回最后一个轴上的和的乘积。

实例

import numpy as np

print (np.inner(np.array([1,2,3]),np.array([0,1,0])))

等价于 10+21+3*0

输出结果为:

2

多维数组实例

import numpy as np

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

print ('数组 a:')
print (a)
b = np.array([[11, 12], [13, 14]])

print ('数组 b:')
print (b)

print ('内积:')
print (np.inner(a,b))

输出结果为:

数组 a:
[[1 2]
[3 4]]
数组 b:
[[11 12]
[13 14]]
内积:
[[35 41]
[81 95]]
数组 a:
[[1 2]
[3 4]]
数组 b:
[[11 12]
[13 14]]
内积:
[[35 41]
[81 95]]

内积计算式为:

111+212, 113+214
311+412, 313+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还提供了许多其他的算术函数以满足复杂计算需求。
42 7
|
3月前
|
Python
NumPy 教程 之 NumPy 算术函数 2
NumPy 教程 之 NumPy 算术函数 2
34 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
|
4月前
|
IDE Linux 开发工具
NumPy 教程 之 NumPy 教程 2
NumPy 是 Python 的科学计算库,官方发行版不包含它。安装推荐使用包含科学计算包的发行版,如 Anaconda、Enthought Canopy、Python(x,y)、WinPython 或 Pyzo。若选择单独安装,可借助 `pip`,命令如 `pip3 install --user numpy scipy matplotlib`。使用国内镜像(如清华源)可加速下载:`pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy scipy matplotlib`。
32 2
|
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