def test_sampler_expectation_value() -> None: c = Circuit(2) c.H(0) c.CX(0, 1) op = QubitPauliOperator({ QubitPauliString({ Qubit(0): Pauli.Z, Qubit(1): Pauli.Z }): 1.0, QubitPauliString({ Qubit(0): Pauli.X, Qubit(1): Pauli.X }): 0.3, QubitPauliString({ Qubit(0): Pauli.Z, Qubit(1): Pauli.Y }): 0.8j, QubitPauliString({Qubit(0): Pauli.Y}): -0.4j, }) b = MySampler() b.compile_circuit(c) expectation = get_operator_expectation_value(c, op, b, n_shots=2000, seed=0) assert (np.real(expectation), np.imag(expectation)) == pytest.approx( (1.3, 0.0), abs=0.1)
def test_expectation_value() -> None: c = Circuit(2) c.H(0) c.CX(0, 1) op = QubitPauliOperator({ QubitPauliString({ Qubit(0): Pauli.Z, Qubit(1): Pauli.Z }): 1.0, QubitPauliString({ Qubit(0): Pauli.X, Qubit(1): Pauli.X }): 0.3, QubitPauliString({ Qubit(0): Pauli.Z, Qubit(1): Pauli.Y }): 0.8j, QubitPauliString({Qubit(0): Pauli.Y}): -0.4j, }) b = MyBackend() b.compile_circuit(c) assert get_operator_expectation_value(c, op, b) == pytest.approx(1.3)
def objective(params): circ = ucc.copy() sym_map = dict(zip(syms, params)) circ.symbol_substitution(sym_map) return (get_operator_expectation_value( circ, hamiltonian_op, backend, n_shots=4000) + nuclear_repulsion_energy)
def objective(params): circ = ucc(params) PauliSimp().apply(circ) FullPeepholeOptimise().apply(circ) return (get_operator_expectation_value( circ, hamiltonian_op, backend, n_shots=4000) + nuclear_repulsion_energy)
def objective(params): circ = ucc.copy() sym_map = dict(zip(syms, params)) circ.symbol_substitution(sym_map) return (get_operator_expectation_value( circ, operator, backend, n_shots=4000, partition_strat=PauliPartitionStrat.CommutingSets, ) + nuclear_repulsion_energy)
def objective(params): circ = ucc(params) return (get_operator_expectation_value( circ, hamiltonian_op, backend, n_shots=4000) + nuclear_repulsion_energy)