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
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 #3
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)
Exemple #4
0
    def __init__(self, nbqbits, batch_size, *args, gpu=False, **kwargs):
        super().__init__(nbqbits)
        mq.initQreg(nbqbits, batch_size, gpu=gpu)

        self.__txt = ""
Exemple #5
0
import manyq as mq
import numpy as np

mq.initQreg(2, 3)
mq.H(1)
mq.CX(1, 0)
mq.measureAll()

np.set_printoptions(precision=2)

print(mq.Qreg.inQ, '\n')
# quantum state (vector of amplitudes)

print(mq.Qreg.mQ, '\n')
# measurement (vector of probabilities)

print(mq.makeShots(2000))
# 2000 shots (nb of occurence of each bit string)