python实现矩阵叉乘_Python线性代数学习笔记——矩阵和矩阵的乘法,实现矩阵的乘法...

本文介绍了如何使用Python实现矩阵的乘法,通过矩阵实现向量的线性转换。文章通过一个实例展示了如何将一个二维平面上的点坐标进行特定比例的放大,并解释了矩阵乘法在批量处理多个点时的作用。最后,提供了Matrix类的代码实现和测试案例。
摘要由CSDN通过智能技术生成

691334e182a06d609c4b485fa6916f74.png

在上一篇文章中,有一个看待矩阵和向量乘法的视角,就是可以把矩阵理解成向量的函数,可以把一个向量,转换成另外的一个向量。

a91f16057f29983f24002f38c840fd22.png

矩阵做这种向量间的转换,最典型的应用就是在图形中:

介绍矩阵数量乘的时候,举过这样的一个例子:有一个矩阵P,每一行都代表二维平面中的一个点的话,我们把这个矩阵P数量乘于2以后,得到的结果就相当于是把其中的每一个点的x坐标和y坐标都扩大2倍,画出图像化界面就是三角形扩大为原来的2倍

a41a6cba27d317a3972c3711e531da53.png

但是这里,换一个复杂的问题,我们要扩大,但是并不是x坐标和y坐标都扩大为原来的2倍,而是x坐标扩大为1.5倍,y坐标扩大为2倍,怎么做呢?

5ca4782a7378bca60e802a3d8c48e943.png

这里就是典型的,把一个向量,转换为另一个向量的问题

每一个点就是一个2维的列向量,通过矩阵T(向量函数的视角),转为另外一种的2维列向量

8a8fbb3492bf145639a71313a3c25745.png

所以我们要找出这个矩阵T

由上图,根据矩阵乘于向量的定义,以及右边的向量,可以推导出:

矩阵T一定是有2列的,因为列向量(x,y)有2行,不然没法相乘

矩阵T一定是有2行的,因为右边的列向量(1.5x,2y)有2行

所以就有:(设a,b,c,d)

58036a86b5b20c8f308448fc650f3fbc.png

根据对应的关系,可以求出b=0,c=0

87a10b6fc1fa0e44aafa5bbc0598190d.png

那么现在问题来了,上图的坐标轴上面,是有很多点的(3个点),一个点(向量)和这个矩阵T做乘法是完全可以的,但是有没有批量的操作呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值