OBE printing, post-process h5 I/O, and the partial-projector rename - #15
Open
harrisonlabollita wants to merge 4 commits into
Open
OBE printing, post-process h5 I/O, and the partial-projector rename#15harrisonlabollita wants to merge 4 commits into
harrisonlabollita wants to merge 4 commits into
Conversation
Rename the theta projector to "partial projector" throughout the loaders and post-processing entry points, matching the terminology used in the docs. - add h5_read / h5_write for spectral_function_kw and spectral_function_w - add printing for the post-process structs
Add rotate_local_basis to the obe c2py spec so the local-basis rotation used by the post-processing routines is reachable from Python.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Three small independent improvements to the obe / post-processing interface: a
terminology rename that brings the code in line with the documentation,
operator<<andHDF5 I/O for structs that were missing them, and one more c++ function exposed to
Python.
This provides an incremental diff:
pr/checkpoint-summarize...pr/obe-printing-h5Changes
1.
thetaprojector →partialprojector (da5248b)The documentation call it a partial projector, while the code called it
theta. To be consistent between the two, I've renamed throughoutloaders.{hpp,cpp}andpostprocess.{hpp,cpp}. This should improve readability and clarity.Public Python API change:
one_body_elements_with_theta_projectors→one_body_elements_with_partial_projectors(
python/triqs_modest/obe.toml). Needs aChangeLog.mdentry.Additional changes in this PR:
h5_read/h5_writeforspectral_function_kwandspectral_function_w(
h5.cpp) — these results were previously not serializable.operator<<for the post-process structs (printing.cpp).load_data_test.cppandmpi_test.cpp.2.
operator<<for the remaining OBE structs (f318fba)Adds printing for
one_body_elements_tbandone_body_elements_gw, so every OBEvariant is now printable.
printing.cpppicks up anobe_tb.hppinclude.3. Expose
rotate_local_basis(05af10e)Added to the
obec2py spec so the local-basis rotation that the post-processingroutines apply internally is reachable from Python. Documented in
doc/reference/python/one_body_elements.rst.Testing
Existing tests only;
load_data_test,mpi_testandobe_tb_testare updatedfor the rename and pass.