-
Notifications
You must be signed in to change notification settings - Fork 125
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
[ITensors] ITensorMPS
submodule
#1356
Conversation
One remaining thing to be discussed is whether the precompile related code in |
Codecov ReportAttention: Patch coverage is
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## main #1356 +/- ##
===========================================
- Coverage 84.40% 53.45% -30.96%
===========================================
Files 100 99 -1
Lines 8581 8452 -129
===========================================
- Hits 7243 4518 -2725
- Misses 1338 3934 +2596 ☔ View full report in Codecov by Sentry. |
Thanks @emstoudenmire. Perhaps we should change |
Thanks @emstoudenmire, this is a nice change to make sure we keep the MPS code self-contained, and also more clearly separated from things like operator definitions. Something else we might want to do is move I even went with organizing those files as projects themselves, i.e. in this case we could have a file organization:
Then, the directory Maybe we don't need to do that all in this PR, let's discuss the logistics. |
Do you mean code in src/packagecompile/ or in precompile/? EDIT: |
I made the above changes such as renaming ITensorLegacyMPS/ to ITensorMPS/ and the review comments on the code. Also I like the idea of going ahead with the lib folder and making ITensorMPS/ have a package structure (or even be an actual package already). Should we go for it in this PR? Maybe in another to make each PR more "atomic"? |
I'm all for these changes to best practices around imports and exports. I remember that I think even a few years ago we had actually discussed the possibility of not using imports and just qualifying things i.e. The other ideas about how to apply |
The only outstanding issue is about import / export of the
Currently the approach is to use Or let me know if your comment above was about something else (e.g. there's a reason that |
I think part of the confusion was that I didn't understand the issue you were describing around the test failing. I would vote for:
|
So the issue was that |
@emstoudenmire it looks like the GPU tests are failing because they are trying to run |
Yeah! Pretty embarassing but that was the issue (i.e. contract not being exported). The I've now restored the export of One last thing to do is to remove the |
I've now also removed the entry for the deleted ITensorGPU test |
Sounds good. After that it looks good to merge from my end. Unfortunately we are importing a lot of functions right now, so it will be quite an undertaking to change over the style everywhere. This may be a case where it is worth trying to automate that process (I need to change over other repositories as well). |
ITensorMPS
moduleITensorMPS
submodule
Description
Creates a new
ITensorMPS
module inside of theITensors
module. The user experience should be unchanged, since all exports are kept the same inITensors
i.e. re-exporting theITensorMPS
exports. Most of the changes in this PR besides moving files and renaming themps/
folder to theITensorMPS/
folder are:ITensorMPS
module as discussed aboveimports.jl
andexports.jl
for this module (most of the work was getting the correct imports figured out)physics/autompo/
into theITensorMPS
folder and module, since it is really a system for creatingMPO
s fromOpSum
dataITensors.ITensorMPS
module nowHow Has This Been Tested?
Checked that
ITensorLegacyMPS/base
tests are passing andITensors
base tests are passing on my machine.Checklist:
using JuliaFormatter; format(".")
in the base directory of the repository (~/.julia/dev/ITensors
) to format your code according to our style guidelines.