Contribute to open quantum software

Report a bug, add a gate or make a page of the docs clearer. Every change to a qscommons project is reviewed in public on GitHub.

Bug reports, examples, docs fixes and new gates are all welcome.

Contribute in 3 steps

1

Open an issue first

For anything larger than a small fix, agree on the shape before you write the code.

A useful bug report
1 of 4
  • Project and version
  • The shortest circuit
  • What you expected
  • What it printed
2

Run every check

Every project tests its results against a reference. In qsengine that means Rust tests, clippy and a Python suite checked against NumPy.

qsenginezsh
~/qsengine$cargo test --release
all_gates_are_unitarygatesok
matches_cpu_on_random_circuitgpuok
teleportation_moves_a_onecircuitok
Donethen pytest
~/qsengine$
3

Update the docs

Each project keeps its docs as Markdown in its own repository, so a change and its page go in one pull request.

MDdocs/gates.md1 page
# Gates

qsengine has nineteen named gates,
and `unitary()` for any other.

## Single-qubit gates
The site rebuilds from this file daily.