Skip to content

v3.0.0

Compare
Choose a tag to compare
@github-actions github-actions released this 06 Feb 01:03
cd27b26

LinearSolve v3.0.0

Diff since v2.39.0

Breaking changes

  • RecrusiveFactorization.jl removed as a dependency and turned into an extension. It now must be explicitly loaded (using RecrusiveFactorization) in order to be used. It's still a part of the default algorithm but will only be selected if loaded. The reason for this is because this method brings in the LoopVectorization.jl stack and is thus a heavy dependency that can invalidate a large amount of code. This greatly reduces first run and solve times downstream. However, as it is the fastest method for many scenarios, it is still recommended that many users opt-in if they are looking for performance, but we see this makes a better trade-off between default performance and first run times.
  • FastLapackInterface.jl removed as a dependency and turn into an extension. It's not actually faster so it was unused, so this is a simple dependency reduction.
  • SparseArrays.jl removed as a dependency and turned into an extension. This allows for more easily building SciML packages in a GPL-free way (since SuiteSparse is GPL and pulled in through SparseArrays.jl), and also can greatly improve load times. However, in its current form it does not actually make a change because Krylov.jl, a hard dependency, still does using SparseArrays, which always triggers the extension. However, that should be solved soon (see JuliaSmoothOptimizers/Krylov.jl#955) in which case SparseArrays will no longer be required.

Merged pull requests: