dipole_mat_elem_fix#219
Open
allaquan wants to merge 1 commit into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hello,
I changed the "getDipoleMatrixElement" function, as when I was using it some results would differ by -1. This is because the notation / documentaiton for initial and final states are flipped. For example on the website:
transition 5 S_{1/2} m_j=-0.5 -> 5 P_{3/2} m_j=-1.5
for laser driving sigma- transition
print(atom.getDipoleMatrixElement(5,0,0.5,-0.5,5,1,1.5,-1.5,-1))
Here the initial states, (5,0,0.5,-0.5) should be on the right side i.e. the ket, whereas the final states (5,1,1.5,-1.5) should be on the left side i.e. the bra, however using this notation the ordering is flipped which causes an additional -1 factor.
Consequently, the matching q should also be multiplied by -1 to make it work with the function "getSphericalDipoleMatrixElement"
In theory, q should not be multiplied by -1, however the "getSphericalDipoleMatrixElement" function is implemented (I believe) incorrectly when compared to the Wigner Eckart theorem, as the q should not be negative in the expression
return (-1) ** (j1 - mj1) * Wigner3j(j1, 1, j2, -mj1, -q, mj2)
However, I thought it was best not to alter that function since there were many dependencies on it, and I did not want to break other parts of the code that might have already accounted for this alteration.
Thanks