算法导论4.2习题

本文详细探讨了Strassen算法在矩阵乘法中的应用,包括解答4.2-1的具体计算过程,4.2-2的伪代码实现,以及如何处理矩阵规模非2的幂的情况。还讨论了矩阵乘法的复杂度问题,V.Pan的68×68和70×70矩阵乘法方法的比较,并分析了Strassen算法在不同规模矩阵乘法中的效率。最后提出一个仅需三次实数乘法的复数乘法算法。
摘要由CSDN通过智能技术生成

4.2-1 使用Strassen算法计算如下矩阵乘法:

                                                                     \begin{bmatrix} 1 &3 \\ 7& 5 \end{bmatrix}\begin{bmatrix} 6 & 8\\ 4 & 2 \end{bmatrix}

给出计算过程。

答:

    1. 将输入矩阵A,B分解为n/2*n/2的子矩阵

        A11 = [1]           B11 = [6]

        A12 = [3]           B12 = [8]

        A21 = [7]           B21 = [4]

        A22 = [5]           B22 = [2]

    2. 创建10个n/2*n/2矩阵

        S1 = B12 - B22 = [8] - [2] = [6]

        S2 = A11 + A12 = [1] + [3] = [4]

        S3 = A21 + A22 = [7] + [5] = [12]

        S4 = B21 - B11 = [4] - [6] = [-2]

        S5 = A11 + A22 = [1] + [5] = [6]

        S6 = B11 + B22 = [6] + [2] = 8

        S7 = A12 - A22 = [3] - [5] = [-2]

        S8 = B21 + B22  = [4] + [2] = [6]

        S9 = A11 - A21 = [1] - [7] = [-6]

        S10 = B11 + B12 = [6] + [8] = [14]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值