JuliaAtoms / AtomicLevels.jl

https://juliaatoms.org/AtomicLevels.jl
Other
12 stars 3 forks source link

Spin-orbitals string macros/ASCII representation #58

Closed jagot closed 3 years ago

jagot commented 5 years ago

What is a nice ASCII representation for spin up/down? These would be used for printing, but also for construction of spin-orbitals using string macros.

Ideas

Spin-orbitals always have degeneracy unity, so we never need to juxtapose an occupation number after the orbital string.

Non-relativistic spin-orbitals

For non-relativistic spin-orbitals we have the quantum numbers n, ell, m_ell, s=1/2, and m_s.

Spin up Spin down 2p w/ m_ell=0 & spin up Notes
^ v 2p0^
+ - 2p0+
a b 2p0a Consistent with α & β used in Unicode representation

Relativistic spin-orbitals

For relativistic orbitals, we instead have the quantum numbers n, ell, j = ell ± 1/2, and m_j. We already denote j = ell - 1/2 by minus (-) and j = ell + 1/2 by silence. How to tack m_j onto this?

I think the least ambiguous is n ell [-] (m_j), e.g.

Originally posted by @jagot in https://github.com/JuliaAtoms/AtomicLevels.jl/pull/55#issuecomment-534418416

mortenpi commented 5 years ago

I would vote for the ^ and v as it would be the most obvious in my opinion. For the relativistic ones, the parenthesis syntax is what I have resorted to when I have needed to write down fully qualified orbitals, so it also seems like a good choice to me.

jagot commented 5 years ago

Funnily enough, I sort of prefer a/b :), but I think we can support both in string macros, and use ^/v for ASCII printing. I agree it is more obvious.