文章目录
- 1. 矩阵对象
- 2. 创建矩阵
- 3. 矩阵属性
- 4. 矩阵乘法
1. 矩阵对象
在数学上,矩阵(Matrix)是一个按照矩形阵列排列的复数或实数集合,但在NumPy中,矩阵np.matrix是数组np.ndarray的派生类。这意味着矩阵本质上是一个数组,拥有数组的所有属性和方法;同时,矩阵又有一些不同于数组的特性和方法。
- 首先,矩阵是二维的,不能像数组一样幻化成任意维度,即使展开或切片,返回也是二维的;
- 其次,矩阵和矩阵、矩阵和数组都可以做加减乘除运算,运算结果总是返回矩阵;
- 最后,矩阵的乘法不同于数组乘法。
2. 创建矩阵
np.mat() 函数用于创建矩阵,它可以接受列表、数组甚至是字符串等形式的参数,还可以使用dtype参数指定数据类型,其代码如下。
此外,和生成特殊值数组类似,numpy.matlib 子模块()也提供了多个函数用于生成特殊值矩阵和随机数矩阵,其代码如下。
3. 矩阵属性
矩阵有几个特有的属性,如转置矩阵、逆矩阵、共轭矩阵、共轭转置矩阵等。熟悉这些属性对矩阵计算会有很大的帮助。
4. 矩阵乘法
矩阵运算和数组运算大致相同,只有乘法运算有较大差别。在讲广播和矢量化时,我们已经知道,两个数组相乘就是对应元素相乘,条件是两个数组的结构相同。事实上,即使两个数组的结构不同,只要满足特定条件,也能做乘法运算。
除了对应元素相乘,数组还可以使用 np.dot() 函数相乘,其代码如下。
对于数组而言,使用星 相乘和使用np.dot()函数相乘是完全不同的两种乘法;对于矩阵来说,不管是使用星 相乘还是使用np.dot()函数相乘,结果都是np.dot( )函数相乘的结果,因为矩阵没有对应元素相乘这个概念。np.dot()函数实现的乘法就是矩阵乘法。那么矩阵乘法究竟是怎么运算的呢是矩阵相乘的具体算法示意图。
关于矩阵及其乘法,我们就讨论这么多。难度应该不大,但对于有数学恐惧症的程序员来说,会感到紧张。没关系,只要记住旋转矩阵的使用方法,即使不懂数学,也照样可以成为优秀的 Python程序员。
文章已被收录至官方知识档案Python入门技能树科学计算基础软件包NumPy矩阵对象215688 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!