Jacobi并行拆解

作者:桂。

时间:2018-04-23  21:12:02

链接:http://www.cnblogs.com/xingshansi/p/8921815.html 


前言

本文主要是复数矩阵分解的拆解思路(矩阵求逆/特征值分解)一文的补充。

一、并行拆解思路

   回顾前文,对于8X8的实数矩阵:

仿真:

clc;clear all;
X = rand(8);
R = X+X';
Iteration = 20;
[D,U] = Jac_sweep(R,Iteration);
[u,s,v] = svd(R);
[sort(diag(s)),sort(abs(diag(D)))]

  Jac_sweep并行代码:

function [D,U] = Jac_sweep(A,Iteration)
iter = 0;
n = size(A,1);
U = eye(n);
A_c = [1,2;3,4;5,6;7,8;...2,3;4,5;6,7;1,8;...1,3;2,4;5,7;6,8;...3,5;4,6;1,7;2,8;...1,4;3,6;5,8;2,7;...2,5;4,7;1,6;3,8;...1,5;2,6;3,7;4,8];while iter <Iterationiter = iter+1;for flag = 1:size(A_c,1)/4T = eye(n);for t = 1:4p = A_c((flag-1)*4+t,1);q = A_c((flag-1)*4+t,2);y = 2*A(p,q);x = A(p,p)-A(q,q);phi = atan2(y,x)/2;T(p,p) = cos(phi);T(q,q) = cos(phi);T(p,q) = -sin(phi);T(q,p) = sin(phi);endD = T'*A*T;U = U*T;A = D;end
end

  

打印结果与SVD分解的结果一致,并行思路可行。其他维度依次类推。对于维度N的矩阵,

  • N为偶数,可并行N/2路;
  • N为奇数,可并行[N-1]/2路;

二、改进思路

  每一次sweep,需要1次Cordic:phi = atan2(y,x)/2,和两次Cordic(两次可并行):cos(phi) / sin(phi),二者串行。对于atan2操作,可借鉴复数相位近似估计一文的思路,即对于atan的计算,考虑到CORDIC耗时较长,内存资源充足的情况下,1)直接查表;若内存相对紧张,2)多项式逼近。二者较CORDIC均减少运算时间。

  另外,关于定点仿真可调用fi工具包,其中CORDIC对应指令:cordicatan2、cordiccos......

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/242331.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DSP之定点数

DSP之定点数 定点数的表示 定点数(fixed-point number)就是小数点位置固定的数。 需要先约定小数点的位置 以 1 个字节(8 bit)为例,约定前 5 位表示整数部分,后 3 位表示小数部分。

为什么借钱要上央行征信?

央行征信中心没有一个标准说谁借钱一定要上征信&#xff0c;只有那些接入人行征信系统的金融机构&#xff0c;他们用户的借贷活动才会被记录在案&#xff0c;不管是正常还款&#xff0c;还是逾期不还&#xff0c;统统都会被记录在人行征信系统里面。人行征信系统只是一个金融信…

PHP的构成及工作原理

PHP的设计理念及特点多进程模型 由于PHP是多进程模型&#xff0c;不同请求间互不干涉&#xff0c;这样保证了一个请求挂掉不会对全盘服务造成影响&#xff0c;当然&#xff0c;随着时代发展&#xff0c;PHP也早已支持多线程模型。 弱类型语言 和C/C、Java、C#等语言不同&…

DSP/BIOS的基本介绍

DSP/BIOS的基本介绍 DSP/BIOS是一个简易的实时嵌入式操作系统&#xff0c;主要面向实时调度与同步、主机/目标系统通信&#xff0c;以及实时监测等应用&#xff0c;具有实时操作系统的诸多功能&#xff0c;如任务的调度管理、任务间的同步和通信、内存管理、实时时钟管理、中断…

PHP7的变化

引言PHP7与PHP5版本相比有非常大的变化&#xff0c;尤其是在Zend引擎方面。为了提升性能&#xff0c;PHP7对Zend进行了深度优化&#xff0c;使得PHP的运行速度大大提高&#xff0c;比PHP5.0-5.6快了近5倍&#xff0c;同时还降低了PHP对系统资源的占用。 PHP7比较大的变化有&…

Git的下载安装

Git的下载安装 在你开始使用 Git 前&#xff0c;需要将它安装在你的计算机上。 即便已经安装&#xff0c;最好将它升级到最新的版本。 你可以通 过软件包或者其它安装程序来安装&#xff0c;或者下载源码编译安装。 或者 测试一下是否安装成功

Jacobi并行拆解【补充】

作者&#xff1a;桂。 时间&#xff1a;2018-04-24 22:04:52 链接:http://www.cnblogs.com/xingshansi/p/8934373.html 前言 本文为Jacobi并行拆解一文的补充&#xff0c;给出另一种矩阵运算的思路。 一、算法流程 对于复数相关矩阵R&#xff0c;通过矩阵变换&#xff0c;在…

PHP内核——内存管理

PHP中的变量是不需要手动释放的&#xff0c;内核帮我们实现了变量的内训管理&#xff0c;包括内存的分配与回收。本文主要介绍PHP中与内存相关的知识点&#xff0c;包括变量的GC机制、垃圾回收以及底层的内存池实现&#xff0c;除此还有一些线程安全相关的知识点。 变量的自动G…

买房贷款被拒,该如何补救?

买房贷款被拒&#xff0c;想要补救得先找到根源&#xff0c;然后才能对症下药。下面我们就来分析下房贷被拒的原因&#xff0c;以及补救的方法。一、征信不良一般在提交房贷资料之前银行会先查询申请人的信用记录&#xff0c;银行对征信的要求一般是连三累六&#xff0c;也就是…

配置有户名和邮箱

配置有户名和邮箱 按上下键&#xff0c;可以切换到历史命令。 修改信息 获取单独的信息 Git help 就是对各种命令进行查询 对help中的具体命令进行查询

这4种钱没有也要借,不能等

借钱&#xff1f;说起来好像是一件没有面子的事情&#xff0c;但是我们认真观察下人的一生&#xff0c;我们会发现&#xff0c;在不同的时间段&#xff0c;我们会面临各种各样的问题&#xff0c; 我们所处的环境都会不一样&#xff0c;有时候有些钱是必须要花的&#xff0c;即使…

注意:这些信用卡不激活也会产生费用

银监会规定&#xff0c;信用卡未经持卡人激活&#xff0c;不得扣收任何费用。因此很多人都以为信用卡不激活就不会产生费用&#xff0c;挺多留下一个征信查询记录&#xff0c;但这只针对普通的金卡、白金卡的情况&#xff0c;如果你申请的是特种卡、高端白金卡&#xff0c;钻石…

管理git项目

管理git项目 错误示范 第一步&#xff1a;想建立项目文件夹 第二步&#xff1a;进入到项目文件夹下 第三步&#xff1a;在项目文件夹下使用git命令 正确示范 第一步&#xff1a;创建项目文件 第二步&#xff1a;进入到项目文件夹下 第三步&#xff1a;初始化项目文件的…

有人说,如果有条件一定要远离穷人,你赞成吗?

我觉得应该远离穷人的环境及思想&#xff0c;而不是远离穷人。我记得有一位老师说过一句话&#xff1a;“一个人要走多远才能成功&#xff0c;关键是看与谁同行”。当时听这句的时候&#xff0c;觉得挺有哲理的&#xff0c;但并没有理解其中的深意&#xff0c;后来工作了多年之…

信用卡套现只要正常还款,银行是不是睁只眼闭只眼?

这要怎么说呢&#xff0c;目前没有法律规定说持卡人不能套现&#xff0c;套现要分恶意的还是非恶意的套现。只要你能够按时还款&#xff0c;你就是正常的消费&#xff0c;如果你套现之后出现逾期或不还&#xff0c;那你就是恶意套现&#xff0c;对于恶意套现&#xff0c;银行肯…

commit的作用

commit的作用 commit的作用&#xff1a;提交和保持的状态。会产生一个档案号。 没有被追踪时&#xff0c;不能使用commit&#xff08;没有被提交&#xff09;

银行理财不再保本保息,你还敢买吗?

2018年4月27日&#xff0c;《关于规范金融机构资产管理业务的指导意见》正式发布。这个指导意见的发布有几个大家最关心的点&#xff1a;一是银行的理财产品不能承诺保本保收益&#xff1b;二是银行不再承诺刚性兑付。所谓不在承诺保本保收益就是&#xff0c;以后购买银行理财产…

房贷是不是越多越久越好?

从理论上来说&#xff0c;房贷确实是越多、越久越有利&#xff0c;但是在操作的过程中需要根据自己的还款能力来定。为什么房贷越多越久越好&#xff1f;很简单的一个道理&#xff0c;物价每年都在上涨&#xff0c;而房贷不是每年都在涨&#xff0c;除非基准利率调整了才会跟着…

log追踪和追踪文件修改前后的区别

log追踪 :q表示退出 追踪文件修改前后的区别 只要没有git commit&#xff0c;就可以查看修改的区别

Vivado抓取信号

前言1111 FPGA调试需要抓取特定信号&#xff0c;一个直观的思路是&#xff1a;保存抓取的信号&#xff0c;事后分析/ 或者 导出实测数据&#xff0c;用作后续算法仿真验证。 本文简要记录数据的导出及读取。 一、信号导出 &#xff08;1&#xff09;把想要观测的信号线加入在线…