Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

QC-Applications - PyLIQTR1.0 Migration + RuCl Documentation #8

Merged
merged 12 commits into from
Mar 13, 2024
Merged

Conversation

JonhasSC
Copy link
Collaborator

@JonhasSC JonhasSC commented Mar 5, 2024

This PR is focused on merging dev to main, where the changes are:

  1. migrating the pyLIQTR version to 1.0
  2. Simple package structure with some common utility functions
  3. Better RuCl documentation

When comparing the diffs between notebooks, its helpful to use a package such as nbdime that provides tools for diffing and merging Jupyter notebooks. The adopted workflow is:
Have a copy of the notebook from base branch and a copy of the notebook from the feature branch, and do something like:

nbdiff-web notebook_1.ipynb notebook_2.ipynb

which will create a local webpage on comparing the two

JonhasSC and others added 10 commits February 21, 2024 13:47
…le that contains utility functions reused in the photosynthesis and fermi hubbard notebooks
Merging in the initial QCA package structure
* pyliqrt 1.0 support up to qsp estimation

* complete translation to pyliqtr1.0.0 for the magneticlattices notebook

* fixed bug with qsp estimation and went through the notebook

* made the change to pyliqtr1.0 to HightemperatureSuperConductorExample jupyter notebook

* added output for the notebook

* removed old fermi hubbard notebook

* removed unused imports

* added hamiltonian utils file. Would proabbly be moved to some hamiltonian module in the future

* have the notebook use the packaged utility functions

* finalized adding additional features for fermi hubbard support

* fixed pyproject versioning

* successfull running of magnetic lattice using pyliqtr1.0 ontop of modularized functionality

* adding back fermihubbard notebook from main

* forgot to remove requirements file

* changed generate_square_hamiltonian to generate_square_hamiltonian and generate_triangle_hamiltonian to better seperate the two

* changed notebook to respond to PR comments, i.e, changed shape_graph to graph_shape and just manually imported all functions that are needed
* made the change to pyliqtr1.0 to HightemperatureSuperConductorExample jupyter notebook

* added output for the notebook

* removed old fermi hubbard notebook

* removed unused imports

* added hamiltonian utils file. Would proabbly be moved to some hamiltonian module in the future

* have the notebook use the packaged utility functions

* finalized adding additional features for fermi hubbard support

* fixed pyproject versioning
* translated  PyLIQTR1.0 to Photosynthesis example. GSE object was originally just a wrapped PE object, so had to explicitly specify PE objects now for GSEE

* made the change to pyliqtr1.0 to HightemperatureSuperConductorExample jupyter notebook

* added output for the notebook

* whitespace changes t photosynthesis

* removed old fermi hubbard notebook

* removed unused imports

* added hamiltonian utils file. Would proabbly be moved to some hamiltonian module in the future

* have the notebook use the packaged utility functions

* finalized adding additional features for fermi hubbard support

* fixed pyproject versioning

* finished modularizing qca with respect to photosynthesis notebook
* RuCl migration of pyLIQTR-1.0

* deleted old RuCl notebook

* Fix Trotter printing, update pyproject.toml to use pyLIQTR 1.0.0, update gitignore

* updated notebook to take out unused imports and fix unused colors issue

* structured RuCl notebook to use qca package, fixed plot_T_histogram header in qca.utils.utils

* removed unused functs and imports, changed the plot_histogram funct in qca, and reverted some previous changes, fixed plotting, changed assign_labels to allow generic x y z labels

* added default args to assign_hexagon_labels, removed the commented code for  plotting for qsp, made the labels uppercase

---------

Co-authored-by: Zain Mughal <zain@pn2401319.lanl.gov>
Co-authored-by: Zachary Alexander Morrell <zmorrell@lanl.gov>
* Add documentation to RuCl notebook, Pin pyLIQTR to version 1.0.0, add local field term for resource estimates

* Add explanation of terms in table.  Fix appearance of Heisenberg terms in VSCode

* Add Zeeman terms to Hamiltonian in RuCl, fix typos
Copy link
Member

@ccoffrin ccoffrin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I reviewed the rendered PDFs and all looks good to me.

Given that this primarily a code update, without some form of CI tests I cannot assess if everything is still working, but I trust you have tested this.

Some of the rendered PDFs also do not show artifacts from the code being executed. I presume because the runtime is quite long. Again, in this case, I trust that these have been tested.

I will open an issue to remember that we need to figure out an approach to do CI for this repo.

zmorrell and others added 2 commits March 13, 2024 13:22
* Add state preparation documentation and fix RNG seeding

* fixed time varying terms and added approprimate terms for rucl lattice

* Add resource estimate for state preparation and measurement

* Add state prep and measurement resource estimates section, attempt to fix figures

* Reduce image size of Figure 1

* Remove unused variable from prepare_measurement_rucl

---------

Co-authored-by: Jonhas Colina <jonhas@lanl.gov>
… and depth for GSEE in the fermihubbard notebook (#12)
@JonhasSC
Copy link
Collaborator Author

After a final review verifying the notebooks on top of bug fixes and documentation changes, will merge this to main now.

@JonhasSC JonhasSC merged commit 4f6b178 into main Mar 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants