tensorcircuit
tensorcircuit copied to clipboard
Quantum circuit on top of tensor network. This version is archived, new open source version release is at https://github.com/tencent-quantum-lab/tensorcircuit
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.