qiskit/initialize.py
#!/usr/bin/env python
from math import sqrt
from qiskit import QuantumCircuit, transpile
from qiskit_aer import Aer, AerSimulator
from qiskit.quantum_info import Statevector
from qiskit.visualization import plot_histogram
def test_circuit(init, print_qc=False):
qc = QuantumCircuit(2, 2)
qc.initialize(init)
qc.cx(0, 1)
if print_qc:
print(qc)
state = Aer.get_backend('statevector_simulator').run(qc, shots=1).result().get_statevector()
print(f'init: {init}')
# print(f'state: {state}')
probs = state.probabilities()
print(f'probs: {probs}')
print()
test_circuit([1, 0, 0, 0], print_qc=True)
test_circuit([0, 1, 0, 0])
test_circuit([0, 0, 1, 0])
test_circuit([0, 0, 0, 1])
test_circuit([1/sqrt(2), 0, 0, 1/sqrt(2)], print_qc=True)