Proto commits in quantumlib/Qualtran

These 15 commits are when the Protocol Buffers files have changed:

Commit:cee6954
Author:Frankie Papa
Committer:GitHub

Add serialization for ECPoint arg type. (#1412) Add serialization for ECPoint arg type

The documentation is generated from this commit.

Commit:5c2c915
Author:Fionn Malone
Committer:GitHub

BoundedQUInt -> BQUInt (#1363) * BoundedQUInt -> BQUInt. * Update proto defs too. * Fix serialization.

Commit:351f16a
Author:Fionn Malone
Committer:GitHub

Serialize QMontgomeryUInt (#1294) * Serialize QMontgomeryUInt. * Update error message.

Commit:9ed5ddf
Author:Anurudh Peduri
Committer:GitHub

Serialize `sympy.codegen.cfunctions.log2` (#1088) * serialize `sympy.codegen.cfunctions.log2` * run `dev_tools/build-protos.sh` * fix bug in `build-protos.sh` * fix test

Commit:c78dd0b
Author:Epsilon1024
Committer:GitHub

Add sympy Serialization (#850) * Added methods to serialize and deserialize quantum data types. * Add serialization and deserialization methods for all data types. Write unit tests to ensure round trip of each datatype using both numeric and sympy inputs. * Update qualtran/protos/data_types.proto Co-authored-by: Tanuj Khattar <tanujkhattar@google.com> * Update Proto:wq * Fixed error formatting * Remove bitsize from QBit * Fixed formatting * Remove uncessesary files * Fix data type in formatted string in error message * Update qualtran/serialization/data_types_test.py * Added Sympy serialization. Sympy expressions can now be serialized through a recursive proto. * Clean up workspace * Remote large tests from get_bloq_examples() * Remove qpe_hubbard_model tests The qpe_hubbard_model is too large to test and causes developer friction. We have disabled the tests for now * Remove qpe_hubbard tests These tests are very large and will cause problems when running. These tests are now disabled. * Cleanup branch * Only remove the serialization tests from the large bloq.s Move the changes from bloq_finder.py to bloq_report_card.py. This way, only the serialization portion of the test is affected. * Address issues with failing sympy tests. Added support for fraction constant parameters. Fixed issue with cwap test assertion which expected sympy in the old string format. * Fix formatting * Fix formatting * Delete Untitled.ipynb Delete scratch notebook * Cleanup after merging local branches. (Old changes were accidentally left in). * Remove changes from PR#849 Rather than building on top of #849, we keep the changes separate. * Fixed assortment of bugs in fraction, and constant symbol serialization * Scratch test * Fixed bad reference to resolver dict by bloq module name. * Minor refactoring * Ran formatting tools * Cleanup forgotten test code. * Add tests, fix naming conventions, and add proper return types. * Update sympy_test.py Call sympy serialization directly rather than calling it through bloq. * Apply suggestions from code review Addressed nit comments. Co-authored-by: Tanuj Khattar <tanujkhattar@google.com> * Fix sympy_test * Fix return type of sympy_expr_from_proto --------- Co-authored-by: Tanuj Khattar <tanujkhattar@google.com>

Commit:eafb35b
Author:Tanuj Khattar
Committer:GitHub

Bugfix in `CtrlSpec` serialization (#837) Bugfix in CtrlSpec serialization Co-authored-by: Matthew Harrigan <mpharrigan@google.com>

Commit:6d1448c
Author:Anurudh Peduri
Committer:GitHub

serialize `complex` bloq arguments (#833) * serialize complex values * glob phase can now be serialized

Commit:117e921
Author:Tanuj Khattar
Committer:GitHub

Support multiple registers and corresponding ctrl values in `CtrlSpec` (#804) * Support multiple registers and corresponding ctrl values in CtrlSpec * Revert changes to select_and_prepare * Documentation updates and renames * More documentation updates * docstring for shapes

Commit:8d4421f
Author:Tanuj Khattar
Committer:GitHub

Serialize all Bloqs :) (#798)

Commit:a6e7905
Author:Fionn Malone
Committer:GitHub

[data types] QDType arg for util bloqs (#707) * QDTypes for util bloqs. * Update protos for splits and joins. * Docstring. * Fix lint.

Commit:2b3e8df
Author:Fionn Malone
Committer:GitHub

[data types] Deprecate register bitsize (#671) * Straightforward register dtype regplacements. * Migration. * Some remaining replacements. * Fix some errors. * Some more register updates. * Some missing replacements. * Fix register. * Fix notebook import error. * Some missing replacements. * Forbid integer bitsizes when constructing a Register. * Remove comment. * Use new serialization routines. * Fix license comment. * Update protos for QDataType proto. * Add serialization for registers with no bitsize. * Remove restriction on multi-dim BoundedQInt reg. * Fix lint error. * Address review comments. * Fix error.

Commit:57fbc87
Author:Epsilon1024
Committer:GitHub

Add serialization to data types (#681) * Added methods to serialize and deserialize quantum data types. * Add serialization and deserialization methods for all data types. Write unit tests to ensure round trip of each datatype using both numeric and sympy inputs. * Update qualtran/protos/data_types.proto Co-authored-by: Tanuj Khattar <tanujkhattar@google.com> * Update Proto:wq * Fixed error formatting * Remove bitsize from QBit * Fixed formatting * Remove uncessesary files * Fix data type in formatted string in error message * Update qualtran/serialization/data_types_test.py --------- Co-authored-by: Tanuj Khattar <tanujkhattar@google.com>

Commit:9b707ef
Author:Tanuj Khattar
Committer:GitHub

Update NDArray proto and serialization to avoid running eval on serialized code (#588) * Update NDArray proto and serialization to avoid running eval on serialized code * Fix format

Commit:4978818
Author:Matthew Harrigan
Committer:GitHub

Prepare for releasing (#317) - Add the appendix back to the apache 2 license - Include contributing.md - copyright header in more places - change copyright to Google LLC

Commit:6fd1803
Author:Tanuj Khattar
Committer:GitHub

Proto based serialization (#282) * Very rough initial draft * Add serializaiton / deserialization code to convert Bloqs to protos * Incorporate Matt's feedback and make changes as per offline discussion * Pylint fixes * Make a unified interface that always returns a * Rename api/ to protos/ * A lot more tests and bug fixes * Add docstrings, reorganize methods to match protos and update formatting conditions to exclude proto generated files * Revert flynt changes and make make_for_shor deterministic