import numpy as np
from qiskit import QuantumCircuit
from qiskit.quantum_info import Statevector, SparsePauliOp
H = SparsePauliOp.from_list([('Z', 1.0)])
for theta in np.linspace(0, 2*np.pi, 9):
    qc = QuantumCircuit(1)
    qc.ry(float(theta), 0)
    energy = Statevector.from_instruction(qc).expectation_value(H).real
    print(f'theta={theta:.3f}, energy={energy:.3f}')
# Minimum at theta=pi, energy=-1. A full VQE also optimizes parameters.
