quchip.engine.pulse_space

Invariant excitation spaces for deterministic evolution.

Coordinates are product energy labels. Support proofs ignore scalar values; unknown support never supplies an exact reduction.

Functions

initial_totals(chip, state, resolution[, cutoff])

Return the excitation totals that a given initial state occupies, or None when unknown.

plan_pulse_space(chip, operations, states, ...)

Prove a union of total-index sectors invariant under the complete generator.

Classes

PulseSpace(dims, labels, totals, levels, bases)

class quchip.engine.pulse_space.PulseSpace(dims: 'tuple[int, ...]', labels: 'tuple[str, ...]', totals: 'tuple[int, ...]', levels: 'np.ndarray', bases: 'Any')[source]

Bases: object

dims: tuple[int, ...]
labels: tuple[str, ...]
totals: tuple[int, ...]
levels: ndarray
bases: Any
classmethod create(dims, labels, totals, bases)[source]
property size
property solver_dims
property rows
entries(backend, operator, support)[source]

Return the rows, columns and values of a resolved local operator on this space.

embed(backend, operator, support)[source]

Gather a resolved local operator without a product-space allocation.

The backend chooses the storage of the result.

authored(backend, operator, support)[source]

Lower a factored authored sum directly into energy coordinates.

lift(state, backend)[source]

Expand a state into captured solver coordinates, after a memory check.

project(state, backend)[source]

Project an already allocated native solver state into these coordinates.

reduced(state, backend, axes)[source]

Trace out spectators directly, preserving inter-sector coherence.

quchip.engine.pulse_space.initial_totals(chip, state, resolution, cutoff=None)[source]

Return the excitation totals that a given initial state occupies, or None when unknown.

The planner places labels and an omitted state, which are dressed states. With cutoff, a state with more than round-off weight on totals above it raises, and only totals up to the cutoff are returned.

quchip.engine.pulse_space.plan_pulse_space(chip, operations, states, resolution, approximation, dissipation, *, whole=False)[source]

Prove a union of total-index sectors invariant under the complete generator.

Returns the space, the reason, and the boundary totals. Under an active excitation cutoff K, every step of the closure stays inside [0, K], unknown support uses every label with N <= K, and the product space is never used. whole selects that cutoff space after the initial states are checked. The boundary holds the retained totals that a generator change can move above K, or is None when the changes are unknown or no cutoff is active.