Skip to content

Commit 5b0d14a

Browse files
committed
fix ldiv
1 parent 4cd6e96 commit 5b0d14a

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/solve.jl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ function sym_lu(A)
3838
end
3939
end
4040

41-
@pa p
4241
LU(factors, p, BlasInt(0))
4342
end
4443

@@ -83,23 +82,24 @@ function simplifying_dot(x,y)
8382
end
8483
end
8584

86-
function ldiv(AA, A::LU, b)
85+
function ldiv(A::LU, b)
8786
L = A.L
8887
U = A.U
88+
8989
m, n = size(L)
9090
x = Vector{Any}(undef, length(b))
9191
b = b[A.p]
9292

9393
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])
9595
den = U[i,i]
9696
x[i] = _iszero(sub) ? b[i] : b[i] - sub
9797
x[i] = _isone(den) ? x[i] : _isone(-den) ? -x[i] : x[i] / den
9898
end
9999

100100
# unit lower triangular solve first:
101101
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
103103
x[i] = _iszero(sub) ? x[i] : x[i] - sub
104104
end
105105
x

0 commit comments

Comments
 (0)