Curated list of awesome lists
Awesome Scientific Computing
Useful resources for scientific computing and numerical analysis.
Scientific computing and numerical analysis are research fields that aim to provide
methods for solving largescale problems from various areas of science with the help of
computers. Typical problems are ordinary and partial differential equations (ODEs,
PDEs), their discretizations, and the solution of linear algebra problems arising from
them.
Contents
Basic linear algebra

BLAS  Standard building blocks for performing basic vector and matrix operations.
(Fortran, public domain, GitHub)

OpenBLAS  Optimized BLAS library based on GotoBLAS2.
(Fortran, BSD, GitHub)

BLIS  Highperformance BLASlike dense linear algebra libraries.
(C++, BSD, GitHub)

LAPACK  Routines for solving systems of linear equations, leastsquares solutions of linear systems, eigenvalue problems, and singular value problems.
(Fortran, BSD, GitHub)

Eigen  C++ template library for linear algebra.
(C++, MPL 2, BitBucket)

Ginkgo  Highperformance manycore linear algebra library, focus on sparse systems.
(C++, BSD, GitHub)
Frameworks

PETSc  Data structures and routines for the parallel solution of scientific applications modeled by PDEs.
(C, 2clause BSD, BitBucket)

DUNE Numerics  Toolbox for solving PDEs with gridbased methods.
(C++, GPL 2, GitLab)

SciPy  Python modules for statistics, optimization, integration, linear algebra, Fourier transforms, signal and image processing, ODE solvers, and more.
(Python, mostly BSD, GitHub)

NumPy  Fundamental package needed for scientific computing with Python.
(Python, BSD, GitHub)
Finite Elements

FEniCS  Opensource computing platform for solving PDEs in Python and C++.
(C++/Python, LGPL 3, BitBucket)

libMesh  Framework for the numerical simulation of PDEs using arbitrary unstructured discretizations.
(C++, LGPL 2.1, GitHub)

deal.II  Software library supporting the creation of finite element codes.
(C++, LGPL 2.1, GitHub)

Netgen/NGSolve  High performance multiphysics finite element software.
(C++, LGPL 2.1, GitHub)

Firedrake  Automated system for the solution of PDEs using the finite element method.
(Python, LGPL 3, GitHub)

MOOSE  Multiphysics Object Oriented Simulation Environment.
(C/Python, LGPL 2.1, GitHub)

MFEM  Free, lightweight, scalable C++ library for finite element methods.
(C++, LGPL 2.1, GitHub)

SfePy  Simple Finite Elements in Python.
(Python, BSD, GitHub)

FreeFEM  High level multiphysicsmultimesh finite element language. (C++, LGPL, GitHub)
Meshing

Gmsh  Threedimensional finite element mesh generator with pre and postprocessing facilities.
(C++, GPL, GitLab)

pygmsh  Python interface for Gmsh.
(Python, MIT, GitHub)

MeshPy  Quality triangular and tetrahedral mesh generation.
(Python, MIT, GitHub)

meshio  I/O for various mesh formats, file conversion.
(Python, MIT, GitHub)

CGAL  Algorithms for computational geometry.
(C++, mixed LGPL/GPL, GitHub)

pygalmesh  Python interface for CGAL's 3D meshing capabilities.
(Python, MIT, GitHub)

mshr  Mesh generation component of FEniCS.
(Python, GPL 3, BitBucket)

MOAB  Representing and evaluating mesh data.
(C++, mostly LGPL3, BitBucket)

NetCDF  Software libraries and data formats for the creation, access, and sharing of arrayoriented scientific data.
(C/C++/Fortran/Java/Python, custom opensource
license,
GitHub)

HDF5  Data model, library, and file format for storing and managing data.
(C/Fortran, BSD)

XDMF  eXtensible Data Model and Format to exchange scientific data between High Performance Computing codes and tools.
(C++, GitLab)

TetGen  Quality tetrahedral mesh generator and 3D Delaunay triangulator.
(C++, AGPLv3)

Triangle  Twodimensional quality mesh generator and Delaunay triangulator.
(C, nonfree software)

optimesh  Triangular mesh smoothing.
(Python, MIT, GitHub)

distmesh  Simple generator for unstructured triangular and tetrahedral meshes.
(MATLAB, GPL 3)

QuadriFlow  A Scalable and Robust Method for Quadrangulation.
(C++, BSD, GitHub)

trimesh  Loading and using triangular meshes with an emphasis on watertight surfaces.
(Python, MIT, GitHub)

dmsh  Simple generator for unstructured triangular meshes, inspired by distmesh.
(Python, MIT, GitHub)
Sparse linear solvers

SuperLU  Direct solution of large, sparse, nonsymmetric systems of linear equations.
(C, mostly BSD, GitHub)

KryPy  Krylov subspace methods for the solution of linear algebraic systems.
(Python, MIT, GitHub)

PyAMG  Algebraic Multigrid Solvers in Python.
(Python, MIT, GitHub)

FFTW  Discrete Fourier transforms in one or more dimensions, of arbitrary input size, and of both real and complex data.
(C, GPL2, GitHub)

Qhull  Convex hull, Delaunay triangulation, Voronoi diagram, halfspace intersection about a point, furthestsite Delaunay triangulation, and furthestsite Voronoi diagram.
(C/C++, custom open source license,
GitHub)

GSL  Wide range of mathematical routines such as random number generators, special functions, and leastsquares fitting.
(C/C++, GPL 3, Savannah)

OpenFOAM  Free, open source CFD (computational fluid dynamics) software.
(C++, GPL 3, GitHub)

ParaView  Multiplatform data analysis and visualization application based on VTK.
(C++, BSD, GitLab)

quadpy  Numerical integration (quadrature, cubature) in Python.
(Python, MIT, GitHub)

FiPy  Finitevolume PDF solver.
(Python, custom opensource
license,
GitHub)

accupy  Accurate sums and dot products for Python.
(Python, MIT, GitHub)

SLEPc  Scalable Library for Eigenvalue Problem Computations.
(C, 2clause BSD, BitBucket)

Chebfun  Computing with functions to about 15digit accuracy.
(MATLAB, BSD, GitHub)
License
To the extent possible under law, Nico Schlömer
has waived all copyright and related or neighboring rights to this work.