5 releases

0.1.4 Oct 2, 2024
0.1.3 Jun 30, 2024
0.1.2 Jun 29, 2024
0.1.1 Jun 27, 2024
0.1.0 Sep 9, 2023

#508 in Algorithms

Download history 16/week @ 2024-07-30 1/week @ 2024-08-20 22/week @ 2024-08-27 5/week @ 2024-09-10 5/week @ 2024-09-17 42/week @ 2024-09-24 142/week @ 2024-10-01 15/week @ 2024-10-08 54/week @ 2024-10-15 12/week @ 2024-10-22 7/week @ 2024-10-29

78 downloads per month
Used in 4 crates (3 directly)

MIT license

42MB
873K SLoC

C 804K SLoC // 0.2% comments C++ 34K SLoC // 0.2% comments Objective-C 26K SLoC // 0.0% comments Java 3.5K SLoC // 0.2% comments CUDA 2K SLoC // 0.4% comments FORTRAN Legacy 1K SLoC // 0.5% comments Bitbake 1K SLoC Ruby 725 SLoC Shell 538 SLoC // 0.1% comments Rust 411 SLoC // 0.0% comments GNU Style Assembly 371 SLoC // 0.2% comments Python 227 SLoC // 0.5% comments Automake 145 SLoC // 0.5% comments AWK 77 SLoC Batch 5 SLoC

Contains (JAR file, 40KB) vendor/ssget/ssgui.jar, (JAR file, 40KB) vendor/CXSparse/MATLAB/ssget/ssgui.jar, (obscure autoconf code, 2KB) vendor/Example/configure.ac, (obscure autoconf code, 1KB) vendor/TestConfig/AMD/configure.ac, (obscure autoconf code, 1KB) vendor/TestConfig/BTF/configure.ac, (obscure autoconf code, 1KB) vendor/TestConfig/CAMD/configure.ac and 15 more.

suitesparse-sys

This crate provides bindings to the SuiteSparse library. By default it expects you to have SuiteSparse installed on your system. It will try to find these, but if it fails, then you can manually set the SUITESPARSE_LIBRARY_DIR and SUITESPARSE_INCLUDE_DIR environment variables set to the appropriate paths. E.g. on Ubuntu you might have:

export set SUITESPARSE_LIBRARY_DIR=/usr/lib/x86_64-linux-gnu 
export set SUITESPARSE_INCLUDE_DIR=/usr/include/suitesparse 
cargo test

If you wish to build SuiteSparse from source, you can enable the build_vendor feature, which will build the SuiteSparse library from the vendor submodule in this repository (this is currently version v7.7.0 of SuiteSparse). If you wish to use the build_vendor feature, you will need to ensure you have all the required dependencies installed on your system corresponding to the libraries you wish to build (see list below).

The possible features are:

  • build_vendor: Build the SuiteSparse library from source (currently version v7.7.0)
  • build_static_libraries: Build the SuiteSparse library as static libraries
  • openmp: Enable OpenMP support in the SuiteSparse library

Each library in the SuiteSparse library is a separate feature. The features are:

  • mongoose: Bindings to the Mongoose library.
  • btf: Bindings to the BTF library.
  • amd: Bindings to the Approximate Minimum Degree library (AMD).
  • camd: Bindings to the Constrained Approximate Minimum Degree library (CAMD).
  • ccolamd: Bindings to the Constrained Column Approximate Minimum Degree library (CCOLAMD).
  • colamd: Bindings to the Column Approximate Minimum Degree library (COLAMD).
  • cholmod: Bindings to the Cholesky Modified library (CHOLMOD).
  • cxsparse: Bindings to the CXSparse library.
  • ldl: Bindings to the LDL library.
  • klu: Bindings to the KLU library.
  • umfpack: Bindings to the UMFPACK library.
  • paru: Bindings to the ParU library.
  • rbio: Bindings to the RBio library.
  • spqr: Bindings to the SPQR library.
  • spex: Bindings to the SPEx library.
  • graphblas: Bindings to the GraphBLAS library.
  • lagraph: Bindings to the LA-Graph library.

The default feature list is:

  • [klu, amd, colamd, btf]

Dependencies