Linear Solvers
This section will be split into two categories; Numerical linear solvers, and symbolic linear solvers.
Numerical Linear Solvers
A linear problem is of the form for some matrix , known vector and unknown vector . This can be solved by A\b
in base Julia, which is good enough in many cases. If you need more control over the solver algorithm, there are dedicated packages that provide such functionality.
The most complete one is LinearSolve.jl, which is part of the SciML ecosystem. It takes the role of a meta-package, and build on top of other packages that implement the actual algorithms. The benefit is that you can define the problem once, and then solve it with a number of different solvers by changing a keyword argument.
Specific solvers providing their own API's include Paradiso.jl, MKL.jl, BandedMatrices.jl, and more.
See https://discourse.julialang.org/t/solving-sparse-linear-systems-fast/83071/9 for a relevant discussion on the options for solving numerical linear equations.
Symbolic Linear Solvers
You can use Symbolics.jl to solve a single or multiple equations in one or more variables. See the documentation for solve_for
for more detail.
You can also use SymPy.jl
Last modified: May 03, 2024. Built with Franklin.jl