Skip to content

Commit

Permalink
Batching of determinants (#69)
Browse files Browse the repository at this point in the history
* Implementation naive algo

* pt2 selection now iterates over the full internal space and only a chunk of the connected. selection_step is now an mpi function

* fixed doctest

* for real this time

* for real this time

* some initial changes before adding parameter to chunk connected space by input size

* spelling

* doctest fix

* Added functionality for user to specify the size of the working portion of the connected space

* Local/global sorts seperate in the selection step + added few more tests

* Changes from recent review

* Initial PR for chunking the external space (#53)

* pt2 selection now iterates over the full internal space and only a chunk of the connected. selection_step is now an mpi function

* fixed doctest

* for real this time

* for real this time

* some initial changes before adding parameter to chunk connected space by input size

* spelling

* doctest fix

* Added functionality for user to specify the size of the working portion of the connected space

* Local/global sorts seperate in the selection step + added few more tests

* Changes from recent review

* Constraint based triplet excitations (#7)

* Add constraint-based excitation functions (no testing yet)

* small name change

* now constrained excitation handles opposite spin ones as well; this is a starting point for tests

* no way this is working first try?

* first test passing

* Minimal test added and passing

* Constraint-based generation of connected dets from wf + new test

* Now constraints working for beta electrons as well

* black

* black

* changes

* build fix attempt

* attempt 2

* Update test_python.yml

* update requirements.txt

* Update test_python.yml

* remove enumerate

* Update test_python.yml

* nathan PR (#9)

* External chunk into clean  (#61)

* Implementation naive algo

* pt2 selection now iterates over the full internal space and only a chunk of the connected. selection_step is now an mpi function

* fixed doctest

* for real this time

* for real this time

* some initial changes before adding parameter to chunk connected space by input size

* spelling

* doctest fix

* Added functionality for user to specify the size of the working portion of the connected space

* Local/global sorts seperate in the selection step + added few more tests

* Changes from recent review

* Initial PR for chunking the external space (#53)

* pt2 selection now iterates over the full internal space and only a chunk of the connected. selection_step is now an mpi function

* fixed doctest

* for real this time

* for real this time

* some initial changes before adding parameter to chunk connected space by input size

* spelling

* doctest fix

* Added functionality for user to specify the size of the working portion of the connected space

* Local/global sorts seperate in the selection step + added few more tests

* Changes from recent review

* Constraint based triplet excitations (#7)

* Add constraint-based excitation functions (no testing yet)

* small name change

* now constrained excitation handles opposite spin ones as well; this is a starting point for tests

* no way this is working first try?

* first test passing

* Minimal test added and passing

* Constraint-based generation of connected dets from wf + new test

* Now constraints working for beta electrons as well

* black

* black

* changes

* build fix attempt

* attempt 2

* Update test_python.yml

* update requirements.txt

* Update test_python.yml

* remove enumerate

* Update test_python.yml

---------

Co-authored-by: Thomas Applencourt <[email protected]>

* only master loads wave function and integrals (#62)

* only master loads wave function and integrals

* added # because it was missing

---------

Co-authored-by: Thomas Applencourt <[email protected]>
Co-authored-by: Nathan W Johnson <[email protected]>

* New pt2 (#11)

* remove useless decorator

* added two electron parent class

* Not all tests will pass (intdriven not implemented yet); detdriven on the fly pt2 is done

* remove old tests for chunked connected space (no longer necessary since all pt2 done on the fly)

* forgot to remove something

* selection step modified to work with on the fly pt2

* remove leftover print statements

* very naive integral driven on the fly pt2

* load balancing

* Static load balancing, currently very slow. Optimize later

* update comment

* Integral-driven constraints for category C; before re-factoring

* Integral-driven constrained PT2 done for category D

* Category E singles, onto doubles

* Integral-driven constraints done for PT2, all categories; onto re-formatting

* doctest

* Some comments to make integral-driven code more readable

* load balanced constraints; need to test for multiple ranks still

* remove print

* commit before testing on other branch

* commit

* parallel working

* merge nathan's changes (#10)

* External chunk into clean  (#61)

* Implementation naive algo

* pt2 selection now iterates over the full internal space and only a chunk of the connected. selection_step is now an mpi function

* fixed doctest

* for real this time

* for real this time

* some initial changes before adding parameter to chunk connected space by input size

* spelling

* doctest fix

* Added functionality for user to specify the size of the working portion of the connected space

* Local/global sorts seperate in the selection step + added few more tests

* Changes from recent review

* Initial PR for chunking the external space (#53)

* pt2 selection now iterates over the full internal space and only a chunk of the connected. selection_step is now an mpi function

* fixed doctest

* for real this time

* for real this time

* some initial changes before adding parameter to chunk connected space by input size

* spelling

* doctest fix

* Added functionality for user to specify the size of the working portion of the connected space

* Local/global sorts seperate in the selection step + added few more tests

* Changes from recent review

* Constraint based triplet excitations (#7)

* Add constraint-based excitation functions (no testing yet)

* small name change

* now constrained excitation handles opposite spin ones as well; this is a starting point for tests

* no way this is working first try?

* first test passing

* Minimal test added and passing

* Constraint-based generation of connected dets from wf + new test

* Now constraints working for beta electrons as well

* black

* black

* changes

* build fix attempt

* attempt 2

* Update test_python.yml

* update requirements.txt

* Update test_python.yml

* remove enumerate

* Update test_python.yml

---------

Co-authored-by: Thomas Applencourt <[email protected]>

* only master loads wave function and integrals (#62)

* only master loads wave function and integrals

* added # because it was missing

* nathan PR (#9)

* External chunk into clean  (#61)

* Implementation naive algo

* pt2 selection now iterates over the full internal space and only a chunk of the connected. selection_step is now an mpi function

* fixed doctest

* for real this time

* for real this time

* some initial changes before adding parameter to chunk connected space by input size

* spelling

* doctest fix

* Added functionality for user to specify the size of the working portion of the connected space

* Local/global sorts seperate in the selection step + added few more tests

* Changes from recent review

* Initial PR for chunking the external space (#53)

* pt2 selection now iterates over the full internal space and only a chunk of the connected. selection_step is now an mpi function

* fixed doctest

* for real this time

* for real this time

* some initial changes before adding parameter to chunk connected space by input size

* spelling

* doctest fix

* Added functionality for user to specify the size of the working portion of the connected space

* Local/global sorts seperate in the selection step + added few more tests

* Changes from recent review

* Constraint based triplet excitations (#7)

* Add constraint-based excitation functions (no testing yet)

* small name change

* now constrained excitation handles opposite spin ones as well; this is a starting point for tests

* no way this is working first try?

* first test passing

* Minimal test added and passing

* Constraint-based generation of connected dets from wf + new test

* Now constraints working for beta electrons as well

* black

* black

* changes

* build fix attempt

* attempt 2

* Update test_python.yml

* update requirements.txt

* Update test_python.yml

* remove enumerate

* Update test_python.yml

---------

Co-authored-by: Thomas Applencourt <[email protected]>

* only master loads wave function and integrals (#62)

* only master loads wave function and integrals

* added # because it was missing

---------

Co-authored-by: Thomas Applencourt <[email protected]>
Co-authored-by: Nathan W Johnson <[email protected]>

---------

Co-authored-by: Thomas Applencourt <[email protected]>
Co-authored-by: Nathan W Johnson <[email protected]>

* comments

* before pr

---------

Co-authored-by: Thomas Applencourt <[email protected]>
Co-authored-by: Nathan W Johnson <[email protected]>

* remove unittest

* remove useless value

* Flexible types (#12)

* initial flexible typing

* basic excitation drivers for tuple dets

* fix build

* move over constraint + phase drivers

* mid re-factoring; commit before changing test files to new types

* tests passing for tuple determinant

* black

* Excitation and phase classes fully moved to determinant

* doctest

* doctest

* no more doctests please

* Some re-factoring; generic methods moved to generic determinant class

* black

* Update test_python.yml

Need 3.10 for .bit_count()

* new io load_wf to handle bitstring representation

* Overloaded spindet logical operations, Determinant NamedTuple class re=implemented to be more flexible

* doctest + kwargs option for Determinant type

* finish updating __new__() for Determinant

* TIL about reverse operators

* overloaded operators for bitstring type

* re-factored types fully working for tuples

* docs

* io

* first review

* Phase changes (#13)

Loopless phase algorithm. Now agnostic to spin determinant type

* fix indexerror in selection

* black after resolve merge conflict

* comment

* Some re-factoring + removal of dependency on tuple

* batch drivers

* batched operations

---------

Co-authored-by: Thomas Applencourt <[email protected]>
Co-authored-by: Nathan W Johnson <[email protected]>
  • Loading branch information
3 people authored Aug 18, 2023
1 parent d80db93 commit 218e792
Show file tree
Hide file tree
Showing 4 changed files with 766 additions and 623 deletions.
Loading

0 comments on commit 218e792

Please sign in to comment.