正在加载图片...
15小结 矩阵的特征值与特征向量在工程技术上应用十分广泛,在诸如系统稳定性问题和数字信 号处理的K-L变换中,它都是最基本、常用的算法之一。本章主要讨论了矩阵特征值的几种 基本算法,关于该方面的其它讲解与分析读者可参考文献1][2] 参考文献 [1]陈国良编著.并行算法的设计与分析(修订版).高等教育出版社,2002.1 [2].陈国良,陈崚编著.ⅥLSI计算理论与并行算法.中国科学技术大学出版社,191 附录求对称矩阵特征值的雅可比并行算法MP源程序 源程序 jacobi.c MPI Status status float sgn(float v) #define E 0.00001 float f #define min -I if(v>=0)f=1 #define intsize sizeof( int) else f=-1: return f. /A是一个N*N的对称矩阵 #define A(x y)Ax*N+yI void read fileAO /I是一个N*N的单位矩阵 #define I(x, y)Ix N+y] Int 1,, #define a(x,y)ax*N+y] FILE fdA #define e(x, y)e[*N+yI #define b(x)b fdA=fopen(dataIn. txt","r); #define buffer(x, y)buffer[*N+yl fscanf(fdA, "%d%",&M, &N) #define buffet(x, y) buffeex"N+y] t mn. puts("The input is error! " exit(o) EN/p; if(N%p A=(foat·)mloc( fontsize*N·m’p) float *a *e, float*)malloc( fontsize+N·m’p) float max for(=0,i<M;i++)1.5 小结 矩阵的特征值与特征向量在工程技术上应用十分广泛,在诸如系统稳定性问题和数字信 号处理的 K-L 变换中,它都是最基本、常用的算法之一。本章主要讨论了矩阵特征值的几种 基本算法,关于该方面的其它讲解与分析读者可参考文献[1]、[2]。 参考文献 [1]. 陈国良 编著.并行算法的设计与分析(修订版).高等教育出版社,2002.11 [2]. 陈国良,陈崚 编著.VLSI 计算理论与并行算法.中国科学技术大学出版社,1991 附录 求对称矩阵特征值的雅可比并行算法 MPI 源程序 源程序 cjacobi.c #include "stdio.h" #include "stdlib.h" #include "mpi.h" #include "math.h" #include "string.h" #define E 0.00001 #define min -1 #define intsize sizeof(int) #define charsize sizeof(char) #define floatsize sizeof(float) /*A 是一个 N*N 的对称矩阵*/ #define A(x,y) A[x*N+y] /*I 是一个 N*N 的单位矩阵*/ #define I(x,y) I[x*N+y] #define a(x,y) a[x*N+y] #define e(x,y) e[x*N+y] #define b(x) b[x] #define buffer(x,y) buffer[x*N+y] #define buffee(x,y) buffee[x*N+y] int M,N; int *b; int m,p; int myid,group_size; float *A,*I; float *a,*e; float max; float sum; MPI_Status status; float sgn(float v) { float f; if (v>=0) f=1; else f=-1; return f; } void read_fileA() { int i,j; FILE *fdA; fdA=fopen("dataIn.txt","r"); fscanf(fdA,"%d %d", &M, &N); if(M != N) { puts("The input is error!"); exit(0); } m=N/p; if (N%p!=0) m++; A=(float*)malloc(floatsize*N*m*p); I=(float*)malloc(floatsize*N*m*p); for(i = 0; i < M; i ++)
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有