2矩阵消元

本部分博客复制https://blog.youkuaiyun.com/suqier1314520/article/list/3?t=1的文章,因为其图片显示不出来,做一下丰富。
第二课时:矩阵消元
本课时的目标是用矩阵变换描述消元法。核心概念是矩阵变换。
一、消元法

消元法:将主对角线上的主元固定(0不能做主元),把主元下面的元素消为0。过程:先完成左侧矩阵的消元(变成上三角矩阵),再回代运算右侧向量,最后即可求出解完成整个消元过程。(matlab也是先计算左侧矩阵,再回头计算右侧向量的)

**左侧矩阵的消元过程:**U矩阵是A矩阵的最终消元结果

右侧向量回代过程: A中加入b列向量变成增广矩阵,增广就是增加的意思,增加了新列,左侧矩阵消元时,右侧向量也会跟着变化。c向量是b向量的最终结果

求解:将U和c代入原式子可得解

消元法失效的情况(指不能得到三个主元):当主元上为0时,就通过交换行将主元位置变为非0,当通过交换行还不能解决0主元的时候,消元法就失效了。(不能解决0主元的矩阵是不可逆矩阵)

二、引入矩阵描述这些(消元步骤的)变化(消元矩阵),用矩阵语言描述整个消元过程。

回忆下我们应该怎样看待矩阵乘法:
矩阵乘以列向量是矩阵列的线性组合,结果为列向量;行向量乘以矩阵式矩阵行的线性组合,结果为行向量。
下面用消元矩阵来对矩阵进行消元,注意变换过程我们应该始终用线性组合的方式进行思考。同时注意到:单位矩阵是一个不会对任何矩阵有任何变换作用的矩阵。
第一步消元:我们要对中间的矩阵进行消元,得到右侧矩阵,第一步为row2=row2-3*row1。依次考虑左侧矩阵的行,第一行与中间矩阵的各个行向量进行线性组合,右侧矩阵的第一个行向量就是这个线性组合的结果,可观察容易得出左侧消元矩阵第一行为(1 0 0)。其实只需要由变换(row2=row2-3*row1)可得,消元矩阵中只有第二行有不同于单位矩阵的数值,即(-3 1 0)。

第二步消元:

以上每一步消元都使用到一个初等矩阵进行变换,我们将这些初等矩阵变换步骤综合起来(为什么综合起来?原因之一是更节省空间),即

有什么矩阵可以一次性完成E32和E21的消元任务呢?可以用结合律将E32和E21乘起来得到,但我们不这样做。
更好的方法:不是关于A怎么变换成U,而是U如何变成A,逆变换。下一课时将详细讲解。
逆矩阵,右侧消元矩阵表示的变换是row2减去3倍row1,将右侧向量从(2 12 2)变成(2 6 2)。现在需要将(2 6 2)通过找到某矩阵取消这次消元,减去多少就加回来多少,变回(2 12 2),即该矩阵乘以初等矩阵得到单位矩阵。
即:原矩阵是A,E1A=B,E2E1A=E2B,A=E2B(E2会将B变回A),IA=E2B,E2E1=I,E2与E1互为逆矩阵。

置换(permutation)矩阵:即交换行或交换列的变换矩阵
行交换,列交换

Verilog是一种硬件描述语言(HDL),常用于数字电路设计。矩阵是一个线性代数的过程,在数字信号处理和控制系统设计中可能会用到简化求解线性方程组的问题。在Verilog中实现矩阵,通常会利用数据流模块(Data Flow Modules)来模拟矩阵操作。 以下是一个简单的步骤概述: 1. 定义数据结构:首先,你需要在Verilog中定义矩阵的数据结构,可以是二维数组或者使用专门的矩阵存储结构。 ```verilog typedef logic [WIDTH-1:0] matrix [ROW-1:0][COL-1:0]; ``` 其中`WIDTH`代表素位宽,`ROW`和`COL`分别表示矩阵行和列的数量。 2. 表达矩阵操作:然后,你可以编写函数来执行矩阵操作,如行交换、行倍增(加法)等步骤。例如,行倍增可以用以下形式表示: ```verilog function void rowMultiply(matrix in A, integer multiplier, matrix out B); // 省略具体实现细节 endfunction ``` 3. 循环实现过程:对于高阶矩阵,需要对矩阵进行循环迭代,直到达到所需的状态。这通常通过嵌套for循环实现,外层控制行,内层控制列。 4. 并行处理:为了提高效率,可以考虑并行化部分操作,比如同时处理矩阵的不同行或列。但这取决于具体的FPGA或ASIC的资源限制。 注意,实际的Verilog代码会比这个简化的版本复杂得多,包括错误检测、边界条件处理以及流水线或并发设计以优化性能。此外,由于Verilog主要用于底层硬件描述,所以在大型矩阵运算上可能不如专门的数学库高效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值