Currently there is a `lufact!`

for dense matrices. Is there an equivalent of `lufact!`

for sparse matrices?

Also, related to that, how do I preallocate for the output of `lufact(A)`

, assuming that `A`

is a sparse matrix? This is what I have tried:

```
S = lufact(speye(5))
S .= lufact(sparse(rand(5,5)))
MethodError: no method matching broadcast!(::Base.#identity,
::Base.SparseArrays.UMFPACK.UmfpackLU{Float64,Int64}, ::Base.SparseArrays.UMFPACK.UmfpackLU{Float64,Int64})
```

My code has a loop that solves `Ax=b`

where `A`

stays constant but `b`

changes every time during the loop. I think it’d help if I store the output of `lufact(A)`

in terms of memory allocations (be it through preallocation or in-place operation).