Skip to content

Latest commit

 

History

History
102 lines (80 loc) · 3.12 KB

index.md

File metadata and controls

102 lines (80 loc) · 3.12 KB

LinearSolve.jl: High-Performance Unified Linear Solvers

LinearSolve.jl is a unified interface for the linear solving packages of Julia. It interfaces with other packages of the Julia ecosystem to make it easy to test alternative solver packages and pass small types to control algorithm swapping. It also interfaces with the ModelingToolkit.jl world of symbolic modeling to allow for automatically generating high-performance code.

Performance is key: the current methods are made to be highly performant on scalar and statically sized small problems, with options for large-scale systems. If you run into any performance issues, please file an issue.

Installation

To install LinearSolve.jl, use the Julia package manager:

using Pkg
Pkg.add("LinearSolve")

Contributing

Roadmap

Wrappers for every linear solver in the Julia language is on the roadmap. If there are any important ones that are missing that you would like to see added, please open an issue. The current algorithms should support automatic differentiation. Pre-defined preconditioners would be a welcome addition.

Reproducibility

<details><summary>The documentation of this SciML package was built using these direct dependencies,</summary>
using Pkg # hide
Pkg.status() # hide
</details>
<details><summary>and using this machine and Julia version.</summary>
using InteractiveUtils # hide
versioninfo() # hide
</details>
<details><summary>A more complete overview of all dependencies and their versions is also provided.</summary>
using Pkg # hide
Pkg.status(; mode = PKGMODE_MANIFEST) # hide
</details>
using TOML
using Markdown
version = TOML.parse(read("../../Project.toml", String))["version"]
name = TOML.parse(read("../../Project.toml", String))["name"]
link_manifest = "https://github.com/SciML/" * name * ".jl/tree/gh-pages/v" * version *
                "/assets/Manifest.toml"
link_project = "https://github.com/SciML/" * name * ".jl/tree/gh-pages/v" * version *
               "/assets/Project.toml"
Markdown.parse("""You can also download the
[manifest]($link_manifest)
file and the
[project]($link_project)
file.
""")