Multi-geminal wave functions

General discussion of the Cambridge quantum Monte Carlo code CASINO; how to install and setup; how to use it; what it does; applications.
Fan_Wang
Posts: 13
Joined: Fri Aug 15, 2014 8:55 am

Multi-geminal wave functions

Post by Fan_Wang »

The manual says "Geminal and multi-geminal wave function parameters are dened in the GEMINAL top-level block of
the parameters.casl le. More information about the specics of these wave functions and on the
format of the casl block is available on request."

I would like to try geminal wave function for some molecules with strong multireference character, but who should I ask for?

with best regards,

Fan
Pablo_Lopez_Rios
Posts: 53
Joined: Thu Jan 30, 2014 1:25 am

Re: Multi-geminal wave functions

Post by Pablo_Lopez_Rios »

Hi Fan,

Each geminal in the MAGP wave function requires norb x norb parameters and a global coefficient. So if you have two orbitals in your basis, you would specify a single-geminal wave function in parameters.casl as:

Code: Select all

 GEMINAL:
   Geminal 1:
     Parameters:
       c: [ 1.d0 , fixed ]
       g_1,1: [ 1.d0 , optimizable ]
       g_1,2: [ 0.d0 , optimizable ]
       g_2,1: [ 0.d0 , optimizable ]
       g_2,2: [ 1.d0 , optimizable ]
Input keywords opt_orbitals and opt_detcoeff control whether g_*,* and c are optimized.

The MAGP wave function was implemented as part of a PhD project in 2014 and, while it worked fine then in tests, it has seen little use since. Let us know if you encounter problems.

Best,
Pablo
Hey there! I am using CASINO.
Fan_Wang
Posts: 13
Joined: Fri Aug 15, 2014 8:55 am

Re: Multi-geminal wave functions

Post by Fan_Wang »

Dear Pablo,

Thanks very much for your help. Do you any example on using it?

I calculated reaction energy for O3 -> O + O2 using single-Slater-Jastrow wavefunction in DMC and the result is rather poor. With CASSCF-Jastrow wavefunction in DMC, the result is improved, but still unsatisfactory. I would like to try some other trial wavefunction such as JAGP in DMC.

with best regards,

Fan

Pablo_Lopez_Rios wrote:Hi Fan,

Each geminal in the MAGP wave function requires norb x norb parameters and a global coefficient. So if you have two orbitals in your basis, you would specify a single-geminal wave function in parameters.casl as:

Code: Select all

 GEMINAL:
   Geminal 1:
     Parameters:
       c: [ 1.d0 , fixed ]
       g_1,1: [ 1.d0 , optimizable ]
       g_1,2: [ 0.d0 , optimizable ]
       g_2,1: [ 0.d0 , optimizable ]
       g_2,2: [ 1.d0 , optimizable ]
Input keywords opt_orbitals and opt_detcoeff control whether g_*,* and c are optimized.

The MAGP wave function was implemented as part of a PhD project in 2014 and, while it worked fine then in tests, it has seen little use since. Let us know if you encounter problems.

Best,
Pablo
Pablo_Lopez_Rios
Posts: 53
Joined: Thu Jan 30, 2014 1:25 am

Re: Multi-geminal wave functions

Post by Pablo_Lopez_Rios »

Hi Fan,
Fan_Wang wrote: Do you any example on using it?
I'm afraid I don't.
With CASSCF-Jastrow wavefunction in DMC, the result is improved, but still unsatisfactory. I would like to try some other trial wavefunction such as JAGP in DMC.
Geminals and multigeminals remain very much untested. I would not expect to be able to get much off them though - you might be better off using some form of truncated CI expansion of a large-ish size, re-optimizing its coefficients in the presence of the Jastrow factor.

Best,
Pablo
Hey there! I am using CASINO.
Vladimir_Konjkov
Posts: 165
Joined: Wed Apr 15, 2015 3:14 pm

Re: Multi-geminal wave functions

Post by Vladimir_Konjkov »

Hello Pablo, Fan

I've tried to start geminal WFN calculation for Be atom involving 2p orbitals in geminal construction.
As input I want to use geminals in form described in https://aip.scitation.org/doi/10.1063/1.1503773
I use cc-pVDZ basis which has 14 orbitals for Be atom.

Code: Select all

GEMINAL:
   Geminal 1:
     Parameters:
       c: [ 1.d0 , fixed ]
       g_2,2: [ 0.95271200 , fixed ]
       g_3,3: [ -0.17381588 , fixed ]
       g_4,4: [ -0.17381378 , fixed ]
       g_5,5: [ -0.17378866 , fixed ]
but I've got an issue

ERROR : PARSE_GMAT_EL
Error while reading label g_3,3. The row index is larger than the total
number of orbitals allowed (2). Update the number of orbitals allowed in the
input file.
How could I update the number of "orbitals allowed" in the input file?
If I do not specify the g_*,* coefficient, its value will be set to 0 and optimization type to fixed, right? (This would be a useful option since fully spin-unrestricted geminals can always be reduced to diagonal form and upon optimization I don`t wont to break this)
Fan_Wang wrote: I would like to try geminal wave function for some molecules with strong multireference character.
Brilliant idea. What active space did you choose for the ozone in CASSCF?

Best Vladimir.
In Soviet Russia Casino plays you.
Pablo_Lopez_Rios
Posts: 53
Joined: Thu Jan 30, 2014 1:25 am

Re: Multi-geminal wave functions

Post by Pablo_Lopez_Rios »

Hi Vladimir, Fan,

Regarding the use of geminals, please have a look at Pascal Bugnion's thesis, which I've placed at https://www.tcm.phy.cam.ac.uk/~pl275/do ... thesis.pdf. Besides describing the CASINO implementation, he looks at the use of geminals for the homogeneous electron gas (see chapters 5 and 6). There are interesting conclusions here; in particular, the single-geminal wave function provides a rather small improvement to the DMC energy over using HF nodes, especially at larger system sizes, but a multi-geminal wave function based on a CI-doubles expansion is much better in this regard (but note that the number of terms in it grows quickly with system size).

I should point out that for the 14-electron gas considered in the thesis one can get better VMC and DMC energies with a truncated CI containing less than 400 determinants (~ 10 optimizable coefficients) than with the multigeminals. This is why I said earlier that I would expect a truncated CI to be a better option than MAGP - but of course each system is a separate story..
How could I update the number of "orbitals allowed" in the input file?
Ok, this is a bug. The MAGP wave function in CASINO has only been used with electron gas orbitals, and for Gaussian orbitals the basis is mistakenly trimmed to the number of electrons (as one would do for a single-Slater-determinant wave function). I'll submit a patch for this shortly.
If I do not specify the g_*,* coefficient, its value will be set to 0 and optimization type to fixed, right? (This would be a useful option since fully spin-unrestricted geminals can always be reduced to diagonal form and upon optimization I don`t wont to break this)
There are indeed keywords in the CASL block to control this:

Code: Select all

GEMINAL:
  Default g optimizability : fixed
  Default c optimizability : optimizable
  Geminal 1:
    ...
Hey there! I am using CASINO.
Vladimir_Konjkov
Posts: 165
Joined: Wed Apr 15, 2015 3:14 pm

Re: Multi-geminal wave functions

Post by Vladimir_Konjkov »

Pablo_Lopez_Rios wrote:Hi Vladimir
How could I update the number of "orbitals allowed" in the input file?
Ok, this is a bug. The MAGP wave function in CASINO has only been used with electron gas orbitals, and for Gaussian orbitals the basis is mistakenly trimmed to the number of electrons (as one would do for a single-Slater-determinant wave function). I'll submit a patch for this shortly.
Hello Pablo.

Yes, thanks, it will be interesting to check by generating input data in the QCHEM program as described in https://www.q-chem.com/qchem-website/ma ... t0042.html
I will attach the corresponding example after bugfix.

Vladimir.
In Soviet Russia Casino plays you.
Pablo_Lopez_Rios
Posts: 53
Joined: Thu Jan 30, 2014 1:25 am

Re: Multi-geminal wave functions

Post by Pablo_Lopez_Rios »

Hi Vladimir, Fan,

I've just submitted a patch to enable geminal support for gaussian/plane-wave/blip orbitals. It was quite a bit more work than I anticipated, with the geminal.f90 module requiring a number of bugfixes.

There is a new autotest example under examples/TEST/Input/be_geminal/opt (based on Vladimir's example) whose parameters.casl file you might want to use as template/reference for your calculations when the patch lands.

Best,
Pablo
Hey there! I am using CASINO.
Fan_Wang
Posts: 13
Joined: Fri Aug 15, 2014 8:55 am

Re: Multi-geminal wave functions

Post by Fan_Wang »

Thank you very much for your effort. I will try it.

with best regards,

Fan
Pablo_Lopez_Rios wrote:Hi Vladimir, Fan,

I've just submitted a patch to enable geminal support for gaussian/plane-wave/blip orbitals. It was quite a bit more work than I anticipated, with the geminal.f90 module requiring a number of bugfixes.

There is a new autotest example under examples/TEST/Input/be_geminal/opt (based on Vladimir's example) whose parameters.casl file you might want to use as template/reference for your calculations when the patch lands.

Best,
Pablo
Pablo_Lopez_Rios
Posts: 53
Joined: Thu Jan 30, 2014 1:25 am

Re: Multi-geminal wave functions

Post by Pablo_Lopez_Rios »

Patch now available in current beta.

Best,
Pablo
Hey there! I am using CASINO.
Post Reply