AngularMomentum#

class AngularMomentum(num_spatial_orbitals, overlap=None)[source]#

Bases: object

The AngularMomentum property.

The operator constructed by this property is the $S^2$ operator which is computed as:

\[S^2 = (S^+ S^- + S^- S^+) / 2 + S^z S^z\]

Warning

If you are working with a non-orthogonal basis, you _must_ provide the overlap attribute in order to obtain the correct expectation value of this observable. Refer to the more extensive documentation of the s_operators module for more details.

See also

The following attributes can be set via the initializer but can also be read and updated once the AngularMomentum object has been constructed.

num_spatial_orbitals#

the number of spatial orbitals.

Type:

int

Parameters:
  • num_spatial_orbitals (int) – the number of spatial orbitals in the system.

  • overlap (np.ndarray | None) – the overlap-matrix between the $alpha$- and $beta$-spin orbitals. When this is None, the overlap-matrix is assumed to be identity.

Attributes

overlap#

The overlap-matrix between the $alpha$- and $beta$-spin orbitals.

When this is None, the overlap-matrix is assumed to be identity.

Methods

interpret(result)[source]#

Interprets an EigenstateResult in this property’s context.

Parameters:

result (qiskit_nature.second_q.problems.EigenstateResult) – the result to add meaning to.

second_q_ops()[source]#

Returns the second quantized angular momentum operator.

Returns:

A mapping of strings to FermionicOp objects.

Return type:

Mapping[str, FermionicOp]