tensorcircuit.interfaces.numpy#
Interface wraps quantum function as a numpy function
- tensorcircuit.interfaces.numpy.np_interface(fun: Callable[[...], Any], jit: bool = True) Callable[[...], Any] #
Convert
fun
on ML backend into a numpy function- Example
K = tc.set_backend("tensorflow") def f(params, n): c = tc.Circuit(n) for i in range(n): c.rx(i, theta=params[i]) for i in range(n-1): c.cnot(i, i+1) r = K.real(c.expectation_ps(z=[n-1])) return r n = 3 f_np = tc.interfaces.numpy_interface(f, jit=True) f_np(np.ones([n]), n) # 0.1577285
- Parameters
fun (Callable[..., Any]) – The quantum function
jit (bool, optional) – whether to jit
fun
, defaults to True
- Returns
The numpy interface compatible version of
fun
- Return type
Callable[…, Any]
- tensorcircuit.interfaces.numpy.numpy_interface(fun: Callable[[...], Any], jit: bool = True) Callable[[...], Any] [source]#
Convert
fun
on ML backend into a numpy function- Example
K = tc.set_backend("tensorflow") def f(params, n): c = tc.Circuit(n) for i in range(n): c.rx(i, theta=params[i]) for i in range(n-1): c.cnot(i, i+1) r = K.real(c.expectation_ps(z=[n-1])) return r n = 3 f_np = tc.interfaces.numpy_interface(f, jit=True) f_np(np.ones([n]), n) # 0.1577285
- Parameters
fun (Callable[..., Any]) – The quantum function
jit (bool, optional) – whether to jit
fun
, defaults to True
- Returns
The numpy interface compatible version of
fun
- Return type
Callable[…, Any]