cuQuantum Python: Python APIs for NVIDIA cuQuantum SDKΒΆ

Welcome to the cuQuantum Python documentation!

NVIDIA cuQuantum Python provides Python bindings and high-level object-oriented models for accessing the full functionalities of NVIDIA cuQuantum SDK from Python.

Available at https://github.com/NVIDIA/cuQuantum

Key Features

  • Provides 1:1 Python wrappers for all cuQuantum C APIs.

  • Includes a tensornetwork module with high-level, Pythonic APIs that support:

    • A computational engine for exact tensor network contraction with NumPy-style einsum semantics.

    • A converter for Cirq and Qiskit users to map quantum circuit objects to tensor network contractions.

    • Computational primitives for tensor decomposition using QR and SVD.

    • A tensor network state simulator for both exact contraction-based simulation and matrix product states (MPS) simulation.

    • Interoperability with CPU-based arrays (NumPy, PyTorch) and GPU-based arrays (CuPy, PyTorch).

  • Provides a densitymat module with high-level, Pythonic APIs for accelerating analog quantum dynamics solvers based on quantum many-body operators and density-matrix (or state-vector) formalism.

  • Open sourced (under the BSD-3-Clause license) following the community practice for easy access

Support

  • Supported Python versions: 3.10, 3.11, 3.12

  • Supported installation methods: conda install, pip install, or build from source

Prerequisites

  • CUDA 11 & 12

  • cuStateVec 1.8.0+

  • cuTensorNet 2.7.0+

  • cuDensityMat >=0.1.0

  • NumPy v1.21+

  • CuPy v13.0+

  • Optional dependencies: