Fortran Coder

查看: 1991|回复: 1
打印 上一主题 下一主题

[数值问题] 网上找了个求解矩阵的程序

[复制链接]

83

帖子

35

主题

0

精华

专家

F 币
343 元
贡献
215 点
跳转到指定楼层
楼主
发表于 2022-6-9 10:47:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 shrine 于 2022-6-9 11:37 编辑

用起来有点问题
        error #6633: The type of the actual argument differs from the type of the dummy argument.   [1.E-15]        

[Fortran] 纯文本查看 复制代码
      program main
      implicit none
      real(8)::a3(18,9),A3inv(9,18)
      integer::log
      a3=1.
      call BGINV(18,9,A3,A3inv, Log, 1.e-15)
      end

!!-----------------------------------------
!!         general inverse
!!-----------------------------------------
       SUBROUTINE BGINV(M,N,A,AA,L,EPS)
       double precision :: A(M,N),U(M,M),V(N,N),AA(N,M),EPS
       double precision,ALLOCATABLE :: S(:), E(:), WORK(:)
       KA=MAX(M,N)+1
       ALLOCATE(S(KA))
       ALLOCATE(E(KA))
       ALLOCATE(WORK(KA))
       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)) GOTO 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)=AA(I,J)+V(II,I)*U(J,II)/A(II,II)
40      CONTINUE
       END IF
       END IF
       DEALLOCATE(S)
       DEALLOCATE(E)
       DEALLOCATE(WORK)
       RETURN
       END

!!-----------------------------------------
!!         singular decomposite
!!-----------------------------------------
       SUBROUTINE BMUAV(A,M,N,U,V,L,EPS,KA,S,E,WORK)
!略去
       end


分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

235

帖子

0

主题

0

精华

版主

World Analyser

F 币
630 元
贡献
464 点

新人勋章美女勋章元老勋章热心勋章规矩勋章管理勋章

QQ
沙发
发表于 2022-6-9 13:01:41 | 只看该作者
1.E-15 改为 1.D-15
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-4-27 03:08

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表