[CP2K-user] [CP2K:21933] Re: Real space representation of S and KS matrices with k-points

Dmitry Ryndyk dmitry.ryndyk at tu-dresden.de
Wed Oct 29 15:21:43 UTC 2025


Meanwhile, I found a very strange problem with the real space matrix images 
themselves.
As an example, a very simple system of a 1D H array, with 4 atoms in the 
unit cell (input file in attachment).
The coordinates are
    &CELL
      ABC    16.0 16.0 6.0
      PERIODIC xyz
    &END CELL
    &COORD
      H        0.00000000       0.00000000       0.00000000 
      H        0.00000000       0.00000000       1.50000000 
      H        0.00000000       0.00000000       3.00000000 
      H        0.00000000       0.00000000       4.50000000 
    &END COORD

The 5 RS image cells are
S CSR write|   5 periodic images
      Number    X      Y      Z
         1      0      0      0
         2      0      0     -1
         3      0      0      1
         4      0      0     -2
         5      0      0      2

and the 0,0,0 image for S overlap is (all other in attachment)

       1       1  0.10000000000000E+001
       1       2  0.39126534955779E+000
       1       3  0.39734112631705E-001
       1       4  0.39126534955779E+000
       2       1  0.39126534955779E+000
       2       2  0.10000000000000E+001
       2       3  0.39126534955779E+000
       2       4  0.39734112631705E-001
       3       1  0.39734112631705E-001
       3       2  0.39126534955779E+000
       3       3  0.10000000000000E+001
       3       4  0.12433452435606E-002
       4       1  0.39126534955779E+000
       4       2  0.39734112631705E-001
       4       3  0.12433452435606E-002
       4       4  0.10000000000000E+001

As one can see, the values of S correspond to the atom positions in order
4 1 2 3
not
1 2 3 4
as I assume to be correct.

If one makes only one RS image, e.g., taking 
ABC    16.0 16.0 16.0
in the input file, the file looks correct.

       1       1  0.10000000000000E+001
       1       2  0.39126534955779E+000
       1       3  0.39734112631705E-001
       1       4  0.12433452435606E-002
       2       1  0.39126534955779E+000
       2       2  0.10000000000000E+001
       2       3  0.39126534955779E+000
       2       4  0.39734112631705E-001
       3       1  0.39734112631705E-001
       3       2  0.39126534955779E+000
       3       3  0.10000000000000E+001
       3       4  0.39126534955779E+000
       4       1  0.12433452435606E-002
       4       2  0.39734112631705E-001
       4       3  0.39126534955779E+000
       4       4  0.10000000000000E+001

Here (1,4) and (4,1) matrix elements are the smallest.

Besides, this "cyclic shift" depends on k-points and the linear shift of 
atom coordinates.
Even if it does not change k-point calculations itself, it can be important 
in other problems.
Actually, I found this problem in "NEGF" transport systems, where it is 
important.
At the moment, I have not found the origin of this problem.


Dmitry Ryndyk schrieb am Dienstag, 28. Oktober 2025 um 11:13:35 UTC+1:

Dear Augustin,

thank you for the fast answer. It helps me to understand what is going on!

Best wishes,
Dmitry

Augustin Bussy schrieb am Dienstag, 28. Oktober 2025 um 11:11:38 UTC+1:

For clarity: Both the S and KS matrices are Hermitian in *k-space*, but in 
real space, we have: S_ij^*b* = S_ji^-*b*

On Tuesday, 28 October 2025 at 10:57:55 UTC+1 Augustin Bussy wrote:

Dear Dimitry,

Dealing with CP2K's real space matrices in k-point calculations can be 
quite challenging. In principle, it follows equations (10) and (11) of 
https://arxiv.org/pdf/2508.15559. Elements i of the 
qs_env%ks_env%matrix_s_kp array contains real space overlap matrix elements 
between AOs in the main cell, and AOs in periodic image with index i. The 
indexing of periodic images is that imposed by the neighbor lists.

For historical reasons, the KP overlap and KS matrices are stored as DBCSR 
*symmetric* types, even though they are not symmetric. That's where it gets 
complicated. Both the S and KS matrices are Hermitian, and they have the 
following symmetry: S_ij^*b* = S_ji^-*b*, where *b* denotes the translation 
from the main cell to a given periodic image.
If you have access to the upper diagonal of a real space matrix with one AO 
in a periodic cell shifted by *b*, and that of a real space matrix with an 
AO shifted by -*b*, then you can reconstruct the full, asymmetric, real 
space matrix at *b*.

In the code, this operation is done when performing Fourier transforms real 
space to k-space. For example here: 
https://github.com/cp2k/cp2k/blob/5f3bc36082e75c975caee6a92073f395a2af7674/src/kpoint_methods.F#L855-L864
.

I hope that helps.
Best,
Augustin
On Tuesday, 28 October 2025 at 01:38:16 UTC+1 Dmitry Ryndyk wrote:

Dear developers,

I would greatly appreciate it if you could provide me with the reference to 
the exact description of the real space S and KS matrices, stored 
in qs_env%ks_env%matrix_ks_kp and qs_env%ks_env%matrix_s_kp.
I mean not the details of DBCSR matrices, but the way the matrix elements 
are placed inside the matrices.
My test calculations, as well as some code investigation, show that these 
matrix elements are mixed between space replicas ("images") used at k-point 
calculations, and some rearrangement is required to get normal symmetrical 
matrices, which depend on the atomic indices. 

Thank you,
Dmitry

-- 
You received this message because you are subscribed to the Google Groups "cp2k" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cp2k+unsubscribe at googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/cp2k/30f85300-5a51-438a-80e3-317598a447ddn%40googlegroups.com.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cp2k.org/archives/cp2k-user/attachments/20251029/23479f4d/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: H4_kp-S_SPIN_1_R_1-1_0.csr
Type: application/pkcs10
Size: 640 bytes
Desc: not available
URL: <https://lists.cp2k.org/archives/cp2k-user/attachments/20251029/23479f4d/attachment.p10>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: H4_kp-S_SPIN_1_R_2-1_0.csr
Type: application/pkcs10
Size: 640 bytes
Desc: not available
URL: <https://lists.cp2k.org/archives/cp2k-user/attachments/20251029/23479f4d/attachment-0001.p10>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: H4_kp-S_SPIN_1_R_5-1_0.csr
Type: application/pkcs10
Size: 640 bytes
Desc: not available
URL: <https://lists.cp2k.org/archives/cp2k-user/attachments/20251029/23479f4d/attachment-0002.p10>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: H4_kp-S_SPIN_1_R_4-1_0.csr
Type: application/pkcs10
Size: 640 bytes
Desc: not available
URL: <https://lists.cp2k.org/archives/cp2k-user/attachments/20251029/23479f4d/attachment-0003.p10>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: H4_kp.inp
Type: chemical/x-gamess-input
Size: 2302 bytes
Desc: not available
URL: <https://lists.cp2k.org/archives/cp2k-user/attachments/20251029/23479f4d/attachment.inp>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: H4_kp-S_SPIN_1_R_3-1_0.csr
Type: application/pkcs10
Size: 640 bytes
Desc: not available
URL: <https://lists.cp2k.org/archives/cp2k-user/attachments/20251029/23479f4d/attachment-0004.p10>


More information about the CP2K-user mailing list