--
You received this message because you are subscribed to the Google Groups "cp2k" group.
To post to this group, send email to cp...@googlegroups.com.
To unsubscribe from this group, send email to cp2k+uns...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/cp2k?hl=en.
The real problem is not in the basis set itself but in how the population analysis is computed in CP2K.
Diagonalizing S to evaluate S**(1/2) is probably not the smartest thing to do.
There are ways to evaluate S**(1/2), definitely numerically more stable, that would allow to have meaningful population analysis even with these "problematic" basis sets (although I still think that it's not the basis set itself to be problematic, rather the computational scheme used).
Best,
Teo
maybe yes - maybe no -
I did not look into the condition number of that matrix -
A definitive answer (and not just assumptions like mines or yours) would be confirmed or discarded by a more serious check.
Best,
Teo
Ok - in this case, if you checked already before your first post, why mention linear dependencies and problems with diagonalization? These are pure numerical issues that can be solved skipping the diagonalization of S to evaluate S**(1/2).
Best
Teo
---------------------------------------------
Teodoro Laino
Zurich Switzerland
Contact info:
Tel.: http://www.jajah.com/Teo
E-mail: teo...@laino.eu
teodor...@gmail.com
---------------------------------------------
I do not agree : there several cases where diagonalization of S (done to compute functions of S) leads to huge numerical noise on the eigenvalues (due to almost linear dependencies of the C vectors) - with only 1-2 significant digits if you work in double precision - whether this is that case or not, I cannot say. I trust what you said: if you checked than for sure this is not that case.
Nonetheless, for peculiar cases (numerically speaking) skipping the diagonalization of S is the way to go to compute functions of S.
Best
Teo
---------------------------------------------
Teodoro Laino
Zurich Switzerland
Contact info:
Tel.: http://www.jajah.com/Teo
E-mail: teo...@laino.eu
teodor...@gmail.com
---------------------------------------------
I focused on this "purely technical issues" because of your original reply. "Just to recall it":
>>>>>>>> The MOLOPT basis sets include
>>>>>>>> relatively small exponents which might cause linear dependencies in
>>>>>>>> the overlap matrix. The Lowdin population analysis requires the
>>>>>>>> calculation of S**(1/2) which involves (in CP2K) a diagonalisation of
>>>>>>>> the overlap matrix. However, an ill-conditioned overlap matrix will
>>>>>>>> most likely result in a weird charge partition.
the fact that an ill-conditioned overlap matrix will most likely result in a weird charge partition IS a purely technical issue.
A more robust scheme? It's easy: just do an SVD of the C matrix. The condition number of S is the square of the condition number of C.
This means that a condition number of 10^-14 in S, is only 10^-7 in C. This is by far numerically more stable if you work in double precision.
Hope this helps you.
Best,
Teo