Electronic superposition in ML-MCTDH

Hi Graham,

I am having a problem when trying to equally populate two states at the beginning of the dynamics with ML-MCTDH (5 electronic states, so the first layer reads 5 5) and I don’t seem to be able to get the correct populations. I remember you implemented this recently when James was doing the GC dimer for the Chem Eur paper.

This is my result with the Quantics version from August 18 2024 (GIT version: 73effaa), doing

A-coeff
1 (0.5,0)
2 (0.5,0)
end-a-coeff

the output file reads:

Mode expectation values and variances :
population :  0.72361 0.58541 0.00000 0.00000 0.00000
v6          : <q>=   0.0000  <dq>=   0.7071  <n>=   0.0000  <dn>=   0.0000
v8          : <q>=  -0.0000  <dq>=   0.7071  <n>=   0.0000  <dn>=   0.0000
v10         : <q>=   0.0000  <dq>=   0.7071  <n>=   0.0000  <dn>=   0.0000
v4          : <q>=   0.0000  <dq>=   0.7071  <n>=   0.0000  <dn>=   0.0000
v5          : <q>=   0.0000  <dq>=   0.7071  <n>=   0.0000  <dn>=   0.0000
v11         : <q>=   0.0000  <dq>=   0.7071  <n>=   0.0000  <dn>=   0.0000
v7          : <q>=  -0.0000  <dq>=   0.7071  <n>=   0.0000  <dn>=   0.0000
v9          : <q>=  -0.0000  <dq>=   0.7071  <n>=   0.0000  <dn>=   0.0000
v2          : <q>=  -0.0000  <dq>=   0.7071  <n>=   0.0000  <dn>=   0.0000
v3          : <q>=  -0.0000  <dq>=   0.7071  <n>=   0.0000  <dn>=   0.0000
v1          : <q>=  -0.0000  <dq>=   0.7071  <n>=   0.0000  <dn>=   0.0000
v12         : <q>=   0.0000  <dq>=   0.7071  <n>=   0.0000  <dn>=   0.0000

When I do MCTDH in the multi-set formalism, I get:

Time  =       0.00 fs,       CPU =       8.68 s,    Norm    = 1.00000000
 E-tot =  12.456057 eV,    E-corr =  11.155100 eV,   Delta-E =    -0.0000 meV

 state = 1  pop.: 0.50000000   E-corr:   4.862950 eV,   E-tot =   5.571239 ev
 state = 2  pop.: 0.50000000   E-corr:   6.292150 eV,   E-tot =   6.884817 ev
 state = 3  pop.: 0.00000000   E-corr:  -0.000000 eV,   E-tot =  -0.000000 ev
 state = 4  pop.: 0.00000000   E-corr:  -0.000000 eV,   E-tot =  -0.000000 ev
 state = 5  pop.: 0.00000000   E-corr:  -0.000000 eV,   E-tot =  -0.000000 ev

which seems correct.

I was trying to figure out what the indices meant from the “multi-index configuration” that is written in the log file and the documentation and I get:

index || branch1 || branch2   
1          1          1
2          2          1
3          3          1          
4          4          1
5          5          1
6          1          2       <----  a superposition 1 and 6 yields all the population in the GS again
7          2          2        <----  a superposition 1 and 7 yields populations 0.5 / 0.5 / 0.0 / etc
8          3          2        <---- a superposition 1 and 8 gives populations 0.5 / 0 / 0.5 / etc
9          4          2        <---- a superposition 1 and 9 gives populations 0.5 / 0 / 0 / 0.5 
a superposition of 1 (1 1) and 11 (1 3) gives all the population in the GS again
...

If I want to do a superposition of electronic states 1 and 2 it seems I have to do |1> + |7> to obtain the correct populations, however this makes the wavepacket vibrationally excited:

 Mode expectation values and variances :
population :  0.50000 0.50000 0.00000 0.00000 0.00000
v6          : <q>=   0.0956  <dq>=   0.9205  <n>=   0.3680  <dn>=   0.6270
v8          : <q>=   0.0807  <dq>=   0.7320  <n>=   0.0424  <dn>=   0.2015
v10         : <q>=   0.0256  <dq>=   0.7409  <n>=   0.0496  <dn>=   0.2170
v4          : <q>=   0.4012  <dq>=   1.0672  <n>=   0.4618  <dn>=   1.0826
v5          : <q>=   0.1926  <dq>=   0.9260  <n>=   0.3325  <dn>=   0.5724
v11         : <q>=   0.0496  <dq>=   0.8090  <n>=   0.1569  <dn>=   0.3637
v7          : <q>=   0.2477  <dq>=   0.8471  <n>=   0.2136  <dn>=   0.5242
v9          : <q>=   0.1408  <dq>=   0.7662  <n>=   0.1068  <dn>=   0.3089
v2          : <q>=   0.1405  <dq>=   0.8404  <n>=   0.2024  <dn>=   0.4659
v3          : <q>=   0.0311  <dq>=   0.7543  <n>=   0.0699  <dn>=   0.2549
v1          : <q>=   0.1410  <dq>=   0.7996  <n>=   0.1245  <dn>=   0.4138
v12         : <q>=   0.0787  <dq>=   0.7457  <n>=   0.0622  <dn>=   0.2416

So to me it seems that I should indeed do |1> + |2>. I tried with two systems with 5 states and I get the same populations (0.72361/0.58541) regardless of the number of modes. I am not sure whether there is a bug or it is me who is not understanding correctly how this works. I attach one test system in case you could take a look.

Hi Sandra,

I found a bug in the calculation of the state populations as printed in the output file. No idea why this has net been seen before and it was not there for Jams! Try the latest master.

You are correct in your reading of the multi-index. Each mode is incremented in turn as you show. This gives the tensor structure required for use.