Skip to main content

Quantum-Commutator of Many-Body Operators based on generalized Wick theorem

Project description

QCombo: Automated Commutator Calculation for Quantum Many-Body Operators

PyPI version Python versions License: MIT

QCombo is a Python library for automated computation of commutators for normal-ordered many-body operators based on the generalized Wick theorem. Designed specifically for nuclear physics and condensed matter applications, it provides efficient and accurate tools for handling complex quantum many-body calculations.

Table of Contents

Overview

Background and Motivation

In quantum mechanics, operator commutators form the foundation of theoretical calculations. In nuclear physics, ab initio methods (such as NCSM, CC, IMSRG, etc.) are essential tools for studying nuclear many-body systems. These methods start from nuclear forces constructed from chiral effective field theory and provide approximate but rigorous solutions to quantum many-body problems.

As the number of many-body terms increases, the number of terms in commutators grows exponentially, making manual calculations extremely tedious and error-prone. QCombo addresses this challenge by providing an automated solution for computing commutators of normal-ordered many-body operators.

Features

  • Based on Generalized Wick Theorem: Implements automated computation of commutators for normal-ordered many-body operators
  • Many-Body Coupling Support: Handles commutators of arbitrary-order many-body operators
  • Automated Output Generation:
    • Generates LaTeX files for commutator expressions
    • Produces input files for the AMC software package to obtain expressions in J-scheme
  • Flexible Configuration: Allows specification of output to specific many-body ranks
  • Symbolic Computation: Built on SymPy for precise algebraic manipulations

Installation

Install from PyPI (Recommended)

pip install qcombo

Install from Source

git clone https://github.com/chenlh73/qcombo.git
cd qcombo
pip install -e .

System Requirements

  • Python >= 3.12
  • SymPy >= 1.13.3

Quick Start

Basic Usage

The following example demonstrates how to compute the [2B, 2B] commutator:

import qcombo

# Compute the [2B, 2B] commutator coupled to all possible many-body ranks
qcombo.easyCombo(2, 2)

Specifying Output Ranks

To output only specific many-body ranks:

import qcombo

# Output only terms coupled to 0-body and 1-body ranks
qcombo.easyCombo(2, 2, [0, 1])

Detailed Usage

Function Parameters

qcombo.easyCombo(m, n, contraction=None)
  • m: Many-body rank of the first operator (e.g., 2 for two-body operator)
  • n: Many-body rank of the second operator
  • contraction: Optional parameter specifying output ranks
    • Example: [0, 1] outputs only zero-body and one-body terms
    • None (default) outputs all possible many-body terms

Output Description

After execution, the program generates:

  1. Console Output: Displays the computed commutator expressions
  2. LaTeX Files: Generate expressions in LaTeX format
  3. AMC Input Files: Create input files for the AMC software package

Nuclear Physics Applications

In nuclear ab initio methods, QCombo can be used for:

  1. IMSRG Flow Equations: Computing commutators between generators and Hamiltonians

Education and Research

QCombo is also valuable for quantum mechanics education and research:

  • Verifying theoretical derivations
  • Exploring contributions from higher-order many-body terms
  • Automating tedious symbolic calculations

Citation

If you use QCombo in your research, please cite:

@software{qcombo2024,
  title = {QCombo: Automated Commutator Calculation for Quantum Many-Body Operators},
  author = {Chen, L.H. and Li, Y. and Hergert, Heiko and Yao, J.M.},
  year = {2024},
  url = {https://github.com/chenlh73/qcombo},
  note = {Based on generalized Wick theorem for automatic commutator calculation of many-body operators}
}

License

This project is licensed under the MIT License - see the LICENSE file for details.


QCombo - Making Quantum Many-Body Calculations Simpler

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

qcombo-0.1.1.tar.gz (25.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qcombo-0.1.1-py3-none-any.whl (25.3 kB view details)

Uploaded Python 3

File details

Details for the file qcombo-0.1.1.tar.gz.

File metadata

  • Download URL: qcombo-0.1.1.tar.gz
  • Upload date:
  • Size: 25.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.0

File hashes

Hashes for qcombo-0.1.1.tar.gz
Algorithm Hash digest
SHA256 5854741b55518b96baebd2f9129ee6d2c9457ecec0b6014923aaccfaf49de8b4
MD5 b1af64d0b132f2ec516408a5d68d8f0f
BLAKE2b-256 301faf01018f3126122cf70c9273778ba818e9112d810f92a567af6c06f4f731

See more details on using hashes here.

File details

Details for the file qcombo-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: qcombo-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 25.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.0

File hashes

Hashes for qcombo-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 faea0c8f2121255a30a6d4360cc5c2a084ff55f93f9f37f9883e0d18f6cff1a4
MD5 950857eda929a02972ca1098d935ed3d
BLAKE2b-256 009e4e5371b05c7e54ee2b4ef46982f9e01de772bc6014a97057321d511b8c6e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page