Fortran Coder

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

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

[复制链接]

86

帖子

36

主题

0

精华

专家

F 币
354 元
贡献
221 点
跳转到指定楼层
楼主
发表于 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] 纯文本查看 复制代码
01      program main
02      implicit none
03      real(8)::a3(18,9),A3inv(9,18)
04      integer::log
05      a3=1.
06      call BGINV(18,9,A3,A3inv, Log, 1.e-15)
07      end
08 
09!!-----------------------------------------
10!!         general inverse
11!!-----------------------------------------
12       SUBROUTINE BGINV(M,N,A,AA,L,EPS)
13       double precision :: A(M,N),U(M,M),V(N,N),AA(N,M),EPS
14       double precision,ALLOCATABLE :: S(:), E(:), WORK(:)
15       KA=MAX(M,N)+1
16       ALLOCATE(S(KA))
17       ALLOCATE(E(KA))
18       ALLOCATE(WORK(KA))
19       CALL BMUAV(A,M,N,U,V,L,EPS,KA,S,E,WORK)
20       IF (L.EQ.0) THEN
21       K=1
2210     IF (A(K,K).NE.0.0) THEN
23         K=K+1
24       IF (K.LE.MIN(M,N)) GOTO 10
25       END IF
26       K=K-1
27       IF (K.NE.0) THEN
28       DO 40 I=1,N
29       DO 40 J=1,M
30        AA(I,J)=0.0
31        DO 30 II=1,K
3230        AA(I,J)=AA(I,J)+V(II,I)*U(J,II)/A(II,II)
3340      CONTINUE
34       END IF
35       END IF
36       DEALLOCATE(S)
37       DEALLOCATE(E)
38       DEALLOCATE(WORK)
39       RETURN
40       END
41 
42!!-----------------------------------------
43!!         singular decomposite
44!!-----------------------------------------
45       SUBROUTINE BMUAV(A,M,N,U,V,L,EPS,KA,S,E,WORK)
46!略去
47       end


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

268

帖子

0

主题

0

精华

版主

World Analyser

F 币
749 元
贡献
526 点

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

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

本版积分规则

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

GMT+8, 2025-4-28 19:14

Powered by Discuz! X3.4

© 2013-2025 Comsenz Inc.

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