Archive for the ‘Sparse Matrices’ Category

I assume that you have already read Sample code in C++ to run TAUCS. The goal in this section is to compare two codes to run different sparse solvers when the purpose of the code is actually quite similar.  We would like to develop a command line tool that will read a matrix and a right-hand side run_mumps […]

Now let us employ Matrix and SparseMatrix to run TAUCS. The goal will be to develop a command line tool that will read a matrix and a right-hand side run_taucs matrix rhs in the Matrix Market format and then writes the solution of the system of linear equations in file rhs.solution also in the Matrix […]

When one programs a dense matrix, basically there is necessary only to decide whether the matrix will be stored column-wise or row-wise. Here there is a huge difference with a sparse matrix where one can find many different storage schemes, see for example Section 2.1 Storage Formats in the SPARSKIT paper http://www-users.cs.umn.edu/~saad/software/SPARSKIT/index.html Each storage scheme has […]

The right-hand-side is usually dense or at least it was the case in my applications. In this case I have used the class Matrix that was already employed previously in sections devoted to dense matrices. I will describe this class in more detail here. The class is declared in matrices.h and actually most functions are defined […]

In this chapter I will show how one can use sparse solvers from C++. I assume that the sparse solvers as well as the optimized BLAS are already available as compiled libraries and the goal would be mere to use them from C++. Note that a sparse direct solver requires matrix reordering and to this […]

Introduction MUMPS is a MUltifrontal Massively Parallel sparse direct Solver developed CERFACS, ENSEEIHT-IRIT, and INRIA: http://graal.ens-lyon.fr/MUMPS/ MUMPS is a free solver but it is necessary to register to download it. It is relatively easy to compile MUMPS under Unix – it is just necessary to slightly modify Makefile.inc, several version of which come with the […]

Introduction In the previous paper I have described how to compile TAUCS: Compiling and Using TAUCS under Microsoft Visual Studio. The goal of this paper is to describe how one can compile TAUCS with -MD option. The problem here is that libraries supplied with TAUCS are compiled with -MT option and it is necessary to […]

Introduction MUMPS is a MUltifrontal Massively Parallel sparse direct Solver developed CERFACS, ENSEEIHT-IRIT, and INRIA: http://graal.ens-lyon.fr/MUMPS/ MUMPS is a free solver but it is necessary to register to download it. It is relatively easy to compile MUMPS under Unix – it is just necessary to slightly modify Makefile.inc, several version of which come with the […]

Introduction TAUCS is a Library of Sparse Linear Solvers developed by Prof Sivan Toledo with Doron Chen and Vladimir Rotkin: http://www.tau.ac.il/~stoledo/taucs/ The goal of this chapter is to consider how to compile TAUCS under Microsoft Visual Studio. The plan is as follows. First we compile TAUCS with nmake from the command line. Then a simple […]

Introduction UMFPACK is Unsymmetric MultiFrontal direct solver for sparse matrices developed by Prof Timothy A. Davis: http://www.cise.ufl.edu/research/sparse/umfpack/ In this document I will explain how to modify configurations files in the UMFPACK distribution in order to compile it directly with Microsoft Visual C by using GNU Make under Cygwin. For simplicity I have limited myself to […]