Verify the expression: C.transpose * S * C = I


Clicked A Few Times
Hi,

By reading the previous posts, I know that the Molecular orbitals after hf or dft calculation are orthonormal, but eigenvectors probably not. The following relation can be verified:
C.transpose * S * C = I
(C is the eigenvector, and S is the overlap matrix between atomic orbitals.)

I code up some scripts to extract the matrix from NWChem, and try to verify this expression.
1. I turn on the command "print "overlap"" in input NWChem script, then write up a script to extract the overlap matrix from the output.
2. I use the utility mov2asc to extract the eigenvectors from the .movecs file.
3. Use the C and S obtained in previous two steps to verify the above relation.

Following the above steps, I failed to get the identity matrix by evaluating C.transpose * S * C.

What is the possible problem of my procedure?
Does anyone can give some suggestions about this?

Forum Vet
Quote:Alexx Jul 15th 6:47 am
Hi,


1. I turn on the command "print "overlap"" in input NWChem script, then write up a script to extract the overlap matrix from the output.

The correct print instruction for dumping the overlap matrix is

print "ao overlap"

"print overlap" will print the overlap integrals, instead.

Cheers, Edo

Clicked A Few Times
Hi, Edo

I can verify the expression for the single atom now. But I still can't get it right for the molecules like H2O.
For water molecule, the diagonal elements of C.transpose*S*C are all ones, but for some off-diagonal elements, the value is not zero, some of which are even around 0.0001.
For heavy molecules like uranium compounds, some off-diagonal elements are even bigger, around 0.1

Can you give some hints about this?






Quote:Edoapra Jul 18th 5:43 pm
Quote:Alexx Jul 15th 6:47 am
Hi,


1. I turn on the command "print "overlap"" in input NWChem script, then write up a script to extract the overlap matrix from the output.

The correct print instruction for dumping the overlap matrix is

print "ao overlap"

"print overlap" will print the overlap integrals, instead.

Cheers, Edo

Forum Vet
Increase number of digits in Overlap Matrix printout
Alexx
Have you tried to increase the number of digits in the Overlap Matrix printout
as suggested in

http://nwchemgit.github.io/Special_AWCforum/st/id910/more_significant_digits.html

Clicked A Few Times
Hi,

I find that "print overlap" prints overlap matrix elements, which does the same thing as "print ao overlap" does, and "print overlap" prints overlap elements with more precision, which is 8 digits.
Do I need even more digits to do that?

thanks,



Quote:Edoapra Aug 12th 10:58 am
Alexx
Have you tried to increase the number of digits in the Overlap Matrix printout
as suggested in

http://nwchemgit.github.io/Special_AWCforum/st/id910/more_significant_digits.html

Forum Vet
How many digits do you have for the eigenvectors?

Cheers, Edo

Clicked A Few Times
Hi, Edo !

The number of digits for the eigenvectors is 15.

Below is a small section of the output:

  -0.182031731624931E-04   -0.103280786104367E-04   -0.315402471342734E-04
-0.381586117380476E-04 -0.789728509277435E-04 -0.872883749498206E-04
-0.462811845480190E-04 0.223511333780241E-03 0.696050502583492E-03
-0.110518876210707E-03 -0.209263633645397E-02 0.141537941674604E-03
0.636958647241003E-02 -0.655655688213226E-02 -0.109112070692797E-02



thanks,


Quote:Edoapra Aug 12th 1:31 pm
How many digits do you have for the eigenvectors?

Cheers, Edo


Forum >> NWChem's corner >> NWChem functionality