Quantum circuits on top of tensor network
This project is partially inspired by mpsim which builds the quantum circuit model on top of tensornetwork setups instead of directly matrix manipulations.
With TensorNetwork project announced by Google, such setup may gain benefits from swift implementation to auto differentiation abilities.
This is only a toy project at very early stage and it may always be at this stage. There might be not only sharp edges but also essential bugs in the project. Try it on your own risk.
import tensorcircuit as tc c = tc.Circuit(2) c.H(0) c.CNOT(0,1) print(c.perfect_sampling()) print(c.wavefunction()) print(c.measure(1)) print(c.expectation(tc.gates.z(), 1))
Runtime behavior changing:
tc.set_backend("tensorflow") tc.set_dtype("complex128") tc.set_contractor("greedy")
Auto differentiations with jit (tf and jax supported):
@tc.backend.jit def forward(theta): c = tc.Circuit(2) c.R(0, theta=theta, alpha=0.5, phi=0.8) return tc.backend.real(c.expectation(tc.gates.z(), 0)) g = tc.backend.grad(forward) g = tc.backend.jit(g) theta = tc.gates.num_to_tensor(1.0) print(g(theta))
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size tensorcircuit-0.0.1-py3-none-any.whl (10.2 kB)||File type Wheel||Python version py3||Upload date||Hashes View|
|Filename, size tensorcircuit-0.0.1.tar.gz (8.5 kB)||File type Source||Python version None||Upload date||Hashes View|
Hashes for tensorcircuit-0.0.1-py3-none-any.whl