当前位置: 首页 > news >正文

海口网站如何制作电脑二级网页打不开怎么解决

海口网站如何制作,电脑二级网页打不开怎么解决,推广产品的软文,兰州迅豹网络Strassen算法于1969年由德国数学家Strassen提出#xff0c;该方法引入七个中间变量#xff0c;每个中间变量都只需要进行一次乘法运算。而朴素算法却需要进行8次乘法运算。原理Strassen算法的原理如下所示#xff0c;使用sympy验证Strassen算法的正确性import sympy as sA …Strassen算法于1969年由德国数学家Strassen提出该方法引入七个中间变量每个中间变量都只需要进行一次乘法运算。而朴素算法却需要进行8次乘法运算。原理Strassen算法的原理如下所示使用sympy验证Strassen算法的正确性import sympy as sA s.Symbol(A)B s.Symbol(B)C s.Symbol(C)D s.Symbol(D)E s.Symbol(E)F s.Symbol(F)G s.Symbol(G)H s.Symbol(H)p1 A * (F - H)p2 (A B) * Hp3 (C D) * Ep4 D * (G - E)p5 (A D) * (E H)p6 (B - D) * (G H)p7 (A - C) * (E F)print(A * E B * G, (p5 p4 - p2 p6).simplify())print(A * F B * H, (p1 p2).simplify())print(C * E D * G, (p3 p4).simplify())print(C * F D * H, (p1 p5 - p3 - p7).simplify())复杂度分析$$f(N)7\times f(\frac{N}{2})7^2\times f(\frac{N}{4})...7^k\times f(\frac{N}{2^k})$$最终复杂度为$7^{log_2 N}N^{log_2 7}$java矩阵乘法(Strassen算法)代码如下可以看看数据结构的定义时间换空间。public class Matrix {private final Matrix[] _matrixArray;private final int n;private int element;public Matrix(int n) {this.n n;if (n ! 1) {this._matrixArray new Matrix[4];for (int i 0; i 4; i) {this._matrixArray[i] new Matrix(n / 2);}} else {this._matrixArray null;}}private Matrix(int n, boolean needInit) {this.n n;if (n ! 1) {this._matrixArray new Matrix[4];} else {this._matrixArray null;}}public void set(int i, int j, int a) {if (n 1) {element a;} else {int size n / 2;this._matrixArray[(i / size) * 2 (j / size)].set(i % size, j % size, a);}}public Matrix multi(Matrix m) {Matrix result null;if (n 1) {result new Matrix(1);result.set(0, 0, (element * m.element));} else {result new Matrix(n, false);result._matrixArray[0] P5(m).add(P4(m)).minus(P2(m)).add(P6(m));result._matrixArray[1] P1(m).add(P2(m));result._matrixArray[2] P3(m).add(P4(m));result._matrixArray[3] P5(m).add(P1(m)).minus(P3(m)).minus(P7(m));}return result;}public Matrix add(Matrix m) {Matrix result null;if (n 1) {result new Matrix(1);result.set(0, 0, (element m.element));} else {result new Matrix(n, false);result._matrixArray[0] this._matrixArray[0].add(m._matrixArray[0]);result._matrixArray[1] this._matrixArray[1].add(m._matrixArray[1]);result._matrixArray[2] this._matrixArray[2].add(m._matrixArray[2]);result._matrixArray[3] this._matrixArray[3].add(m._matrixArray[3]);;}return result;}public Matrix minus(Matrix m) {Matrix result null;if (n 1) {result new Matrix(1);result.set(0, 0, (element - m.element));} else {result new Matrix(n, false);result._matrixArray[0] this._matrixArray[0].minus(m._matrixArray[0]);result._matrixArray[1] this._matrixArray[1].minus(m._matrixArray[1]);result._matrixArray[2] this._matrixArray[2].minus(m._matrixArray[2]);result._matrixArray[3] this._matrixArray[3].minus(m._matrixArray[3]);;}return result;}protected Matrix P1(Matrix m) {return _matrixArray[0].multi(m._matrixArray[1]).minus(_matrixArray[0].multi(m._matrixArray[3]));}protected Matrix P2(Matrix m) {return _matrixArray[0].multi(m._matrixArray[3]).add(_matrixArray[1].multi(m._matrixArray[3]));}protected Matrix P3(Matrix m) {return _matrixArray[2].multi(m._matrixArray[0]).add(_matrixArray[3].multi(m._matrixArray[0]));}protected Matrix P4(Matrix m) {return _matrixArray[3].multi(m._matrixArray[2]).minus(_matrixArray[3].multi(m._matrixArray[0]));}protected Matrix P5(Matrix m) {return (_matrixArray[0].add(_matrixArray[3])).multi(m._matrixArray[0].add(m._matrixArray[3]));}protected Matrix P6(Matrix m) {return (_matrixArray[1].minus(_matrixArray[3])).multi(m._matrixArray[2].add(m._matrixArray[3]));}protected Matrix P7(Matrix m) {return (_matrixArray[0].minus(_matrixArray[2])).multi(m._matrixArray[0].add(m._matrixArray[1]));}public int get(int i, int j) {if (n 1) {return element;} else {int size n / 2;return this._matrixArray[(i / size) * 2 (j / size)].get(i % size, j % size);}}public void display() {for (int i 0; i n; i) {for (int j 0; j n; j) {System.out.print(get(i, j));System.out.print( );}System.out.println();}}public static void main(String[] args) {Matrix m new Matrix(2);Matrix n new Matrix(2);m.set(0, 0, 1);m.set(0, 1, 3);m.set(1, 0, 5);m.set(1, 1, 7);n.set(0, 0, 8);n.set(0, 1, 4);n.set(1, 0, 6);n.set(1, 1, 2);Matrix res m.multi(n);res.display();}}总结到此这篇关于使用java写的矩阵乘法的文章就介绍到这了,更多相关java矩阵乘法(Strassen算法)内容请搜索得牛网以前的文章或继续浏览下面的相关文章希望大家以后多多支持得牛网
http://www.pierceye.com/news/508148/

相关文章:

  • 常见的网站类型有北京电力建设公司待遇
  • 网站分析流程wordpress表单统计插件下载
  • 南宁网站建设公司seo优化武鸣住房和城乡规划建设局网站
  • 在线制作网站门户站模板
  • 邵阳网站建设推广56m做图片视频的网站是什么
  • 如何提高网站的点击率域名空间网站推广
  • 上海松江做网站建设wordpress 拒绝连接
  • 有免费的个人网站吗富德生命人寿保险公司官方网站保单服务
  • 网站备案 子域名网页视频制作软件
  • 空间 网站网站建设哪个好
  • 公司网站域名价格云南免费网站建设
  • 网站跳转域名不变常见网站架构
  • 山东省建设厅电工证查询网站网站标题的选择
  • 网站建设是属于软件吗电话销售哪里找客户电话
  • 用vue做网站的实例网站制作郑州
  • 五个网站想自己在家做外贸网站
  • 收费的电影网站怎么做网页设计图片的应用
  • 班级网站建设步骤橘子皮主题wordpress
  • 网站模板源文件网站制作需求文档
  • 青岛注册公司网站建网站需要那些步骤
  • 深圳做网上商城网站小蘑菇网站建设软件
  • 广州住建网站网站空间购买价格
  • 金华永康网站建设公司做网站的优点
  • 有免费的微网站制作吗瑞安哪里有培训做网站的
  • 苏州住房和城乡建设局网站wordpress中文书
  • 盐城市滨海县建设局网站wordpress 4.8.1 漏洞
  • 荆州市城市建设投资开发有限公司网站百度人工服务24小时
  • 永久域名购买昆明网站建设优化企业
  • 自适应网站模板下载网页设计培训哪好
  • 做门窗网站便宜的vps租用网站