-
Notifications
You must be signed in to change notification settings - Fork 2
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
Question on CCSD(aT) (aka Lambda-CCSD(T)) #54
Comments
I think the CCSD(T) implementation in
will be the difference between CCSD(T) and Lambda-CCSD(T), but not sure. I haven't paid much attention to CCSD(T), my implementation is not very efficient. I'll try to verify this and make Lambda-CCSD(T) it's own I've been spending some time improving my code generation scripts recently, so hopefully I can make CCSD(T) more efficient, and I will aim to also look at perturbative corrections to DCD and DCSD. Thanks for the suggestions! |
actually, correction, I haven't actually implemented CCSD(T) lambda equations since they need an additional perturbative term, so that won't work -- I'll add it to my to-do. |
Hej again! @Lambda-CCSD(T) Thanks for your prompt reply. To test your implementation, you might use a reference data on H2O available within PSI4. @cc3 To my personal experience, the CC3 is the most robust approach among CCSD perturbative triples correction. The CC3 does a fantastic job by absorbing an orbital relaxation (rotation) into T1. It just scales as O(N^7) at each iteration :) It is a bit surprising that CC3 implementation in EBCC requires a plenty of RAM (~500GB) even for moderate-sized problem such as 74 electrons and 211 molecular orbitals without symmetry. Indeed, PSI4 requires only ~20GB of RAM and 70GB of disk space for the same problem size. I will be waiting for your implementation of Lambda-CCSD(T) because Lambda-BCCD(T) might be reliable as CC3 but at a lower cost. Moreover, I have not found any published results on neither Lambda-DCSD(T) nor Lambda-DCBD(T). With best regards, |
I am not surprised to hear of the much worse memory requirements in It is an unfortunate reality of the very simple way that I have several ideas in the pipeline on how to make the larger ansatzes such as CC3 more tractable and hopefully more comparable to implementations such as Psi4's, including alternate tensor backends and generating compiled code. Sadly, |
After doing some reading, I realise that you can actually do CC3 without ever storing T3 amplitudes. Finding a way to automatically generate code like this for both CCSD(T) and CC3 is not easy, but will keep it in mind. Maybe this is an area where I should do some handwritten code rather than trying to automatic generate everything. |
Hej! @cc3 From a practical consideration, the CC3 method is a rather limited approach. You recently introduced the FNO approach in EBCC, but it would be beneficial to combine FNO-CC2 with CC3. Indeed, the CC2 still scales as N^5 but does a way better job than MP2 whereas CC3 surpasses CCSD(T). BTW, the CC3 always requires weeks when CCSD(T) just takes several hours to compute energy. @Lambda-CCSD(T) Generally speaking, Lambda-BCCD(T) might become as a method of choice for many problems, especially regarding 3d transition metal complexes where validity of CCSD(T) is under a question: With best regards, |
Thanks for the links and the notes on practicality -- I'll bear it in mind when deciding what to focus on. |
Hej!
Just a thought came to mind - it might be a killer feature if you combine the CC Brueckner orbitals with CCSD(aT):
In particular, it is worth thinking about BDCD(aT) as well.
With best regards,
Victor
The text was updated successfully, but these errors were encountered: