-
Notifications
You must be signed in to change notification settings - Fork 21
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
AdcMatrix for different ADC schemes #129
Comments
This is just a dict, you can name the attributes/keys anything you want.
Since the folder is called Indeed, we found the terminology I think most of what you want to achieve can be done by creating a clever AdcMatrix class and that's it. Probably some things could be moved around a little bit here and there, but I don't see the point "overhauling" major parts of the code. |
Thanks @Drvanon for getting in touch and thanks for extending adcc ;). I pretty much agree with @maxscheurer. Since we have not really looked into other ADC schemes a lot, there might be some rough edges at places that make some refactoring necessary, but overall I'd be surprised if an overhaul was really required as the general workflow should stay the same. |
Thank you for all of your quick replies! I see what you mean with the AmplitudeVector class. @maxscheurer, I was trying to address the attributes/variables in the AdcMatrix class, particularly the default_blocks class variable, which currently is designed for PP only, as well as the sanity check and the matrix block function that is called (see my commits to https://github.com/Drvanon/adcc/blob/master/adcc/AdcMatrix.py). |
Currently this library is favoring the adc_pp a bit: the AdcMatrix class as well as the AdcAmplitudeVector and some others have attributes like
ph
andpphh
orblock_ph_ph_1
, that are unique to the PP scheme. This makes it harder than necessary to extend the class for different schemes. At this point in time I am subclassing from AdcMatrix in my fork, but that means there are properties on my class that represent no physical thing.My suggestion would be to use
singles
anddoubles
as properties (and use a format likeblock_singles_doubles_0(hf, mp, intermediates)
) and let those be subclassed for different schemes, because this terminology overlaps for all ADC schemes. As far as I am aware, the workflow would not even need major overhaul to support multiple schemes.I saw some remainders of a notation like this, but you have seemed to have stepped away from this, so it might also be the case that I am missing something that you found through the development process.
The text was updated successfully, but these errors were encountered: