In cached mode, it can currently jit compile the graph for molecules of around 10 atoms in ~5 minutes on one T4 gpu. Once the graph is compiled, the actual geometry optimization only takes a few seconds.
I’m working on optimizations that improve the scaling behavior (such as density fitting) with the goal of achieving similar or even better performance for molecules with ~50 atoms.
I’m planning to add support for an alternative method called density functional theory which gives better results for molecular interaction.
Calculating the derivative of the energy with respect to nuclear charge would be fun, as it would let you perform some type of "alchemy" smoothly changing from one element to another. I'm not sure that has any practical use.
I read a paper a while back doing something alchemical that I guess this reminded me of: https://pubs.aip.org/aip/jcp/article-abstract/133/8/084104/1...
But for the colab demo I thought that sticking to nuclear positions (i.e atomic forces) would be easier to visualize.
Of course, the true wave function is generally not a Slater determinant. In particular, electrons in a Slater determinant with different spins are uncorrelated.
The standard approach to resolving this is density functional theory. In that model, the main approximation is the choice of an “exchange correlation functional” which approximates the electron exchange and correlation energy. The choice of a functional is unfortunately a dark art in the sense that they can only be evaluated empirically rather than from first principles.
The classic reference for Hartree Fock is Modern Quantum Chemistry by Szabo and Ostland: https://books.google.com/books/about/Modern_Quantum_Chemistr...
It is very well written and I highly recommend it.
I also wrote up some notes here: https://www.daniellowengrub.com/blog/2025/07/26/scf
So at this level of simulation it is currently only possible to simulate one medium size molecule or the interaction of a few small ones.
To simulate larger systems, it is necessary to work at a (semi-)classical level of abstraction that approximates quantum mechanics. For example using molecular dynamics to essentially simulate a fluid with a ball and springs model. In this case, electron level simulation can still be useful for deriving heuristics (conceptually, the spring tension).
I completely agree that it’s interesting to investigate how far the electron level simulation can be pushed.
articulatepang•2w ago
lowdanie•2w ago