SciPost Submission Page
NetKet 3: Machine Learning Toolbox for Many-Body Quantum Systems
by Filippo Vicentini, Damian Hofmann, Attila Szabó, Dian Wu, Christopher Roth, Clemens Giuliani, Gabriel Pescia, Jannes Nys, Vladimir Vargas-Calderon, Nikita Astrakhantsev and Giuseppe Carleo
|As Contributors:||Giuseppe Carleo · Damian Hofmann · Attila Szabó · Filippo Vicentini|
|Date submitted:||2022-05-27 11:10|
|Submitted by:||Vicentini, Filippo|
|Submitted to:||SciPost Physics Codebases|
We introduce version 3 of NetKet, the machine learning toolbox for many-body quantum physics. NetKet is built around neural-network quantum states and provides efficient algorithms for their evaluation and optimization. This new version is built on top of JAX, a differentiable programming and accelerated linear algebra framework for the Python programming language. The most significant new feature is the possibility to define arbitrary neural network ansätze in pure Python code using the concise notation of machine-learning frameworks, which allows for just-in-time compilation as well as the implicit generation of gradients thanks to automatic differentiation. NetKet 3 also comes with support for GPU and TPU accelerators, advanced support for discrete symmetry groups, chunking to scale up to thousands of degrees of freedom, drivers for quantum dynamics applications, and improved modularity, allowing users to use only parts of the toolbox as a foundation for their own code.
For Journal SciPost Physics Codebases: Publish
(status: Editorial decision fixed and (if required) accepted by authors)
Author comments upon resubmission
Dear Editor and referees, We are very grateful for the many comments and remarks that helped us increase the quality of the final manuscript. We have implemented corrections for all the issues you raised, and expanded the manuscript to incldue new features that were added in the last few months. Below we list the major changes to the manuscript. Of course there are many other small changes that are too numerous to list, such as updating code examples to use new or refined syntax or reflecting.
Detailed answers to all issues raised by the referees have been submitted separately as replies.
List of Major Changes
- We have added a prominent panel highlighting the fact that advanced features in NetKet require knowledge of Jax, and linking to their documentation;
- We have added Sec. 3.2.2 discussing the difference between holomorphic and non-holomorphic complex ansatze, as well as how their parameters as stored in PyTrees;
- We have added Sec. 3.2.3 briefly discussing the use-case for all models included in NetKet;
- We have added Sec. 3.3.1 discussing how to reduce memory pressure in large computations through chunking;
- We have added a new, more elaborate example on interacting continuous systems in Sec. 6.5;
- We have added Sec. 8 discussing how to model systems with a discrete number of fermionic orbitals;
- We have updated the paper to refer to the current version of NetKet, 3.5, in several places. In particular, the syntax to specify the data-type of models throughout the manuscript was changed from
param_dtype=...in order to be consistent with the same change performed by an upstream dependency (flax). The old syntax still works but will be eventually removed an year from now;
- Various minor changes in formulations and formatting to improve the clarity of the manuscript.
Submission & Refereeing History
You are currently on this page
Reports on this Submission
Anonymous Report 2 on 2022-6-5 (Invited Report)
The authors addressed all my comments. They improved the quality and readability of the manuscript with additional stylistic changes which are very welcomed.
I recommend the manuscript for publication with no additional revisions.
Anonymous Report 1 on 2022-6-4 (Invited Report)
The revised version of the manuscript discusses interacting problems in continuous space as well as fermionic models with finite number of orbitals. These capabilities further extend the type of problems that can be addressed via NetKet, making it an extremely useful computational tool for condensed matter physicists and quantum chemists.