Mercurial > octave
comparison liboctave/CmplxLU.cc @ 1321:64819a909ed7
[project @ 1995-08-22 05:39:43 by jwe]
author | jwe |
---|---|
date | Tue, 22 Aug 1995 05:41:48 +0000 |
parents | 611d403c7f3d |
children | 9b2654476502 |
comparison
equal
deleted
inserted
replaced
1320:c9aecc02c6d4 | 1321:64819a909ed7 |
---|---|
61 | 61 |
62 F77_FCN (zgesv, ZGESV) (n, 0, tmp_data, n, ipvt, b, n, info); | 62 F77_FCN (zgesv, ZGESV) (n, 0, tmp_data, n, ipvt, b, n, info); |
63 | 63 |
64 ComplexMatrix A_fact (tmp_data, n, n); | 64 ComplexMatrix A_fact (tmp_data, n, n); |
65 | 65 |
66 int i; | 66 for (int i = 0; i < n; i++) |
67 | |
68 for (i = 0; i < n; i++) | |
69 { | 67 { |
70 ipvt[i] -= 1; | 68 ipvt[i] -= 1; |
71 pvt[i] = i; | 69 pvt[i] = i; |
72 } | 70 } |
73 | 71 |
74 for (i = 0; i < n - 1; i++) | 72 for (int i = 0; i < n - 1; i++) |
75 { | 73 { |
76 int k = ipvt[i]; | 74 int k = ipvt[i]; |
77 if (k != i) | 75 if (k != i) |
78 { | 76 { |
79 int tmp = pvt[k]; | 77 int tmp = pvt[k]; |
84 | 82 |
85 l.resize (n, n, 0.0); | 83 l.resize (n, n, 0.0); |
86 u.resize (n, n, 0.0); | 84 u.resize (n, n, 0.0); |
87 p.resize (n, n, 0.0); | 85 p.resize (n, n, 0.0); |
88 | 86 |
89 for (i = 0; i < n; i++) | 87 for (int i = 0; i < n; i++) |
90 { | 88 { |
91 p.elem (i, pvt[i]) = 1.0; | 89 p.elem (i, pvt[i]) = 1.0; |
92 | 90 |
93 int j; | |
94 | |
95 l.elem (i, i) = 1.0; | 91 l.elem (i, i) = 1.0; |
96 for (j = 0; j < i; j++) | 92 for (int j = 0; j < i; j++) |
97 l.elem (i, j) = A_fact.elem (i, j); | 93 l.elem (i, j) = A_fact.elem (i, j); |
98 | 94 |
99 for (j = i; j < n; j++) | 95 for (int j = i; j < n; j++) |
100 u.elem (i, j) = A_fact.elem (i, j); | 96 u.elem (i, j) = A_fact.elem (i, j); |
101 } | 97 } |
102 | 98 |
103 delete [] ipvt; | 99 delete [] ipvt; |
104 delete [] pvt; | 100 delete [] pvt; |