Sobhan Mohammadpour

Results 70 comments of Sobhan Mohammadpour

Maybe the solution is adding a wrapper that does the job? something like ```julia struct Wrap s::Union{Nothing,String} end Wrap()=Wrap(nothing) Base.zero(::Wrap) = Wrap() Base.iszero(x::Wrap) = x.s === nothing sparse(Wrap.(["123", nothing, "234"]))...

```julia using SparseArrays, LinearAlgebra N = 31_308 M = 13_310_352 A = sprandn(N, N, M / N / N); @time lu(A); ``` is pretty reasonable? `472.549481 seconds (396.07 k allocations:...

It is 64 bits tho 31308×31308 SparseMatrixCSC{Float64, Int64} with 13317263 stored entries:

@jbcaillau so it seems. From page 41 of the UMFPACK manual: `UMFPACK_ERROR_out_of_memory` Insufficient memory to perform the symbolic analysis. If the analysis requires more than 2GB of memory and you...

Do note that another solution is `nonzeros(v) .*= 4`. The culprit is that broadcast is only for unaliased vector (unalised refers to the left and right-hand side sharing memory, here...

So we only trigger a copy if the structure changes or just do it inplace?

I think there are two other ways to do it, add a global `Ref{Bool} can_index` state that is checked by those functions, or store it as part of the matrix/type...

Maybe it sense to make an `is_reconstructible_zero`? The default implementation could be `x === zero(typeof(x))`, and then it could be overwritten for different types on an as-needed basis? I think...

I did my best to flush all the queues, but I still think it ends up freezing on rare occasions on Beluga (compute Canada/calculate Quebec). I do not understand why...