Solving matrix linear and nonlinear equations

I am looking for a C library to solve a linear and, if possible, nonlinear matrix equation of the form Ax = b . It is important for me that the packages are not too large and free. Speed ​​does not matter, as is the simplicity and rare feature of matrix storage. In addition, it should be able to parallelize computations. Since I'm pretty new to blas / lapack / ... for numerical linear algebra, it would be great if it contained good documentation, possibly with examples. Are there any packages you can recommend? I'm a bit overloaded with Google results, and also don't know the names of the routines I will need to search for.

I just found SuperLu , which seems to contain very good documentation, even with code snippets. It is written in C and requires CBLAS.

+6
source share
4 answers

You have many different options. Before you begin, you should consider some guidelines for choosing a sparse linear solver . I personally recommend PETSc, but see this curated list on top of scicomp for a more complete list of options.

+5
source

I would recommend looking at CUDA if you have an NVIDIA graphics card. It has good linear algebra libraries using C-like syntax for BLAS and sparse matrices.

+1
source

You might want to try PETSc . There's a bit of a learning curve there, but it's a high-performance library with high ability. Take a look at the Documentation section and especially the examples (a large link at the top of each page of the document).

0
source

I found this little program here, consisting only of the source file and one header, which can not only iteratively solve sparse matrix linear equations, but also comes with a precondition that makes everything very efficient. There are two examples, and sparse structures are well documented. It is independent of an external library and integrates very easily into existing code. It does not handle distributed memory, parallelization, etc.

0
source

Source: https://habr.com/ru/post/909678/


All Articles