从第表行、第k列开始的右下角子年中运取鲍对值最大的元素,并通过行、列交换将 它交换到生元素的位院上. (2)-化 ay/au→,j-k+1,…两 by/a→b,=1,2, (3)消声 =l,2,…理技 bw-aubu,j尸l,2,-m l,2,≠ 吸后对B行恢复,则B中的每一列为每一个方程组的解, 三、于程序语句 SUBROUTINE AGJDN(A,B.N,M,L,JS) 四、形型明 A 一及精度实型二维数组,体积为NXN,输入参数,存放方程细的系数矩阵,寇可 时将被孩坏。 一双花度实型二维数组,体积为NXM,镜入兼输出参教.河用时存破M组常效 向益,返回M组操向量。 N一一盖型变量,输人希致。方程组数 方程组有端常数向量的组教。 整型交些,输出多级,若返回L一0,说明方程组系数矩阵奇异,水解尖败:若 L≠0,表示正返回。 S一整型一维数组,长度为N.本千程序的工作组 五、子程序(文件名:AGDN.FOR) SUBROUTINE AGIDNCA.B.N.M.LIS) DIMENSION ACN.N).BON.M).ISO) DOUBLE PRECISION A.B.D L=1 D0100K=1,N Q=0.0 D0101=K,N DO10J-K.N IF CABSCA(LJ)).GT.Q)THEN ABS(A(IJ> END IF 10 CONTINUS 匪(Q+1.0.50.1.0)HN 5
WRITE.0) L=0 RETURN END IF 20 FORMAT(IX,'FAI DO 30J=K,N D=AK,J》 AGKJ》-A, -D 30 CONTINUE D00J=1,M D-B(K.D B(K)=BOISD BUIS.D=D 40 CONTINUE D0501-1,h DA(I.K Aa,K=AI,JSK)》 AC,眉K))=D 50 CONTINUE D00J-K+1N 60 AK,J=AK,J》/AK,K) D070J-1,M 0 BK,)-BK,J)/AK,K】 D090【-1N IP (NE.K)THEN 080J=K+1,N 80 A(.D)=AQ.J AO.K)+ACK.D 5J= 5 B(1,)=BI,J》·AI,K)#BK,J) ENO I 90 CONTINUE 100 CONTINUE D010KN1,-1 D=B(K,J) B(K,D)-B(S(K)J) B(S(K),J)=D 110 CONTINUE RETURN END 6
六、例 求解下列方程塑 AX-B 其中 .32137 r901 A= 2 -2 64 9153 -2 L-2-2115J -2-」 主程序(文件名:AGJDNO.FOR)为 DIMENSION A(4),B(4:2),JS(4) DOAIBLE PRECISION A.H DATA A/1.0,7.0,9.0,-么0,3.0,20,l5.0,-20201.0,3.1.13, 2.0.-2.0.5.0/ DATA B/9.0.6.0.11.0.- -20,0140,7.0,-1.0d N=4 M=8 CALL AGIDN(A B.NMLUS IF (LNE 0)THEN wKTE,1o》B3.J).1=1,4),J=1,2) 10 END 运行结果为 ,980745D+00 638D+00-.22252D+00.589274D+00 49791D叶0 .144494D+o ,528581D-11-,313175001 1.3复系数方程组的全选主元高斯消去法 一、功雅 用全透主元高斯(G)清去法求解复系教线性代数方程组AX一B其中 A-AR+AI B-BR+iBI X=XR+I 二、方法改明 基本方法同1.1节. 计算两个复数的秉积 :+if=(a+jb)(c+id) 本子程序采用如下算法: p=aeg=d=(a十b)(e十d) 7
e=P-8f=s-p-9 计算两个复数的商 t+if=(c+id)/(o+jb) 本子程序果用如下算法 p=c9=-d,s=(a-b(c十d),w=d十5 e(p-Q)/w,f-(s-p-q)/w 三、子程序语句 SUBROUTINE ACGAS(AR,AI.N.BR.BI,L.JS) 四、形参说明 AR,A一一均为双精度实型二罪数组,体积为NXN,输入务数。分别存放方程组系 数矩阵的实部与童部,返回时将被被环。 N一整型变量,第入参教。方程组阶数。 BR,卧-一均为双精度实型一维数组,长度为N,输入兼鞫出参数。调用时分别存放 方程组右端常数向觉的实邵与遽部:分别返同方程组解向量的实部与虚部, L一二变量,输出参数。若返回L=0,说明方程组系数矩阵奇异,求解失:若 L≠0,表示正常返园, -堇型一维数组,长度为N,本子程序的工作教组。 五,子程耶(文件名:ACGAS..FOR) SUBROUTINE ACGASCAR,AI.N.BR.BL.L.IS) DIMENSION AR(N.N).AI(N.N).B N).J8CN) 1=1 1oK-1N1 D0.0 DO 10I-K.N DO 10J-K.N P-AR(T.D)+AR(LJ)+AI(L.J).AlC.J) F (P.GT.D)THEN D=P K) ENDI 1 CONTINUE W=D IF (W+1.0.EQ.1.0)THEN WRITE(+,20) L.=0 RETURN FORMATOIX,'ERR.FAL
DOxJ-K.N P-AR(K,J) AR(K.J)-AR(IS.J) AR(S=P P=A区J AI(KJ)-AJ(S.D AI(IS.J)-P CONTINUE BR(K) aS)-p P-BI(K) BI(K)BI(IS) BCS)=P D050I-1,N P=ARCI.K) ARL,K)=ARI,JSK)】 AR(IJS(K))-P P=AICL.K) AIQ,K) K)P 50 CONTINU D060-K+1,N P-ARK,D·ARKK) Q--AICK.J):AICK,K) S-(AR(K,X)-AT(KK))(AR(K.J)+AIK.) ARK,)=(P一Q)D AKD=(S-P-0)/D 60 ·ARKK 60K S=(AR(K.K)-Al(K.K))*(BR(K)+() 腺K)=(P-Q)D BIK)=(S-P-Q)/D DO90I=K+i.N O别JK+I,N PARC,K)+AR(K.D AR(.J)-/ +q AJ(I,D=AJ(I.D)-S+P+0 80 CONTINUE