-
Notifications
You must be signed in to change notification settings - Fork 30
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
Issue with Configuration Basis Output Using csf_solver #124
Comments
Also, when I increased the basis set (going from sto-3g to 6-31g) I got this
|
You can get the no of csf, and no of determinant like this mc= mcscf.CASCI(rhf, norb, nelec) #CSF = mc.fcisolver.transformer.ncsf |
Can you set the mol.max_memory ? |
You can't really check the number of CSF's "before diagonalization" (i.e., before the kernel call) because PySCF's FCI solvers are designed to take the number of orbitals and electrons as kernel arguments, not as object attributes, so the necessary information isn't available before running the kernel. However I just did some stuff in the dev branch that might help you out (see https://github.com/MatthewRHermes/mrh/blob/dev/examples/csf/csf_fci.py). As for the integer overflow, this might be related to some numpy 2.0 promotion changes in the pipeline that I haven't seen yet. I modified the relevant code to hopefully make it more robust to this. Hopefully you were not overflowing 64-bit integers because that would imply at least a 74 million terabyte array, although I imagine that if that happened then numpy would complain. As you might have gathered, the CSF solver is memory-inefficient (#48) and for low-spin wave functions it becomes unusable around (16e,16o). |
Hello, Thank you a lot for your replies. I have forked your master and dev branches, and here are my findings:
gives the same number of CSF compared to GAMESS using GUGA and symmetry features (NCSF = 2210880) and also energy.
Notice the difference in ncsf. My understanding is that the counting of configurations is not done in the same space, correct? One seems to be in the RI space, and the other in the configuration space. Can you please confirm if this is the case?
Could you please help clarify these points or suggest any solutions to improve performance and compatibility? I really appreciate your time and assistance! Thank you once again for your support. |
Computing the number of single CSFs by hand gives me 8,836,464, as in your second example. In your first example, were you using point group symmetry? If you used symmetry for the first case but not for the second then it would make sense that the results would differ and that the second case would take much longer. Otherwise I'm not sure where 2,210,880 comes from. I'm not aware of any interface PySCF's selected CI solver at the moment. |
Hello, You’re absolutely right, I had the symmetry on. Now it makes more sense. I solve my issue Best |
Hello,
I would like to perform a configuration basis CASCI calculation with PySCF on methane's ground state and hence use your csf_solver. Below is the relevant part of my script:
However, I am not seeing any differences in the output compared to the native PySCF output, even though I set the verbosity level quite high. and my output shows:
It seems like I might be missing something. Specifically, I would like to print the number of configurations before the CI-matrix diagonalization, similar to how GMESS does it, e.g.:
THE WAVEFUNCTION CONTAINS 2210880 WALKS (CSF-S).
This would help me compare and ensure that my PySCF+MRH input (and hence output) is correct.
Thank you!
The text was updated successfully, but these errors were encountered: