Skip to main content

Quantum circuits on top of tensor network

Project description

TENSORCIRCUIT

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.

Baisc Usage

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))

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for tensorcircuit, version 0.0.1
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

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page