Bonjour,

J' ai trouvé un code pour les puissances inverses mais je nele comprends pas. :s Pouvez vous m'expliquer cette subroutine si vous comprenez ce qu'elle fait.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 
SUBROUTINE MULTIP (N,A,NROW)
 
      DIMENSION A(N,N),NROW(N)
      ZERO=1.0E-20
      DO 1 I=1,N
1     NROW(I) = I
      M = N-1
      DO 2 I=1,M
           IMAX  = I
           J = I+1
           DO 3 IP=J,N
           L1 = NROW(IMAX)
           L2 = NROW(IP)
3          IF(ABS(A(L2,I)).GT.ABS(A(L1,I))) IMAX = IP
           IF(ABS(A(NROW(IMAX),I)).LE.ZERO) THEN
                WRITE(6,10) I,NROW(IMAX),A(NROW(IMAX),I)
10              FORMAT(1X,I3,1X,I3,1X,E15.8)
                WRITE(6,100)
                STOP
           END IF
           IF(NROW(I).NE.NROW(IMAX)) THEN
              JJ = NROW(I)
              NROW(I) = NROW(IMAX)
              NROW(IMAX) = JJ
           ENDIF
           I1 = NROW(I)
           DO 4 JJ=J,N
                J1 = NROW(JJ)
                A(J1,I) = A(J1,I)/A(I1,I)
                DO 5 K=J,N
5               A(J1,K) = A(J1,K)-A(J1,I)*A(I1,K)
4          CONTINUE
2     CONTINUE
      RETURN
100   FORMAT(1X,'La sous routine a echoue')
      END
Je pense que c'est une sorte de LU bizare....
Pouvez vous m'aider?

merci