{"action":"opened","issue":{"url":"https://api.github.com/repos/JuliaDiffEq/DiffEqBase.jl/issues/178","repository_url":"https://api.github.com/repos/JuliaDiffEq/DiffEqBase.jl","labels_url":"https://api.github.com/repos/JuliaDiffEq/DiffEqBase.jl/issues/178/labels{/name}","comments_url":"https://api.github.com/repos/JuliaDiffEq/DiffEqBase.jl/issues/178/comments","events_url":"https://api.github.com/repos/JuliaDiffEq/DiffEqBase.jl/issues/178/events","html_url":"https://github.com/JuliaDiffEq/DiffEqBase.jl/issues/178","id":389652355,"node_id":"MDU6SXNzdWUzODk2NTIzNTU=","number":178,"title":"DEFAULT_LINSOLVE fails with sparse and banded matrices","user":{"login":"AleMorales","id":3798080,"node_id":"MDQ6VXNlcjM3OTgwODA=","avatar_url":"https://avatars0.githubusercontent.com/u/3798080?v=4","gravatar_id":"","url":"https://api.github.com/users/AleMorales","html_url":"https://github.com/AleMorales","followers_url":"https://api.github.com/users/AleMorales/followers","following_url":"https://api.github.com/users/AleMorales/following{/other_user}","gists_url":"https://api.github.com/users/AleMorales/gists{/gist_id}","starred_url":"https://api.github.com/users/AleMorales/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AleMorales/subscriptions","organizations_url":"https://api.github.com/users/AleMorales/orgs","repos_url":"https://api.github.com/users/AleMorales/repos","events_url":"https://api.github.com/users/AleMorales/events{/privacy}","received_events_url":"https://api.github.com/users/AleMorales/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-12-11T08:46:41Z","updated_at":"2018-12-11T08:46:41Z","closed_at":null,"author_association":"NONE","body":"As `DEFAULT_LINSOLVE` is set to `LinSolveFactorize(lu!)` this will fail if a `BandedMatrix` or `SparseMatrixCSC` is passed to `jac_prototype` because `lu!` is not defined for these types of matrices (at least in Julia 1.0). Of course, passing `LinSolveFactorize(lu)` or `LinSolveFactorize(factorize)` to the `linsolve` argument will work. \r\n\r\nThe current situation is very confusing for newbies. I don't know if the best approach is to (i) provide a default that works with the widest range of matrices (e.g. `LinSolveFactorize(factorize)`) and leave in-place versions as a performance tweak for matrices that support it or (ii) to document that if sparse or banded matrices are used, a different factorization function must be passed to `linsolve`."}}
{"actor":{"display_login":"AleMorales"}}