Skip to content
Pasqal Documentation

Occupation

class pulser.backend.Occupation(*, evaluation_times=None, one_state=None, tag_suffix=None)

Bases: Observable

Stores the occupation number of an eigenstate on each qudit.

For every qudit i, calculates <φ(t)|n_i|φ(t)>, where n_i = |one_state><one_state|.

Parameters:
  • evaluation_times (Sequence[float] | None, default: None) – The relative times at which to compute the correlation matrix. If left as None, uses the default_evaluation_times of the backend’s EmulationConfig.

  • one_state (Literal['u', 'd', 'r', 'g', 'h', 'x'] | Literal['0', '1'] | None, default: None) – The eigenstate to measure the population of. Can be left undefined if the state’s eigenstates form a known eigenbasis with a defined “one state”.

  • tag_suffix (str | None, default: None) – An optional suffix to append to the tag. Needed if multiple instances of the same observable are given to the same EmulationConfig.

Attributes

tag

Label for the observable, used to index the Results object.

uuid

A universal unique identifier for this instance.

Methods

apply

Calculates the observable to store in the Results.

Signatures

apply(*, state, hamiltonian, **kwargs)

Calculates the observable to store in the Results.

Return type:

list

property tag: str

Label for the observable, used to index the Results object.

Within a Results instance, all computed observables must have different tags.

Returns:

The tag of the observable.

property uuid: UUID

A universal unique identifier for this instance.