NumPy数组转置与向量内积计算实战解析

苏见山
苏见山
发布时间:2026-10-13| 4人浏览过
原创

本文通过NumPy代码示例,演示如何利用reshape改变数组维度,并使用.T属性实现矩阵转置。进一步通过np.dot计算转置矩阵与原矩阵的内积,展示高维空间投影的几何意义。文章旨在帮助读者理解线性代数在编程中的实际应用,弥补数学基础不足带来的理解障碍。

不得不承认,我的数学基础相对薄弱。从高中紧张的学习节奏过渡到大学后,状态有所松懈,导致原本就不突出的数学成绩进一步下滑。线性代数、概率统计以及复变函数等课程,至今未能完全掌握,这始终是我心中的一块遗憾。但庆幸的是,现在仍有补救的机会,我决定不再敷衍,而是认真投入学习。

关于矩阵转置的具体应用场景,我此前并不清楚。在总结完矩阵转置的操作方法后,我查阅了网络资料以补充相关知识。

具体的代码操作如下:

In [15]: arr1 = np.arange(20)


In [16]: arr1
Out[16]:
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
    17, 18, 19])


In [17]: arr2 = arr1.reshape((4,5))


In [18]: arr2
Out[18]:
array([[ 0, 1, 2, 3, 4],
    [ 5, 6, 7, 8, 9],
    [10, 11, 12, 13, 14],
    [15, 16, 17, 18, 19]])


In [19]: arr3 = arr2.T


In [20]: arr3
Out[20]:
array([[ 0, 5, 10, 15],
    [ 1, 6, 11, 16],
    [ 2, 7, 12, 17],
    [ 3, 8, 13, 18],
    [ 4, 9, 14, 19]])


In [21]: np.dot(arr3,arr2)
Out[21]:
array([[350, 380, 410, 440, 470],
    [380, 414, 448, 482, 516],
    [410, 448, 486, 524, 562],
    [440, 482, 524, 566, 608],
    [470, 516, 562, 608, 654]])

代码中使用了Reshape方法来调整数组维度,而利用T属性则实现了矩阵的转置操作。从计算结果来看,矩阵转置本质上是实现了矩阵沿对角线的轴转换。这种操作常用于计算矩阵的内积。至于该算术运算背后的深层数学意义,我目前仍感到模糊,这也将作为本次补课的重点内容。

针对前文提到的两个知识点,尽管查阅了大量资料,理解起来仍颇具挑战。单纯记忆公式并非我的初衷,未来仍需通过不断尝试来深化理解。不过,关于内积的几何解释,我找到了一种说法:即高维空间中的向量向低维子空间的投影。尽管经过反复思考,我仍未完全透彻理解其含义。看来,线性代数仍需沉下心来深入钻研。

以上关于NumPy中数组转置求解及向量内积计算的内容分享完毕,希望能对读者有所帮助。欢迎参考,并期待大家的支持。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。