How to determine multideterminant coefficients ?

General discussion of the Cambridge quantum Monte Carlo code CASINO; how to install and setup; how to use it; what it does; applications.
zhaominjia
Posts: 7
Joined: Thu May 19, 2016 1:04 am

How to determine multideterminant coefficients ?

Post by zhaominjia »

Hi
I have some problems about multideterminant, so I want to get help from you. :D
In manual, at 64 page, it describes the multideterminant in detail. I understand that the coefficients of the determinants can be optimized. But I don’t know how to opt and determine the determinant coefficients. So refer to the example in manual, I try to do a DMC calculation . In the correlation.data and gwfn.data, 3 determinants can be used. I set the 3 determinant coefficients are 1, 0.3 and 0.7 randomly. Although result obtained is different from the result with a single Slater determinant, I can’t ensure my way is correct. So, I want to ask how to determine the determinant coefficients.
Thanks again for you.

Regards
MinjiaZhao
Mdeible
Posts: 13
Joined: Tue Jun 11, 2013 2:46 pm

Re: How to determine multideterminant coefficients ?

Post by Mdeible »

Hi MinjiaZhao,

You should have determinant coefficients from your trial wave function, like a CASSCF or CI calculation in Gaussian or GAMESS. These should be copied to the correlation.data file as shown in the manual. Then, run a VMC optimization calculation. These will give you the optimized determinants that you then use for DMC.

A good way to do this with CASINO is to run a vmc_opt calculation using variance minimization (varmin) without optimizing the determinant coefficients. Run several cycles to get reasonable cutoffs for the Jastrow factors. Then, fix the cutoffs and run several cycles of energy minimization (emin), optimizing the parameters of the Jastrow factors and the determinant coefficients simultaneously.

Good Luck!
Mike
zhaominjia
Posts: 7
Joined: Thu May 19, 2016 1:04 am

Re: How to determine multideterminant coefficients ?

Post by zhaominjia »

Hi Mike
OK,thank you for your reply.
In my work,as an example as H2, HF,B3LYP and VSXC methods with 6-311++g(3df,2pd) basis set are used in gaussian.So the generated gwfn.data don't contain multideterminant (see in accessory) . I try to use the CI method in gaussian to creat gwfn.data, but the gwfn.data doesn't contain information of multideterminan (see in accessory).
Thank you again!

Regards
MinjiaZhao
zhaominjia
Posts: 7
Joined: Thu May 19, 2016 1:04 am

Re: How to determine multideterminant coefficients ?

Post by zhaominjia »

zhaominjia wrote:Hi Mike
OK,thank you for your reply.
In my work,as an example as H2, HF,B3LYP and VSXC methods with 6-311++g(3df,2pd) basis set are used in gaussian.So the generated gwfn.data don't contain multideterminant . I try to use the CI method in gaussian to creat gwfn.data, but the gwfn.data doesn't contain information of multideterminan .
The gwfn.data about multideterminant is that MULTIDETERMINANT INFORMATION
----------------------------
GS
So I still have this question. Hope to get your opinion.
Thank you again!

Regards
MinjiaZhao
Mdeible
Posts: 13
Joined: Tue Jun 11, 2013 2:46 pm

Re: How to determine multideterminant coefficients ?

Post by Mdeible »

MinjiaZhao,

Well, for a simple system with few determinants, you can write the determinants by hand and pick reasonable coefficients. You'd then follow the same optimization scheme mentioned above. For any system with more than a few determinants, you need to figure out how to get determinates from your trial wave function generating code (ie, Gaussian).

The Gaussian to CASINO converter that comes with the CASINO distribution can read and convert determinants for some calculations (like CASSCF calculated with Gaussian 03). However, its an old converter and using it does not come without its difficulties. There are other converters that can read determinants floating around the community, but in lieu of having something like that, you may have to write your own. It depends on what kind of calculation you want to do to get your determinants, and what code you want to use to do it.

Best,
Mike
zhaominjia
Posts: 7
Joined: Thu May 19, 2016 1:04 am

Re: How to determine multideterminant coefficients ?

Post by zhaominjia »

Hi Mike
Thank you again! :D

Sincerely
MinjiaZhao
zhaominjia
Posts: 7
Joined: Thu May 19, 2016 1:04 am

Re: How to determine multideterminant coefficients ?

Post by zhaominjia »

Mdeible wrote:MinjiaZhao,

Well, for a simple system with few determinants, you can write the determinants by hand and pick reasonable coefficients. You'd then follow the same optimization scheme mentioned above. For any system with more than a few determinants, you need to figure out how to get determinates from your trial wave function generating code (ie, Gaussian).

The Gaussian to CASINO converter that comes with the CASINO distribution can read and convert determinants for some calculations (like CASSCF calculated with Gaussian 03). However, its an old converter and using it does not come without its difficulties. There are other converters that can read determinants floating around the community, but in lieu of having something like that, you may have to write your own. It depends on what kind of calculation you want to do to get your determinants, and what code you want to use to do it.

Best,
Mike
HI Mike
I'm sorry to trouble you. It's said that after varmin and emin opt, we obtain optimized parameters of the Jastrow factors and the determinant coefficients simultaneously. I want to ask that the obtained determinant coefficients are specific numbers ? and are different to values before optimizing?
Thank you!

Best
MinjiaZhao
Mdeible
Posts: 13
Joined: Tue Jun 11, 2013 2:46 pm

Re: How to determine multideterminant coefficients ?

Post by Mdeible »

Hi MinjiaZhao,

In general, for anything but the smallest system with only a few determinants, the coefficients won't optimize to a specific value. If they did, we would know the optimized coefficients a priori, and wouldn't need to run the optimization. The coefficients are optimized at the same time as the Jastrow factor, and hence should be different than those optimized without a Jastrow factor (ie, from your trial wave function.)

So no, they don't usually go to a specific number, and yes, they should be different. If this is not what you are seeing, I can think of two possibilities. First, technical problems, like forgetting to turn the "optimize coefficients" keyword from "false" to "true" in the input file, or forgetting to set the 'optimize' flag to '1' for the parameters in the MDET block of the correlation.data file. The second possibility is that you are studying such a small system that the determinants you get from your trial wave function are already optimal.

Regards,
Mike
zhaominjia
Posts: 7
Joined: Thu May 19, 2016 1:04 am

Re: How to determine multideterminant coefficients ?

Post by zhaominjia »

Mdeible wrote:Hi MinjiaZhao,

In general, for anything but the smallest system with only a few determinants, the coefficients won't optimize to a specific value. If they did, we would know the optimized coefficients a priori, and wouldn't need to run the optimization. The coefficients are optimized at the same time as the Jastrow factor, and hence should be different than those optimized without a Jastrow factor (ie, from your trial wave function.)

So no, they don't usually go to a specific number, and yes, they should be different. If this is not what you are seeing, I can think of two possibilities. First, technical problems, like forgetting to turn the "optimize coefficients" keyword from "false" to "true" in the input file, or forgetting to set the 'optimize' flag to '1' for the parameters in the MDET block of the correlation.data file. The second possibility is that you are studying such a small system that the determinants you get from your trial wave function are already optimal.

Regards,
Mike
Hi Mike
Thank you again!
I have tried to do it. I write 3 determinants in hand, the coefficients set as 1, 0.4, 0.6 respectively in correlation.data and gwfn.data. And the opt_flag set as 0, 1, 1 respectively. After optimizing, the Jastrow factors in correlation.data are fifferent, but the determinant coefficients also be 1, 0.4, 0.6 respectively whether the "optimize coefficients" keyword be "false" or "true" In the input file. The DMC results of the two kinds of cases are different, but the difference is slight. When I set the determinant coefficients to 1, 0.5 ,0.5 respectively , the same phenomenon will be appeared, and disparity of DMC results is small.
So I want to ask that the idea is true or not. The idea is that when I optimize determinant coefficients , the coefficients are no change, but the change incarnates that it corrects the Jastrow factors in correlation.data.
Thank you !

Regards
MinjiaZhao
Mdeible
Posts: 13
Joined: Tue Jun 11, 2013 2:46 pm

Re: How to determine multideterminant coefficients ?

Post by Mdeible »

Hi MinjiaZhao,

It may be true that optimizing the determinants simultaneously with the Jastrow factor will effect the parameters of the Jastrow factor. However, if this is the only effect you are seeing, it won't make any difference to the DMC energy. The Jastrow factor has no impact on the nodal structure, but the determinants coefficients do. So, if you optimize the coefficients and they don't change and only the JF changes, it will leave your DMC energy largely unchanged as well because each wave function will have the same nodal structure.

Mike
Post Reply