24小时热门版块排行榜    

查看: 590  |  回复: 1

kimileegdut

捐助贵宾 (小有名气)

[求助] 奇异值分解法求广义逆代码求助已有1人参与

以下是从《FORTRAN常用算法程序集》里面找到的求广义逆的奇异值分解法子程序代码,但是用例题测试之后发现计算有误,想请教下大神是不是子程序有误?
SUBROUTINE BGINV(M,N,A,AA,L,EPS,U,V,KA,S,E,WORK)
    DIMENSION A(M,N),U(M,M),V(N,N),AA(N,M)
    DIMENSION S(KA),E(KA),WORK(KA)
    DOUBLE PRECISION A,U,V,AA,S,E,WORK
    CALL BMUAV(A,M,N,U,V,L,EPS,KA,S,E,WORK)
    IF(L.EQ.0) THEN
      K=1
10    IF(A(K,K).NE.0.0) THEN
        K=K+1
        IF(K.LE.MIN(M,N)) GO TO 10
      END IF
      K=K-1
      IF(K.NE.0) THEN
        DO 40 I=1,N
        DO 40 J=1,M
          AA(I,J)=0.0
          DO 30 II=1,K
30        AA(I,J)=A(I,J)+V(II,I)*U(J,II)/A(II,II)
40      CONTINUE
      END IF
    END IF
    RETURN
    END
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cooooldog

铁杆木虫 (著名写手)

ส็็็

【答案】应助回帖

相关版块跳转 我要订阅楼主 kimileegdut 的主题更新
信息提示
请填处理意见