Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Contents

...

Add ZZFeatureMap Encoding for QDP

Backgroud

ZZFeatureMap is the most widely-used data encoding in quantum machine learning. It's the default in Qiskit and PennyLane for quantum kernel methods and variational classifiers.

QDP currently supports amplitude, angle, basis, and IQP encodings. Adding ZZFeatureMap completes our QML encoding suite.

What is ZZFeatureMap?

Maps classical features to quantum states using:
1. Hadamard gates (superposition)
2. RZ gates (single-qubit rotations)
3. ZZ interactions (two-qubit entanglement)
4. Repetition layers for expressivity

Tracked github issue

https://github.com/apache/mahout/issues/1008

Difficulty: Major
Project size: ~350 hour (large)
Potential mentors:
Ryan Huang, mail: hcr (at) apache.org
Project Devs, mail: dev (at) mahout.apache.org

Apache Mahout Automated API Documentation Pipeline for Qumat & QDP

Summary

Implement an automated API documentation pipeline that generates and publishes API reference documentation from the Python (Qumat, QDP) and Rust (qdp-core) codebases, integrated into the project's Docusaurus website and CI.

Background

  • Apache Mahout exposes two main API surfaces:
    • Qumat: Python library for quantum circuits (backends: Qiskit, Cirq, Amazon Braket).
    • QDP (Quantum Data Plane): GPU-accelerated encoding (Rust core + PyO3 Python bindings, qumat.qdp / _qdp).
  • Manual doc updates are error-prone and don’t scale. Automating from source keeps docs accurate and reduces maintainer burden.

Current state

  • QuMat API is maintained by hand and can drift from code.
  • QDP API is waiting for new website migration to be finished.
  • Rust (qdp-core) has extensive doc comments but no published rustdoc in the website.

Goals

1. Generate API reference from source for Python (Qumat).
2. Integrate generated docs into the existing Docusaurus site.
3. Automate the pipeline in CI so doc builds run on changes.
4. Define conventions (docstrings, public API) for future contributors.

Deliverables

  • Python API doc pipeline (Sphinx or pdoc) for qumat and QDP.
  • QuMat API reference either generated or explicitly linked.
  • Rust (qdp-core) rustdoc built and linked from the website.
  • CI job(s) that build Python API docs and rustdoc and fail on errors.
  • Short contribution guide on docstring style and how to update API docs.

Tracked github issue

https://github.com/apache/mahout/issues/1012

Difficulty: Major
Project size: ~175 hour (medium)
Potential mentors:
Jie-Kai Chang, mail: jiekaichang (at) apache.org
Project Devs, mail: dev (at) mahout.apache.org

...