Exemple #1
0
def speed(nb_qbits, nb_circuits, repeat=1, depth=2, gpu=False, multicore = False):
    if gpu: params = cupy.pi * cupy.random.rand(depth, nb_qbits, nb_circuits)
    else:    params = np.pi * np.random.rand(depth, nb_qbits, nb_circuits)
    
    start_time = ftime()
    
    for _ in range(repeat):
        mq.initQreg(nb_qbits, nb_circuits, gpu = gpu, multicore = multicore)
        for l in range(depth):
            for i in range(nb_qbits):
                mq.SX(i)
                mq.RZ(i, params[l,i])
                mq.SX(i)

            for i in range(nb_qbits - 1):
                mq.CZ(i, i+1)

        for i in range(nb_qbits):
            mq.SX(i)

        mq.measureAll()

    end_time = ftime()

    return (end_time - start_time)/repeat
Exemple #2
0
    def __single_input(self, idx, theta):
        self.__verify_index__(idx)
        mq.SX(idx)
        mq.RZ(idx, theta)
        mq.SX(idx)

        self.__txt += f"SX({idx})RZ({idx},{theta})SX({idx})"
Exemple #3
0
import manyq as mq
import numpy as np


angles = np.array([np.pi/3,np.pi/2,2*np.pi/3])

mq.initQreg(2,angles.shape[0])
mq.SX(0)
mq.SX(1)
mq.RZ(0,angles)
mq.SX(0)
mq.SX(1)
mq.measureAll()
shots = mq.makeShots(100)

np.set_printoptions(precision=2)

print(mq.Qreg.inQ,"\n")
print(mq.Qreg.mQ,'\n')
print(shots)
Exemple #4
0
import manyq as mq
import numpy as np

# angles = np.array([[np.pi/3,np.pi/2,2*np.pi/3]])
omega = np.array([[np.pi / 3, np.pi / 2, 2 * np.pi / 3],
                  [-np.pi / 3, -np.pi / 2, 2 * np.pi / 3]])
theta = np.array([-np.pi / 3, np.pi / 3])
mq.initQreg(2, omega.shape[1])
mq.SX(0)
mq.SX(1)
# mq.RZ(0,angles)
mq.RZ(0, omega[0])
mq.RZ(0, theta[0])
mq.RZ(1, omega[1])
mq.RZ(1, theta[1])
# mq.fSIM(0,1,angles,angles)
mq.SX(0)
mq.SX(1)
mq.measureAll()
shots = mq.makeShots(100)

np.set_printoptions(precision=2, suppress=True)
print(mq.Qreg.inQ, "\n")
print(mq.Qreg.mQ, '\n')
# print(shots)