中小型企业网站设计与开发,wordpress主题 问答,软件开发生命周期,洛阳响应式建站作者#xff1a;桂。 时间#xff1a;2018-04-23 21:12:02 链接#xff1a;http://www.cnblogs.com/xingshansi/p/8921815.html 前言 本文主要是复数矩阵分解的拆解思路#xff08;矩阵求逆/特征值分解#xff09;一文的补充。 一、并行拆解思路 回顾前文#xff0c;对… 作者桂。 时间2018-04-23 21:12:02 链接http://www.cnblogs.com/xingshansi/p/8921815.html 前言 本文主要是复数矩阵分解的拆解思路矩阵求逆/特征值分解一文的补充。 一、并行拆解思路 回顾前文对于8X8的实数矩阵 仿真 clc;clear all;
X rand(8);
R XX;
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 iter1;for flag 1:size(A_c,1)/4T eye(n);for t 1:4p A_c((flag-1)*4t,1);q A_c((flag-1)*4t,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次Cordicphi atan2(y,x)/2和两次Cordic两次可并行cos(phi) / sin(phi)二者串行。对于atan2操作可借鉴复数相位近似估计一文的思路即对于atan的计算考虑到CORDIC耗时较长内存资源充足的情况下1直接查表若内存相对紧张2多项式逼近。二者较CORDIC均减少运算时间。 另外关于定点仿真可调用fi工具包其中CORDIC对应指令cordicatan2、cordiccos......