New to version 12, one can retrieve a really extensive data base entities about chemical elements. It is initiated via


For example, to get the electron configuration for atomic hydrogen, do:

ElementData[Entity["Element", "Hydrogen"], "ElectronConfigurationString"]

I couldn't find anywhere in the documentation an explanation about how to write down properly the electron configuration.

It turns out to be a string that has a specific structure, as here:

Entity["AtomicLevel", "Hydrogen::1::001001.001.000001"]

Can anyone direct me there?

In addition, I am asking for help for retrieving the atomic term symbol for the representation of electronic states. In particular, the second excited state (n=2) of an electron with l=1 and m=+1 in the hydrogen atom:

$\left| n,\ell,m\right>=\left| 2,1,+1\right>$

(also written as the 2p m=1 electron state).

Its Term Symbol, from what I saw in books, is

$_{ }^{2}\textrm{P}_{3/2}$

How do I use Mathematica's Entity key,value interface to get this term symbol?

An example for the use of the term symbol as an entity property is this:

Entity["Element", "Hydrogen"][EntityProperty["Element", "TermSymbol"]]

Thanks a lot!

  • 1
    $\begingroup$ If you want to see all the possible data for a given "AtomicLevel", you can do Entity["AtomicLevel", "Hydrogen::1::001001.001.000001"]["Association"]. That number after the name seems to be the NIST identification number + the ionization level or something $\endgroup$
    – b3m2a1
    Apr 26, 2021 at 18:37
  • $\begingroup$ @b3m2a1 Thanks a lot for this comment. But, I couldn't find any mention to such standard notation about the identification number in nist.gov website. The closest I surfed to is this compendium, but nothing about this number system there. Can you comment with a link? $\endgroup$
    – tush
    Apr 26, 2021 at 19:28
  • 1
    $\begingroup$ It's clearly related to the Atomic Spectrum Database (see: reference.wolfram.com/language/ref/…) but I can't exactly figure out... $\endgroup$
    – b3m2a1
    Apr 26, 2021 at 19:45
  • 1
    $\begingroup$ I'm also not entirely sure I trust Mathematica's data. Some of it seems to be inconsistent with what NIST seems to have which might mean they pulled the wrong data $\endgroup$
    – b3m2a1
    Apr 26, 2021 at 19:55
  • 1
    $\begingroup$ Something like this? In[38]:= SpectralLineData[ <| "Element" -> Entity["Element", "Hydrogen"], "IonizationLevel" -> 1, "PrincipalN" -> 2, "OrbitalL" -> 1, "SpinS" -> 1/2, "JValue" -> 3/2|>, "TermSymbol"] Out[38]= ^2Subscript[P, 3/2]? $\endgroup$
    – chuy
    Apr 27, 2021 at 16:28

1 Answer 1


I consulted the Wolfram Technical support and learned that the information is encoded in the following form:

element::ionization(where 1 is neutral)::XXX(atomic number)YYY(ionization level again)..AAA.(neutron number).ZZZZZZ(level ordered by energy, i.e. starting from one, 000001, and counting up)

for hydrogen.

For other atoms, use the following:

element::ionization(where 1 is neutral)::XXX(atomic number)YYY(ionization level again).ZZZZZZ(level ordered by energy, i.e. starting from one, 000001, and counting up)

The extra digits (the former) indicate the number of neutrons in the isotope. Such information is only included when isotope data is available. For average atomic data, use the latter form.


Entity["AtomicLevel", "Hydrogen::1::001001.001.000001"]
Entity["AtomicLevel", "Helium::1::002001.000001"]
Entity["AtomicLevel", "Lithium::1::003001.000001"]

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.