找回密码
 注册
关于网站域名变更的通知
查看: 369|回复: 1
打印 上一主题 下一主题

《算法导论(第三版)》第四章4.2,使用strassen算法计算矩阵的乘法。

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-3-11 11:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
《算法导论(第三版)》第四章4.2,使用strassen算法计算矩阵的乘法。! w9 A, }* s" ~9 B

; ?- \5 `& d2 I( m  F9 s' s主函数:' I; c/ t0 ?$ d( y6 H
  • clear;clc
  • A=[1 3;7 5];%测试数据
  • B=[6 8;4 2];%测试数据
  • C1=A*B%标准数据结果
  • C1=strassen(A,B)%strassen结果
  • A=[45 12 32 12 ;52 32 10 54;20 43 20 1;15 96 03 4];%测试数据
  • B=[96 25 34 62 ;38 10 5  41;13 62 2 17;10 62 19 27];%测试数据
  • C2=A*B%标准数据结果
  • C2=strassen(A,B)%strassen结果3 G5 f8 O' C: D4 [3 M
0 H+ R' F; r" ^9 ^+ Q

. l  `: n) s7 T( h' X/ q" gstrassen函数
+ R4 K1 T& g- O6 R; n: l, K
  • function [C] = strassen(A,B)
  • %strassen算法,输入的size==2^n
  • n=length(A);
  • if n==1
  •     C=A*B;%单个长度,就直接计算
  • else
  •     %步骤二的计算公式
  •     S1=B(1:n/2,n/2+1:n)-B(n/2+1:n,n/2+1:n);
  •     S2=A(1:n/2,1:n/2)+A(1:n/2,n/2+1:n);
  •     S3=A(n/2+1:n,1:n/2)+A(n/2+1:n,n/2+1:n);
  •     S4=B(n/2+1:n,1:n/2)-B(1:n/2,1:n/2);
  •     S5=A(1:n/2,1:n/2)+A(n/2+1:n,n/2+1:n);
  •     S6=B(1:n/2,1:n/2)+B(n/2+1:n,n/2+1:n);
  •     S7=A(1:n/2,n/2+1:n)-A(n/2+1:n,n/2+1:n);
  •     S8=B(n/2+1:n,1:n/2)+B(n/2+1:n,n/2+1:n);
  •     S9=A(1:n/2,1:n/2)-A(n/2+1:n,1:n/2);
  •     S10=B(1:n/2,1:n/2)+B(1:n/2,n/2+1:n);
  •     %步骤三的递归公式
  •     P1=strassen(A(1:n/2,1:n/2),S1);
  •     P2=strassen(S2,B(n/2+1:n,n/2+1:n));
  •     P3=strassen(S3,B(1:n/2,1:n/2));
  •     P4=strassen(A(n/2+1:n,n/2+1:n),S4);
  •     P5=strassen(S5,S6);
  •     P6=strassen(S7,S8);
  •     P7=strassen(S9,S10);
  •     %步骤四的结果相加
  •     C(1:n/2,1:n/2)=P5+P4-P2+P6;
  •     C(1:n/2,n/2+1:n)=P1+P2;
  •     C(n/2+1:n,1:n/2)=P3+P4;
  •     C(n/2+1:n,n/2+1:n)=P5+P1-P3-P7;
  • end
  • end
    % S: c3 r3 [, G1 C. q- [

- j( i# d2 n9 R/ l# M% d  \
, z/ T1 M7 L( `8 p

. N% F- n& Z% d

该用户从未签到

2#
发表于 2020-3-11 16:55 | 只看该作者
使用strassen算法计算矩阵的乘法。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-5 04:18 , Processed in 0.109375 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表