Skip to main content

:sunglasses: Curated list of awesome software for numerical analysis and scientific computing

1.6k
GitHub Stars
90
Curated Resources
9
Categories
5 hours ago
Last Refreshed
Basic linear algebraMulti-purpose toolkitsFinite ElementsMeshingData formatsSparse linear solversVisualizationOther libraries and toolsCommunity

Use this list with your AI agent

Add the Context Awesome MCP server to Claude, Cursor, or any MCP client, then ask:

"Show me triangular and tetrahedral meshing resources from awesome-scientific-computing"

Installation instructions →

What's inside

Other libraries and tools

  • accupy

    Accurate sums and dot products for Python. (Python, GPL 3, GitHub)

  • Chebfun

    Computing with functions to about 15-digit accuracy. (MATLAB, BSD,

  • cvxpy

    Modeling language for convex optimization problems. (Python, Apache 2.0,

  • Dedalus

    Solve partial differential equations with spectral methods. (Python, GPL 3,

  • FFTW

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

  • FiPy

    Finite-volume PDE solver. (Python,

Basic linear algebra

  • BLAS

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

  • blaze

    High-performance C++ math library for dense and sparse arithmetic. (C++, BSD, Bitbucket)

  • BLIS

    High-performance BLAS-like dense linear algebra libraries. (C, BSD, GitHub)

  • Eigen

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

  • Ginkgo

    High-performance manycore linear algebra library, focus on sparse systems. (C++, BSD,

  • LAPACK

    Routines for solving systems of linear equations, linear least-squares, eigenvalue problems, etc. (Fortran, BSD,

Meshing

  • CGALTriangular and tetrahedral meshing

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

  • distmeshTriangular and tetrahedral meshing

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

  • dmshTriangular and tetrahedral meshing

    Simple generator for unstructured triangular meshes, inspired by distmesh. (Python, proprietary, GitHub)

  • fTetWildTriangular and tetrahedral meshing

    Same as TetWild, but faster. (C++, MPL 2,

  • GmshTriangular and tetrahedral meshing

    Three-dimensional finite element mesh generator with pre- and post-processing facilities. (C++, GPL,

  • meshioMesh tools

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

Finite Elements

  • deal.II

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

  • FEniCS

    Computing platform for solving PDEs in Python and C++. (C++/Python, LGPL 3,

  • Firedrake

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

  • FreeFEM

    High level multiphysics-multimesh finite element language. (C++, LGPL,

  • libceed

    Code for Efficient Extensible Discretizations. (C, 2-clause BSD,

  • libMesh

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

Multi-purpose toolkits

  • DifferentialEquations.jl

    Toolbox for solving different types of differential equations numerically. (Julia, MIT,

  • DUNE Numerics

    Toolbox for solving PDEs with grid-based methods. (C++, GPL 2,

  • NumPy

    Fundamental package needed for scientific computing with Python. (Python, BSD,

  • PETSc

    Parallel solution of scientific applications modeled by PDEs. (C, 2-clause BSD,

  • SciPy

    Python modules for statistics, optimization, integration, linear algebra, etc. (Python, mostly BSD,

Community

Visualization

  • F3D

    Cross-platform, fast, and minimalist 3D viewer with scientific visualization tools. (C++, BSD,

  • Mayavi

    3D scientific data visualization and plotting in Python. (Python, BSD,

  • morphologica

    Header-only, modern OpenGL code to visualize numerical simulations at runtime. (C++, Apache 2.0, GitHub)

  • ParaView

    Multi-platform data analysis and visualization application based on VTK. (C++, BSD,

  • Polyscope

    Viewer and user interface for 3D geometry processing. (C++, MIT,

  • PyVista

    3D plotting and mesh analysis through a streamlined interface for VTK. (Python, MIT,

Data formats

  • HDF5

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

  • NetCDF

    Software libraries and data formats for array-oriented scientific data. (C/C++/Fortran/Java/Python,

  • XDMF

    eXtensible Data Model and Format for data from High Performance Computing codes. (C++,

  • Zarr

    Format for the storage of chunked, compressed, N-dimensional arrays. (Python, MIT,

Showing a sample of 90 resources. View the full list on GitHub →