Skip to content
Pasqal Documentation

CorrelationMatrix

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

Bases: Observable

Stores the correlation matrix for the current state.

The correlation matrix is calculated as [[<φ(t)|n_i n_j|φ(t)> for j in qubits] for i in qubits] where n_k = |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 in the correlation matrix. 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[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.