Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kalininei/SuiteSparseWrap_cpp_cs

Simple wrapper libraries (cpp, c#) for SuiteSparse sparse matrix solvers. Linux and Windows build scripts are included.
https://github.com/kalininei/SuiteSparseWrap_cpp_cs

Last synced: 16 days ago
JSON representation

Simple wrapper libraries (cpp, c#) for SuiteSparse sparse matrix solvers. Linux and Windows build scripts are included.

Awesome Lists containing this project

README

        

SuiteSparse C++, C# simple wrapper library for sparse matrix solution.

Implements C# and C++ wrapper library over SuiteSparse sparse matrix solvers.
Cmake building script works on Linux system.
Windows version contains set of prebuild libraries.

For Linux installation SuiteSparse development package should already be installed through package manager.
Windows builder already includes precompiled SuiteSparse 4.4.3 (no metis support), blas and lapack libraries (32/64 bit). So only Visual Studio C++/C# compiler is required.
Visual Studio uses only release builds.

Included SuiteSparse methods:
-- UMFPACK: multifrontal LU factorization.
-- CHOLMOD: supernodal Cholesky.
-- SPQR: multifrontal QR.
See http://faculty.cse.tamu.edu/davis/suitesparse.html for details.

Only basic SuiteSparse library capabilities with default parameters are supported.

Installation: tested on OpenSuse 13.2 (gcc-4.8.3), Windows7(x64) (Visual Studio 2010 Express, Visual Studio 2017 Comunity)

----- LINUX: cmake, blas, lapack and SuiteSparse packages should already be installed in your system

start terminal from current directory
mkdir build && cd build
cmake ..
make edit_cache //set CMAKE_BUILD_TYPE, CMAKE_INSTALL_PREFIX
make
make install //with sudo if required
//test installation
bin/cpptest

----- Windows (Visual studio): no additianal libraries are required
1) Since all libraries were built using VS 2010 you need to install VS C++ 2010 redistributables
which could be downloaded from
32bit: https://www.microsoft.com/en-us/download/details.aspx?id=5555
64bit: https://www.microsoft.com/en-us/download/details.aspx?id=14632

2) All precompiled libraries are stored in winlib/lib or winlib/lib64 for 32 and 64bit builds respectively.
Copy them to a directory from your system PATH or to a directory with your executable.

--- C# wrapper
3) goto SuiteSparseCSWrap directory and build the VisualStudio solution wich contains C# wrapper library and testing console application.
4) use SuiteSparseCSWrap.dll in your application

--- Cpp wrapper
3) to test the library goto SuiteSparseCppVSWrap directory and build the VisualStudio (2017) solution (disable precompiled headers if needed).
4) copy suitesparse_vswrap.cpp and suitesparse_vswrap.h from SuiteSparseCppVSWrap to your project and use them.

----- Examples
See examples in cpptest/cpptest.cpp (Linux)
SuiteSparseCSWrap/SolverTest/Program.cs (Windows, C#)
SuiteSparseCppVSWrap/SuiteSparseCppVSWrap/program.cpp (Windows, C++)