libint
Libint: high-performance library for computing Gaussian integrals in quantum mechanics (by evaleev)
Haskell-abinitio
contains a package in Haskell to calculate the electronic structure properties of molecules using the Hartree-Fock method (by felipeZ)
libint | Haskell-abinitio | |
---|---|---|
2 | 1 | |
213 | 13 | |
- | - | |
9.2 | 0.0 | |
21 days ago | over 7 years ago | |
C++ | Haskell | |
GNU General Public License v3.0 or later | Apache License 2.0 |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
libint
Posts with mentions or reviews of libint.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-04-08.
-
I have written a blog post about my experience using Rust for scientific numerical applications
Libraries to compute the integrals like libint2 can be configured to used MPI. Therefore, you could wrap the library API using the rust foreign function interface to compute the integrals in parallel. It is not a piece of cake when calling it directly from C++, nor it would be from Rust.
Haskell-abinitio
Posts with mentions or reviews of Haskell-abinitio.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-04-08.
-
I have written a blog post about my experience using Rust for scientific numerical applications
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.
What are some alternatives?
When comparing libint and Haskell-abinitio you can also consider the following projects:
libcint - general GTO integrals for quantum chemistry
rsmpi - MPI bindings for Rust
nalgebra - Linear algebra library for Rust.
node_crunch - Allows to distribute computations across several nodes