zhujd2003 发表于 2004-5-6 21:29:33

【分享】解稀疏对称方程组的ICCG法fortran源程序

求解稀疏对称方程组的ICCG法源程序
PROGRAM ICCGSOLVER----主程序
SILLT-----不完全三角分解子程序
ICCG------ICCG迭代子程序
SINA------被子程序ICCG调用的子程序,可作三角矩阵(LDLt)-1与相应列矩阵的乘法
SMI-------被子程序ICCG调用的子程序,可作原系数矩阵与相应列矩阵的乘法
说明:本程序采用文件INPUT.DAT构成数据模块
    ND(NND)---整型数组,NND为未知数总数,用来存放紧缩形式的系数矩阵中对角线元素的序号.
    NC(NNC)---整型数组,NNC为系数矩阵中非零元素的总数,用来存放紧缩形式的系数矩阵中各元素的列号.
    AA(NNC)---双精度型数组,用来存放L和D的乘积;
    SS(NNC)---双精度型数组,用来存放紧缩形式的系数矩阵中的非零元素
给出一个6*6阶矩阵:
    原系数矩阵A=[ 1.1   0    0    0    0    0 ]
                          0   2.52.27.6   0    0   
                          0   2.24.0   0   9.25.3
                          0   7.6   0   1.3   0    0
                          0    0   9.2   0    3.40            
                        [ 0    0   5.3   0   01.6 ]
矩阵A的紧缩存储形式 SS=[ 1.1 2.5 2.2 4.0 7.6 1.3 9.2 3.4 5.3 1.6]
     ND=
     NC=
     L=
          0   1    0    0    0   0
          0L321    0    0   0
          0L420    1    0   0
          0   0   L530    1   0
         
     
      D=
             0D2   0   0   0   0
             0   0D3   0   0   0
             0   0   0   D40   0
             0   0   0   0   D50
               

     LD= [ D1    0       0   0   0   0
               0   D2       0   0   0   0
               0L32D2D3    0   0   0
               0L42D2   0    D40   0                        
               0    0   L53D3   0   D5 0         
               0    0   L63D3   0   0D6]            
矩阵LD的紧缩存储形式为
       SS=      
输入数据中的其它符号----双精度型数组,用来存放方程组的右端项
程序见附件:
       

zhujd2003 发表于 2004-5-6 21:43:45

回复: 【分享】解稀疏对称方程组的ICCG法fortran源程序

这是一本书里的一个程序,可我看不太懂.
想请这里的高手们帮分析!
不胜感激.

zhgao520 发表于 2005-6-17 12:07:45

Re:【分享】解稀疏对称方程组的ICCG法fortran源程序

这程序也只能解个数少的方程组,我拿它解了一个42个方程组,结果就不对阿,有高手知道要改那儿吗,请指点

homage79 发表于 2005-6-17 15:30:11

Re:【分享】解稀疏对称方程组的ICCG法fortran源程序

徐士良的《常用算法程序集》里面有相关的文件,可以参考

zhgao520 发表于 2005-6-17 16:36:41

Re:【分享】解稀疏对称方程组的ICCG法fortran源程序

我这儿没那本书,网上的下下来那么多的程序,没一个说明,也不知是哪个?不知楼上的能不能给传一下,先谢谢了
页: [1]
查看完整版本: 【分享】解稀疏对称方程组的ICCG法fortran源程序