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 [...]
Archive for the ‘Sparse Matrices’ Category
Filed under: Dense Matrices, Sparse Matrices
Social Tagging: C++
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 [...]
Filed under: Sparse Matrices
Social Tagging: Matrix Market
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 [...]
Filed under: Sparse Matrices
Social Tagging: msvc • TAUCS
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 [...]
Filed under: Sparse Matrices
Social Tagging: MUMPS
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 [...]
Filed under: Sparse Matrices
Social Tagging: msvc • TAUCS
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 [...]
Filed under: Sparse Matrices
Social Tagging: msvc • UMFPACK
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 [...]
METIS is written in C by using int and when one uses a solver on a 64-bit system that employs 8-byte integers this must be changed. Recently I have compiled MUMPS with -i8 and this was exactly this case. The newest version of METIS seems have an option to compile METIS with long but it [...]
When solving a system of linear equations with a sparse matrix by the direct method, it is crucial to run a reordering algorithm to reduce fill-in in the factor. Without this, it just does not work. METIS is a reordering algorithm developed by Prof Karypis at the University of Minnesota – Karypis Lab. It is [...]
RSS