Skip to content

ibuenros/sparse-la

Repository files navigation

Basic library for sparse linear algebra routines.

Parallel capabilities through OpenMP and MPI (use flags USEMPI, USEOPENMP at compilation).

Debug mode checks vectors and matrices before performing any operations (eg. correct sizes, protects accessing out-of-bounds entries, etc.). Use flag NDEBUG to skip all checks: faster, but doesn't check anything.

I made this library from scratch for class projects and for fun. Obviously not the best option out there, and possibly buggy.

Included classes and methods:

Vector: -set, get, copy, display routines. -vector addition and scalar multiplication, serial and parallel versions

SparseMatrix: -build using newline, append, and finalize -change non-zero entries after finalized(slow),(zero entries can't be changed) -get entries(slow) -matrix-vector multiplication and daxpy, serial and parallel versions -preprocess matrix to increase efficiency of parallel operations -ConjugateGradient solver, serial and parallel versions, preconditioned or non-preconditioned

TriangularMatrix: -direct linear solver

Preconditioner: -compute Jacobi or ILU preconditioners

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages