Namespace qdk::chemistry::data::axes

namespace axes

Functions

const std::shared_ptr<const SpinValue> &alpha()

Interned shared spin-½ value with \(2 M_s = +1\).

Returns:

Reference to the global \(\alpha\) instance; safe to capture by shared_ptr.

const std::shared_ptr<const SpinValue> &beta()

Interned shared spin-½ value with \(2 M_s = -1\).

Returns:

Reference to the global \(\beta\) instance; safe to capture by shared_ptr.

SymmetryAxis spin(unsigned two_s, bool equivalent = true)

Build a spin axis carrying 2s+1 labels at \(2 M_s \in \{-2s, -2s+2, \ldots, +2s\}\).

For the standard single-particle (two_s = 1) case, this is the spin-1/2 axis with the two labels \(\alpha\) (2 M_s = +1) and \(\beta\) (2 M_s = -1).

Parameters:
  • two_s – Twice the total spin.

  • equivalent – Whether labels under this axis share storage (i.e. restricted-spin storage).

Returns:

A fully populated SymmetryAxis for the spin degree of freedom.

std::shared_ptr<const SpinValue> spin_value(int two_ms)

Construct a spin value carrying \(2 M_s = \) two_ms.

Parameters:

two_ms – Twice the spin projection. The standard interned values (alpha and beta) are returned when two_ms is +1 or -1 respectively.

Returns:

Shared pointer to the (possibly interned) spin value.