Skip to content

rwl/spsolve

Repository files navigation

spsolve

This crate defines a Solver trait for solving sparse systems of linear equations of the form:

    Ax = b

The trait is implemented using various open source libraries. They can be enabled using their associated feature. The following solvers are currently supported:

  • CSparse (C, LGPL)
  • BasicLU (C, MIT)
  • KLU (C, LGPL)
  • RLU (Rust, BSD)
  • LUFact (Fortran, Apache/MIT)
  • RSparse (Rust, MIT (LGPL?))

A benchmark for comparing solver performance is included. Test matrix data can be accessed by enabling the matrix feature. Solvers can be profiled using cpuprofiler and pprof.

Benchmarks

DC power flow B matrix (1x RHS):

lines

AC power flow Jacobian matrix (1x RHS):

lines

License

Licensed under either of the

at your option.

About

Solve sparse systems of linear equations in Rust

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks