0.7.0 - 2025-09-15¶
Removed¶
Removed the
PauliRegister.from_paulismethod. (#14)
Added¶
Added a
widthargument toTensorInterface.describe()for text wrapping, and added this description toSamplex.__str__(). (#104)Added a
NoiseModelRequirementclass that describes a noise model required by aSamplexat sample time. Added aSamplex.noise_modelsproperty containing a dictionary ofNoiseModelRequirements. (#112)Added
InjectNoiseandBasisTransformto the top-level module, allowing, for example,from samplomatic import InjectNoise, BasisTransform. (#117)
Changed¶
Measurement flips are now returned with shape
(num_randomizations, 1, num_qubits)to facilitate processing against a shots axis. Previously, they would be returned as(num_randomizations, num_qubits). (#105)In order to facilitate broadcasting,
Samplex.sample()now expects an array of rates and aqiskit.quantum_info.QubitSparsePauliListfor each noise reference. Previously, it expected aqiskit.quantum_info.PauliLindbladMap. This change is reflected inSamplex.inputs()which now requires aqiskit.quantum_info.QubitSparsePauliListfor each element ofSamplex.noise_models. The returnedTensorInterfaceobject then contains the boundQubitSparsePauliLists, as well asTensorSpecifications for the rates, the scale, and the local scales. (#112)
Fixed¶
Samplex.samplearguments corresponding toBasisTransformandInjectNoiseannotations are indexed in physical qubit order, in other words, the order of the qubits in the outer-most circuit, restricted to those used by the box. Previously, they followed the order ofCircuitInstruction.qubits. (#116)