quchip.engine.sampling

Automatic output sampling over captured physics, separate from solver steps.

Functions

automatic_tlist(problems, *[, combine])

Sample the union of features at the fastest necessary rate across points.

interval_bounds(tlist)

sample_problems(problems)

Give equal-duration points one adequate grid, and keep distinct intervals.

signal_feature_times(signal)

signal_features(signal[, offsets])

Return each feature's local times and the clock offsets above it.

Classes

AutomaticTimeGrid(stop)

Internal interval intent, replaced by an array before a request escapes.

class quchip.engine.sampling.AutomaticTimeGrid(stop)[source]

Bases: object

Internal interval intent, replaced by an array before a request escapes.

stop: float
property bounds: tuple[float, float]
quchip.engine.sampling.interval_bounds(tlist)[source]
quchip.engine.sampling.signal_features(signal, offsets=(0.0,))[source]

Return each feature’s local times and the clock offsets above it.

The offsets are the cumulative shifts from the caller’s clock, starting at zero. The last offset places the local times in absolute time. Each local time is float64 and lies on the clock where signal evaluation compares it.

quchip.engine.sampling.signal_feature_times(signal)[source]
quchip.engine.sampling.automatic_tlist(problems, *, combine=False)[source]

Sample the union of features at the fastest necessary rate across points.

Matrix norm bounds cover coherent and dissipative evolution. Local envelope samples estimate amplitudes. Both are sampling heuristics, not error bounds.

quchip.engine.sampling.sample_problems(problems)[source]

Give equal-duration points one adequate grid, and keep distinct intervals.