Closed Vanimiaou closed 2 years ago
Hello @Vanimiaou
Thank you for your question. States in _energyLevels
are not ordered in any specific way relative to the basis state, because these are just eigen values (i.e. energy levels) obtained in diagonalization of the Stark Hamiltonian. Also, when you do such an export of data, you don't have exported full eigen state decomposition. I don't know if data that is saved there is enough for your needs: if you need to know for a given electric field what is full decomposition to basis states, use method the second method here. You have two options (depending on what you want to achieve)
if you just want to know what is the contribution of original state to the given eigen state, that is given by _highlight
. That is proportional to |< target state | eigen state>|^2 overlap, and they are given in the order of the corresponding eigen states. For example, for small electric field, by finding state with a largest overlap with the target state for each electric field value, you can extract state that is adiabatically connected to target state when going into limit of electric field -> 0. NOTE: for stronger E fields, it is not enough just to look at the state with largest overlap with the target state; instead you should for each increasing step in electric field find eigen state whose overlap with the adiabatically-connected target state (calculated for the previous electric field value) is the largest.
If you need to know full state composition to build your own custom calculations, you can acces them as stated under Advanced interfacing of Stark map calculations (StarkMap class) example section in StarkMap documentation . That explains how to get a Hamiltonian matrix for given field, and basis. You can just calculate eigen vectors and get full information. There is example of building one such custom calculation in example notebook, under Calculation-of-dipole-matrix-elements-between-states-in-static-electric-field section.
I hope this helps!
Thank you very much for your help, I'll look into the reference you've sent
Can I ask another question, I have already use calc.mat1 and calc.mat2 and get the eigenvalues from it, I have seen in your source code you have sorted them in the diagonalization, what would this order be for? Sorry for bothering again, thank you very much
@Vanimiaou Sure. Can you point me to exact line when I do sorting? What I have checked now, I don't see any sorting. But maybe I forgot and there is something.
Thank you very much for your reply, I must have read it wrong, sorry for bothering !
No problems. If you have any questions, feel free to add them to Discussions section we have now.
Hello,
I am writing because I have a mismatch index problem. For example, for Cesium atom with
n1=29
,l1=3
,j1=3.5
, andmj1=0.5
, when I run the following calculation examplethe exportData() exporting 3 files ended with
_eField
,_energyLevels
and_highlight
, the last two files with each row corresponding to eigenstates for a single specified electric field. But the index of these rows does not match the exported basisStates(). For example the original state coupled index is 349 in the basisState but at electric field = 0, it matches with index 363 in the exporting files for highlight and energyLevels. Can I ask how can I get the correct ordering for this ?Thank you very much!