def test_apply_observables(observables, equivalent_gates, qubit_count, batch_size): sim_observables = StateVectorSimulation(qubit_count, 0, batch_size) sim_observables.apply_observables(observables) sim_gates = StateVectorSimulation(qubit_count, 0, batch_size) sim_gates.evolve(equivalent_gates) assert np.allclose(sim_observables.state_with_observables, sim_gates.state_vector)
def test_apply_observables_fails_second_call(batch_size): simulation = StateVectorSimulation(4, 0, batch_size) simulation.apply_observables([observables.PauliX([0])]) simulation.apply_observables([observables.PauliX([0])])