NOTA	import pennylane as qml
NOTA	
NOTA	
NOTA	def Feynman(rads2, rads1):
NOTA	    # distinct fun names in functional placeholders=
NOTA	    # ['my_fun']
NOTA	    def my_fun(x, y):
NOTA	        return x + .5*y
|   Rx  |   |   
|   |   Rx  |   
NOTA	    def rot(rad_ang_x, rad_ang_y, rad_ang_z, lib='np'):
NOTA	        """
NOTA	        Returns
NOTA	
NOTA	        exp(1j*(rad_ang_x*sig_x + rad_ang_y*sig_y + rad_ang_z*sig_z))
NOTA	
NOTA	        where rad_ang_x is an angle in radians and sig_x is the x Pauli
NOTA	        matrix, etc.
NOTA	
NOTA	        Parameters
NOTA	        ----------
NOTA	        rad_ang_x : float
NOTA	        rad_ang_y : float
NOTA	        rad_ang_z : float
NOTA	        lib : str
NOTA	
NOTA	        Returns
NOTA	        -------
NOTA	        np.ndarray
NOTA	
NOTA	        """
NOTA	        if 'autograd.numpy' in sys.modules:
NOTA	            tlist = [0., rad_ang_x, rad_ang_y, rad_ang_z]
NOTA	            return pu2(*tlist)
NOTA	
NOTA	        mat_dict = OneBitGates.const_dict(0)
NOTA	        vec = [rad_ang_x, rad_ang_y, rad_ang_z]
NOTA	        n = OneBitGates.get_fun(lib, 'sqrt')(vec[0]**2 + vec[1]**2 + vec[2]**2)
NOTA	        if abs(n) < 1e-8:
NOTA	            mat_dict['00'] = 1
NOTA	            mat_dict['11'] = 1
NOTA	        else:
NOTA	            nx = rad_ang_x/n
NOTA	            ny = rad_ang_y/n
NOTA	            nz = rad_ang_z/n
NOTA	            c = OneBitGates.get_fun(lib, 'cos')(n)
NOTA	            s = OneBitGates.get_fun(lib, 'sin')(n)
NOTA	            mat_dict['00'] = c + 1j*s*nz
NOTA	            mat_dict['01'] = s*ny + 1j*s*nx
NOTA	            mat_dict['10'] = -s*ny + 1j*s*nx
NOTA	            mat_dict['11'] = c - 1j*s*nz
NOTA	        return OneBitGates.get_mat(lib, mat_dict)
R   |   |   |   
|   |   Rx  |   
X---@   |   |   
NOTA	    return qml.expval.Hermitian(hamil)
