Skip to content
This repository has been archived by the owner on Sep 12, 2024. It is now read-only.

Quantum circuit on top of tensor network. This version is archived, latest open source version release is at https://github.com/tensorcircuit/tensorcircuit-ng

License

Notifications You must be signed in to change notification settings

refraction-ray/tensorcircuit

Repository files navigation

TENSORCIRCUIT

With TensorNetwork project announced by Google, quantum circuit simulator based on it may gain benefits from swift implementation to auto differentiation abilities.

See tensorcircuit.applications for relevant code on so-call differentiable quantum architecture search.

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

DQAS

For application of Differentiable Quantum Architecture Search, see applications. Reference paper: https://arxiv.org/pdf/2010.08561.pdf.

VQNHE

For application of Variational Quantum-Neural Hybrid Eigensolver, see applications. Reference paper: https://arxiv.org/pdf/2106.05105.pdf.

About

Quantum circuit on top of tensor network. This version is archived, latest open source version release is at https://github.com/tensorcircuit/tensorcircuit-ng

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages