CUDA-Q Algorithms

Getting Started

  • Getting Started
    • What’s in the library
    • Installation
      • Building from source
    • The primitive-first philosophy
    • Where to go next

User Guide

  • Preprocessing: molecule to qubit Hamiltonian
    • Integral sources (FCIDUMP / PySCF / Psi4)
      • FCIDUMP
      • PySCF
      • Psi4
    • Fermion-to-qubit transforms (Jordan-Wigner and Bravyi-Kitaev)
    • The chemistry bridge (spatial integrals to a qubit Hamiltonian)
    • Classical double factorization (optional compression)
      • Convention
      • Backends (NVIDIA math libraries)
      • X-DF vs C-DF
      • RC-DF regularization
      • Inner core solve: explicit vs matrix-free
      • API
      • Feeding a compressed tensor to the transform
  • Block encodings
    • The block-encoding idea and PauliLCU
      • PREPARE, SELECT, UNPREPARE
    • The BlockEncoding protocol
      • Implementing the protocol
    • Bring your own encoding: the double-factorized example
  • Trotter (product-formula simulation)
    • Using the primitive
      • Product-formula orders
      • State preparation injection
      • Composing inside user kernels
      • Identity terms and the global phase
    • Simulation-only helper
  • Qubitization and QSVT
    • The qubitization walk
      • Chebyshev moments
    • QSVT and phase sequences
    • Hamiltonian simulation
    • State preparation injection
    • Hardware-shaped vs. simulation-only
    • Simulator selection
  • State preparation
    • Ansatz kernels and operator pools
    • Hartree-Fock references and fixed-parameter UCC
      • The hartree_fock_ucc_kernel factory
      • Resource estimation
    • Givens-rotation Slater determinants
    • State preparation injection
    • Package conventions

Examples

  • Getting-started walkthrough
    • Quickstart: block-encode a Hamiltonian and walk it
    • Hamiltonian simulation, two independent ways
    • From a molecule to its ground-state energy
    • Double factorization and the BlockEncoding protocol
    • State preparation and injection
    • Bring your own block encoding
    • Solve a linear system with QSVT
  • Preprocessing examples
    • Double factorization of the two-electron integrals
    • From double-factorized integrals to LCU/QSVT cost
  • Block-encoding examples
    • Walkthrough of the PauliLCU block-encoding API
    • The double-factorized block encoding vs a flat PauliLCU
  • State-preparation examples
    • Hartree-Fock and fixed-parameter UCCSD state preparation
    • Givens-rotation Slater determinant preparation
  • Hamiltonian-simulation examples
    • Hamiltonian simulation with PauliLCU and QSVT
    • Suzuki-Trotter simulation of a chemistry-style Hamiltonian

Reference

  • Conventions and Reference
    • Qubit ordering: qubit 0 is least significant
    • Pauli words
    • Spin orbitals: interleaved
    • Fermionic integral tensors
    • Jordan-Wigner ladder operators
    • Block encodings
    • Qubitization walk
    • QSVT
    • Reflection gate vs reflection observable
    • Simulation targets and tolerances
    • Hermiticity
  • Python API Reference
    • Block encodings
      • PauliLCU
        • PauliLCU.alpha
        • PauliLCU.kernel_args
        • PauliLCU.encode_kernel()
        • PauliLCU.walk_kernel()
        • PauliLCU.prepare_kernel()
        • PauliLCU.unprepare_kernel()
        • PauliLCU.apply_kernel()
        • PauliLCU.controlled_apply_kernel()
        • PauliLCU.walk_step_kernel()
        • PauliLCU.adjoint_walk_step_kernel()
        • PauliLCU.controlled_walk_step_kernel()
        • PauliLCU.controlled_adjoint_walk_step_kernel()
        • PauliLCU.select_observable()
      • select_observable()
      • BlockEncoding
        • BlockEncoding.num_system
        • BlockEncoding.num_ancilla
        • BlockEncoding.alpha
        • BlockEncoding.prepare_kernel()
        • BlockEncoding.unprepare_kernel()
        • BlockEncoding.apply_kernel()
        • BlockEncoding.controlled_apply_kernel()
        • BlockEncoding.walk_step_kernel()
        • BlockEncoding.adjoint_walk_step_kernel()
        • BlockEncoding.controlled_walk_step_kernel()
        • BlockEncoding.controlled_adjoint_walk_step_kernel()
        • BlockEncoding.select_observable()
    • Qubitization and QSVT
      • Walk
        • Walk.encoding
        • Walk.kernel()
        • Walk.adjoint_kernel()
        • Walk.roundtrip_kernel()
        • Walk.controlled_kernel()
        • Walk.controlled_roundtrip_kernel()
        • Walk.moment()
        • Walk.moments()
      • reflection_observable()
      • QSVT
        • QSVT.encoding
        • QSVT.kernel()
        • QSVT.controlled_kernel()
      • PhaseSequence
        • PhaseSequence.projector_phases
      • recover_real_time_evolution()
      • FORWARD
      • ADJOINT
    • Trotter
      • FIRST_ORDER_TROTTER
      • HamiltonianLike
      • Trotter
        • Trotter.coefficients
        • Trotter.words
        • Trotter.identity_coefficient
        • Trotter.num_qubits
        • Trotter.num_terms
        • Trotter.ordering
        • Trotter.kernel()
        • Trotter.state_kernel()
        • Trotter.resources()
      • TrotterOrdering
      • TrotterResourceEstimate
      • estimate_trotter_resources()
      • make_trotter_terms()
    • Preprocessing
      • from_fcidump()
      • spin_orbital_tensors()
      • qubit_hamiltonian()
      • from_pyscf()
      • from_psi4()
      • jordan_wigner()
      • bravyi_kitaev()
      • DoubleFactorization
        • DoubleFactorization.reconstruct_eri()
      • explicit_double_factorization()
      • compressed_double_factorization()
      • reconstruct_eri()
      • factorization_error()
      • modified_one_body_integrals()
      • double_factorization_one_norm()
      • cupy_gpu_available()
      • resolve_backend()
    • State preparation
      • get_uccsd_excitations()
      • get_num_uccsd_parameters()
      • get_uccgsd_pauli_lists()
      • get_upccgsd_pauli_lists()
      • get_ceo_pauli_lists()
      • get_fixed_parameter_ucc_pauli_lists()
      • make_uccsd_operator_pool()
      • make_uccgsd_operator_pool()
      • make_upccgsd_operator_pool()
      • make_ceo_operator_pool()
      • make_hartree_fock_occupation()
      • validate_hartree_fock_occupation()
      • validate_fixed_parameter_ucc()
      • estimate_hartree_fock_resources()
      • estimate_hartree_fock_occupation_resources()
      • estimate_fixed_parameter_ucc_resources()
      • hartree_fock_ucc_kernel()
      • HartreeFockResourceEstimate
      • FixedParameterUccResourceEstimate
      • GivensRotation
      • GivensRotationSchedule
      • GivensResourceEstimate
      • slater_determinant_kernel()
      • make_givens_rotation_schedule()
      • validate_givens_rotation_schedule()
      • get_givens_rotation_indices()
      • get_givens_rotation_angles()
      • get_givens_rotation_phases()
      • estimate_givens_resources()
    • Simulation utilities
      • state_from()
      • good_subspace()
      • action()
      • transform()
      • evolve()
      • state_from()
CUDA-Q Algorithms
  • Search


© Copyright 2026, NVIDIA Corporation & Affiliates.

Built with Sphinx using a theme provided by Read the Docs.