from qiskit import IBMQ, QuantumRegister, ClassicalRegister, QuantumCircuit, Aer, execute

from qiskit.quantum_info import Statevector

from qiskit.visualization import plot_bloch_multivector, plot_histogram

import numpy as np
from numpy import pi
import math
from math import sqrt

import matplotlib as mpl
%matplotlib inline

qc1 = QuantumCircuit(4)

qc1.draw(output = 'mpl')

qc2 = QuantumCircuit(QuantumRegister(4))

qc2.draw(output = 'mpl')

qc3 = QuantumCircuit(4,3)

qc3.draw(output = 'mpl')

qc4 = QuantumCircuit(QuantumRegister(4),ClassicalRegister(3))

qc4.draw(output = 'mpl')

qc5 = QuantumCircuit(QuantumRegister(4, 'qr0'), QuantumRegister(2, 'qr1'))

qc5.draw(output = 'mpl')

qr = QuantumRegister(3, 'q')
anc = QuantumRegister(2, 'ancilla')
cr = ClassicalRegister(3, 'c')
qc = QuantumCircuit(qr, anc, cr)

qc.draw(output = 'mpl')

qcA = QuantumCircuit(4,4)

qcA.draw(output = 'mpl')

qcB = QuantumCircuit(4)

qcB.draw(output = 'mpl')

qcC = QuantumCircuit(QuantumRegister(4, 'qr0'), QuantumRegister(4, 'cr1'))

qcC.draw(output = 'mpl')

qcD = QuantumCircuit([4,4])

