Efficient quantum computational chemistry based on TensorCircuit
Project description
TenCirChem
TenCirChem is an efficient and versatile quantum computation package for molecular properties. TenCirChem is based on TensorCircuit, with heavy optimization for chemistry applications.
Install
The package is purely written in Python and can be obtained via pip
as:
pip install tencirchem
Getting Started
UCCSD calculation example
from tencirchem import UCCSD, M
d = 0.8
# distance unit is angstrom
h4 = M(atom=[["H", 0, 0, d * i] for i in range(4)])
# setup
uccsd = UCCSD(h4)
# calculate
uccsd.kernel()
# analyze result
uccsd.print_summary(include_circuit=True)
Plugin your own code is easy
import numpy as np
from tencirchem import UCCSD
from tencirchem.molecule import h4
uccsd = UCCSD(h4)
# evaluate various properties based on custom parameters
params = np.zeros(uccsd.n_params)
print(uccsd.statevector(params))
print(uccsd.energy(params))
print(uccsd.energy_and_grad(params))
Please refer to the documentation for more examples and customization.
Features
- Static module
- Extremely fast UCC calculation with UCCSD, kUpCCGSD, pUCCD
- Noisy circuit simulation via TensorCircuit
- Custom integrals, active space approximation, RDMs, GPU support, etc.
- Dynamic module
- Transformation from renormalizer models to qubit representation
- VQA algorithm based on JAX
- Built-in models: spin-boson model, pyrazine S1/S2 internal conversion dynamics
Design principle
- Fast
- UCC speed 10000x faster than other packages
- Example: H8 with 16 qubits in 2s (CPU). H10 with 20 qubits in 14s (GPU)
- Achieved by analytical expansion of UCC factors and exploitation of symmetry
- UCC speed 10000x faster than other packages
- Easy to hack
- Avoid defining new classes and wrappers when possible
- Example: Excitation operators are represented as
tuple
ofint
. An operator pool is simply alist
oftuple
- Example: Excitation operators are represented as
- Minimal class inheritance hierarchy: at most two levels
- Expose internal variables through class attributes
- Avoid defining new classes and wrappers when possible
License
TenCirChem uses its own license adopted from openCARP. In short, you can use TenCirChem freely for non-commercial/academic purpose and commercial use requires a commercial license.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
tencirchem-2023.3.tar.gz
(54.9 kB
view hashes)