[go: up one dir, main page]

Menu

[r34]: / common / luelmp.f90  Maximize  Restore  History

Download this file

46 lines (44 with data), 3.2 kB

 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
38
39
40
41
42
43
44
SUBROUTINE LUELMP (A,B,N,X,m)
!C
DIMENSION A(m),B(n),X(n)
!DIMENSION A(n*(n-1)/2),B(n),X(n)
DOUBLE PRECISION A,B,X,T,ZERO
DATA ZERO/0.0D0/
!C FIRST EXECUTABLE STATEMENT
!C SOLUTION OF LY = B
IP=1
IW = 0
DO 15 I=1,N
T=B(I)
IM1 = I-1
IF (IW .EQ. 0) GO TO 9
IP=IP+IW-1
DO 5 K=IW,IM1
T = T-A(IP)*X(K)
IP=IP+1
5 CONTINUE
GO TO 10
9 IF (T .NE. ZERO) IW = I
IP = IP+IM1
10 X(I)=T*A(IP)
IP=IP+1
15 CONTINUE
!C SOLUTION OF UX = Y
N1 = N+1
DO 30 I = 1,N
II = N1-I
IP=IP-1
IS=IP
IQ=II+1
T=X(II)
IF (N.LT.IQ) GO TO 25
KK = N
DO 20 K=IQ,N
T = T - A(IS) * X(KK)
KK = KK-1
IS = IS-KK
20 CONTINUE
25 X(II)=T*A(IS)
30 CONTINUE
RETURN
END