{"id":27406333,"url":"https://github.com/tencent-quantum-lab/tencirchem","last_synced_at":"2025-04-14T06:38:51.363Z","repository":{"id":144095390,"uuid":"615614681","full_name":"tencent-quantum-lab/TenCirChem","owner":"tencent-quantum-lab","description":"Quantum computational chemistry based on TensorCircuit","archived":false,"fork":false,"pushed_at":"2024-01-17T12:32:51.000Z","size":2553,"stargazers_count":55,"open_issues_count":0,"forks_count":8,"subscribers_count":0,"default_branch":"master","last_synced_at":"2024-04-27T00:23:27.883Z","etag":null,"topics":["chemistry","computational-chemistry","cupy","jax","nisq","pyscf","python","quantum-circuit","quantum-computing","quantum-noise","quantum-simulation","tensor-network","theoretical-chemistry"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tencent-quantum-lab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-18T06:43:59.000Z","updated_at":"2024-04-26T07:45:53.000Z","dependencies_parsed_at":"2023-05-02T20:22:52.636Z","dependency_job_id":"489fff04-d4c6-4b24-8af4-5a63fbff9d02","html_url":"https://github.com/tencent-quantum-lab/TenCirChem","commit_stats":{"total_commits":32,"total_committers":5,"mean_commits":6.4,"dds":0.15625,"last_synced_commit":"e608dd4b831ab3554802cbcced44a2aab2bf9ae9"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tencent-quantum-lab%2FTenCirChem","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tencent-quantum-lab%2FTenCirChem/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tencent-quantum-lab%2FTenCirChem/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tencent-quantum-lab%2FTenCirChem/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tencent-quantum-lab","download_url":"https://codeload.github.com/tencent-quantum-lab/TenCirChem/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248836688,"owners_count":21169373,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chemistry","computational-chemistry","cupy","jax","nisq","pyscf","python","quantum-circuit","quantum-computing","quantum-noise","quantum-simulation","tensor-network","theoretical-chemistry"],"created_at":"2025-04-14T06:38:50.557Z","updated_at":"2025-04-14T06:38:51.353Z","avatar_url":"https://github.com/tencent-quantum-lab.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TenCirChem\n\n![TenCirChem](https://github.com/tencent-quantum-lab/TenCirChem/blob/master/docs/source/statics/logov0.png)\n\n[![ci](https://img.shields.io/github/actions/workflow/status/tencent-quantum-lab/tencirchem/ci.yml?branch=master)](https://github.com/tencent-quantum-lab/TenCirChem/actions)\n[![codecov](https://codecov.io/github/tencent-quantum-lab/TenCirChem/branch/master/graph/badge.svg?token=6QZP1RKVTT)](https://app.codecov.io/github/tencent-quantum-lab/TenCirChem)\n[![pypi](https://img.shields.io/pypi/v/tencirchem.svg?logo=pypi)](https://pypi.org/project/tencirchem/)\n[![doc](https://img.shields.io/badge/docs-link-green.svg)](https://tencent-quantum-lab.github.io/TenCirChem/index.html)\n[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/tencent-quantum-lab/TenCirChem/master?labpath=docs%2Fsource%2Ftutorial_jupyter)\n\nEnglish | [简体中文](https://github.com/tencent-quantum-lab/TenCirChem/blob/master/README_CN.md)\n\nTenCirChem is an efficient and versatile quantum computation package for molecular properties.\nTenCirChem is based on [TensorCircuit](https://github.com/tencent-quantum-lab/tensorcircuit) \nand is optimized for chemistry applications.\n\n## Easy Installation\nGetting started with TenCirChem by installing the package via pip:\n\n```sh\npip install tencirchem\n```\n\n## Simple to Use\nTenCirChem is written in pure Python, and its use is straightforward. Here's an example of calculating UCCSD:\n\n```python\nfrom tencirchem import UCCSD, M\n\nd = 0.8\n# distance unit is angstrom\nh4 = M(atom=[[\"H\", 0, 0, d * i] for i in range(4)])\n\n# configuration\nuccsd = UCCSD(h4)\n# calculate and returns energy\nuccsd.kernel()\n# analyze result\nuccsd.print_summary(include_circuit=True)\n```\nRunning uccsd.kernel() in the above code determines the optimized circuit ansatz parameters and VQE energy.  \nTenCirChem also allows the user to supply custom parameters. Here's an example:\n\n```python\nimport numpy as np\n\nfrom tencirchem import UCCSD\nfrom tencirchem.molecule import h4\n\nuccsd = UCCSD(h4)\n# evaluate various properties based on custom parameters\nparams = np.zeros(uccsd.n_params)\nprint(uccsd.statevector(params))\nprint(uccsd.energy(params))\nprint(uccsd.energy_and_grad(params))\n```\nFor more examples and customization,\nplease refer to the [documentation](https://tencent-quantum-lab.github.io/TenCirChem/index.html) \n\n\n## Exciting Features\nTenCirChem's features include:\n- Statics module\n  - UCC calculation with UCCSD, kUpCCGSD, pUCCD at an extremely fast speed\n  - Noisy circuit simulation via TensorCircuit\n  - Custom integrals, active space approximation, RDMs, GPU support, etc.\n- Dynamics module\n  - Transformation from [renormalizer](https://github.com/shuaigroup/Renormalizer) models to qubit representation\n  - VQA algorithm based on JAX\n  - Built-in models: spin-boson model, pyrazine S1/S2 internal conversion dynamics\n\n\n## Design principle\nTenCirChem is designed to be:\n- Fast\n  - UCC speed is 10000x faster than other packages\n    - Example: H8 with 16 qubits in 2s (CPU). H10 with 20 qubits in 14s (GPU)\n    - Achieved by analytical expansion of UCC factors and exploitation of symmetry\n- Easy to hack\n  - Avoid defining new classes and wrappers when possible\n    - Example: Excitation operators are represented as `tuple` of `int`. An operator pool is simply a `list` of `tuple`\n  - Minimal class inheritance hierarchy: at most two levels\n  - Expose internal variables through class attributes\n\n## License\nTenCirChem is released under Academic Public License.\nSee the [LICENSE file](https://github.com/tencent-quantum-lab/TenCirChem/blob/master/LICENSE) for details.\nIn short, you can use TenCirChem freely for non-commercial/academic purpose\nand commercial use requires a commercial license.\n\n## Citing TenCirChem\nIf this project helps in your research, please cite our software whitepaper:\n\n[TenCirChem: An Efficient Quantum Computational Chemistry Package for the NISQ Era](https://arxiv.org/abs/2303.10825)\n\nwhich is also a good introduction to the software.\n\n## Research and Applications\n\n### Variational basis state encoder\nAn efficient algorithm to encode phonon states in electron-phonon systems for quantum computation.\nSee [examples](https://github.com/tencent-quantum-lab/TenCirChem/tree/master/example)\nand the [tutorial](https://tencent-quantum-lab.github.io/TenCirChem/tutorial_jupyter/vbe_tutorial_td.html).\nReference paper: https://arxiv.org/pdf/2301.01442.pdf (published in PRR).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftencent-quantum-lab%2Ftencirchem","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftencent-quantum-lab%2Ftencirchem","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftencent-quantum-lab%2Ftencirchem/lists"}