Skip to content

QuAIRKit 0.1.0 Release Note

Compare
Choose a tag to compare
@LeiZhang-116-4 LeiZhang-116-4 released this 30 Jun 17:06
· 11 commits to main since this release

QuAIRKit absorbs the features and semantics of Paddle Quantum v2.4.0, while making the following improvements:

Technical Improvements

  • Backend Transition: transitioned the computational backend from Paddle Paddle to PyTorch, improving both stability and compatibility with existing packages.

  • Modular Codebase: refactored the codebase into five discrete modules to streamline the user experience. This modular approach facilitates easier maintenance, scalability, and collaborative development.

  • Batch Computation: internally supported batch computation for

    • quantum (noisy) circuit simulation;
    • expectations and measurement

Basic broadcasting rule in QuAIRKit:

Batched shape for operations Batched shape for input states Batched shape for output results
None None None
None n n
n None n
n n n
n m Error
  • Pure & Mixed Auto-transition: there is no longer needed to specify the backend state_vector or density_matrix. QuAIRKit supports implicit backend transition between pure state and mixed state simulators.

Feature Rollout

  • Random Seed Initialization: introduced quairkit.set_seed to initialize a random seed across all random functionals within the platform.

  • Quantum computing data: Expanded the quairkit.database module with the following data:

    • phase & shift: phase and shift operators in quantum information.
    • universal_qudit: a parameterized universal qudit gate, based on parameterization with respect to Gell-Mann matrices.
    • Uf & Of: two quantum query models for Boolean functions.
    • A collection of set-based data, including:
      • std_basis & qft_basis: two quantum state bases for identity & QFT matrices, respectively.
      • bell_basis: a two-qubit Bell basis.
      • heisenberg_weyl: a set of Heisenberg-Weyl operators.
      • phase_space_point: a set of phase-space point operators in discrete phase space.
      • gell_mann: a set of Gell-Mann matrices.
  • Quantum information functions: Expanded the quairkit.qinfo module with the following functions:

    • is_linear: ascertains the linearity of a given function.
    • create_matrix: constructs the matrix representation of a linear map between two vector spaces.
    • create_choi_repr: constructs the Choi representation of a linear map between two operator spaces.
    • trace_norm & p_norm: Schatten norm functions.
    • trace: Trace of input tensor along a specified axis.
    • hessian & gradient: The Hessian and general gradient of input functions.
    • decomp_1qubit & decomp_ctrl_1qubit: Decomposition of (controlled) qubit-unitary operations.

Resolved Issues

  • Bug Fix: corrected various typos and inaccuracies previously present in the database.
  • Controlled qubit-unitary: controlled qubit-unitary operations now require parameterization from 3 to 4 parameters.

Dependencies Update

  • The minimum requirement for the Python environment has been changed to Python 3.8.
  • Add pytest-xdist for unit tests.

Tutorials

Added four tutorials for feature introductions of QuAIRKit:

  • circuit: quantum circuit & basic machine learning
  • measure: quantum measurement
  • state: quantum state
  • batch: batch computation

End of Release Notes