File tree Expand file tree Collapse file tree 1 file changed +4
-4
lines changed Expand file tree Collapse file tree 1 file changed +4
-4
lines changed Original file line number Diff line number Diff line change @@ -38,7 +38,6 @@ function sym_lu(A)
38
38
end
39
39
end
40
40
41
- @pa p
42
41
LU (factors, p, BlasInt (0 ))
43
42
end
44
43
@@ -83,23 +82,24 @@ function simplifying_dot(x,y)
83
82
end
84
83
end
85
84
86
- function ldiv (AA, A:: LU , b)
85
+ function ldiv (A:: LU , b)
87
86
L = A. L
88
87
U = A. U
88
+
89
89
m, n = size (L)
90
90
x = Vector {Any} (undef, length (b))
91
91
b = b[A. p]
92
92
93
93
for i= n: - 1 : 1
94
- sub = simplifying_dot (b [i+ 1 : end ], U[i,i+ 1 : end ])
94
+ sub = simplifying_dot (x [i+ 1 : end ], U[i,i+ 1 : end ])
95
95
den = U[i,i]
96
96
x[i] = _iszero (sub) ? b[i] : b[i] - sub
97
97
x[i] = _isone (den) ? x[i] : _isone (- den) ? - x[i] : x[i] / den
98
98
end
99
99
100
100
# unit lower triangular solve first:
101
101
for i= 1 : n
102
- sub = simplifying_dot (x [1 : i- 1 ], L[i, 1 : i- 1 ])
102
+ sub = simplifying_dot (b [1 : i- 1 ], L[i, 1 : i- 1 ]) # this should be `b` not x
103
103
x[i] = _iszero (sub) ? x[i] : x[i] - sub
104
104
end
105
105
x
You can’t perform that action at this time.
0 commit comments