@@ -25,18 +25,18 @@ function ldu_factorization!(system)
2525 cyclic_children = system. cyclic_children
2626
2727 for v in system. dfs_list
28+ for c in acyclic_children[v]
29+ ldu_factorization_acyclic! (matrix_entries[v,v], matrix_entries[v,c], matrix_entries[c,c], matrix_entries[c,v], diagonal_inverses[c])
30+ end
2831 for c in cyclic_children[v]
2932 for cc in cyclic_children[v]
3033 cc == c && break
31- (cc ∉ children (system,c) && cc ∉ cyclic_children[c]) && continue
34+ (cc ∉ children (system,c) && cc ∉ cyclic_children[c]) && continue
3235 ldu_factorization_cyclic! (matrix_entries[v,c], matrix_entries[v,cc], matrix_entries[cc,cc], matrix_entries[cc,c])
3336 ldu_factorization_cyclic! (matrix_entries[c,v], matrix_entries[c,cc], matrix_entries[cc,cc], matrix_entries[cc,v])
3437 end
3538 ldu_factorization_acyclic! (matrix_entries[v,v], matrix_entries[v,c], matrix_entries[c,c], matrix_entries[c,v], diagonal_inverses[c])
3639 end
37- for c in acyclic_children[v]
38- ldu_factorization_acyclic! (matrix_entries[v,v], matrix_entries[v,c], matrix_entries[c,c], matrix_entries[c,v], diagonal_inverses[c])
39- end
4040 end
4141 return
4242end
0 commit comments