I have written a blog post about my experience using Rust for scientific numerical applications

This page summarizes the projects mentioned and recommended in the original post on /r/rust

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • libint

    Libint: high-performance library for computing Gaussian integrals in quantum mechanics

  • During my Ph.D., I made a Hartree-Fock implementation using Haskell (https://github.com/felipeZ/Haskell-abinitio). What I learnt from it is that most of the work is actually in implementing the integrals. But with Rust, you can take the integrals from libraries like libint2 (https://github.com/evaleev/libint) and focus on the implementation's physics. The integrals and the diagonalization of the resulting operators are the bottlenecks in both Hartree-Fock and DFT. So, if you take something like libint2 for the integrals and Nalgebra (https://nalgebra.org/) for the linear algebra, the application is going to be lightning-fast. But if you decide to implement the integrals yourself, I think it would take a significant time until you can reach the current Fortran/C++ implementation performance.

  • Haskell-abinitio

    Discontinued contains a package in Haskell to calculate the electronic structure properties of molecules using the Hartree-Fock method

  • During my Ph.D., I made a Hartree-Fock implementation using Haskell (https://github.com/felipeZ/Haskell-abinitio). What I learnt from it is that most of the work is actually in implementing the integrals. But with Rust, you can take the integrals from libraries like libint2 (https://github.com/evaleev/libint) and focus on the implementation's physics. The integrals and the diagonalization of the resulting operators are the bottlenecks in both Hartree-Fock and DFT. So, if you take something like libint2 for the integrals and Nalgebra (https://nalgebra.org/) for the linear algebra, the application is going to be lightning-fast. But if you decide to implement the integrals yourself, I think it would take a significant time until you can reach the current Fortran/C++ implementation performance.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • nalgebra

    Linear algebra library for Rust.

  • During my Ph.D., I made a Hartree-Fock implementation using Haskell (https://github.com/felipeZ/Haskell-abinitio). What I learnt from it is that most of the work is actually in implementing the integrals. But with Rust, you can take the integrals from libraries like libint2 (https://github.com/evaleev/libint) and focus on the implementation's physics. The integrals and the diagonalization of the resulting operators are the bottlenecks in both Hartree-Fock and DFT. So, if you take something like libint2 for the integrals and Nalgebra (https://nalgebra.org/) for the linear algebra, the application is going to be lightning-fast. But if you decide to implement the integrals yourself, I think it would take a significant time until you can reach the current Fortran/C++ implementation performance.

  • rsmpi

    MPI bindings for Rust

  • Haven't used it myself. But this seems well maintained and very usable. https://github.com/rsmpi/rsmpi

  • node_crunch

    Discontinued Allows to distribute computations across several nodes

  • libcint

    general GTO integrals for quantum chemistry

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts