QuantumKatas/RippleCarryAdder
Cassandra Granade 714d334538
Update QDK to 0.24.208024. (#779)
2022-05-06 15:55:02 -07:00
..
README.md Update format for Binder links (#656) 2021-09-10 17:19:16 -07:00
ReferenceImplementation.qs Update to 0.15 syntax, batch 2 (#591) 2021-01-30 01:35:47 -08:00
RippleCarryAdder.csproj Update QDK to 0.24.208024. (#779) 2022-05-06 15:55:02 -07:00
RippleCarryAdder.ipynb Fix links to Q# docs broken by migration to /azure/ (#607) 2021-03-23 17:25:39 -07:00
RippleCarryAdder.sln Replace project references with package references (#469) 2020-08-27 14:41:09 -07:00
Tasks.qs [RippleCarryAdder] Rename "borrow" variable to avoid breaking keyword change (#587) 2021-01-13 16:40:38 -08:00
Tests.qs Update to 0.15 syntax, batch 2 (#591) 2021-01-30 01:35:47 -08:00

README.md

Welcome!

This kata explores ripple-carry addition on a quantum computer.

  • The simplest quantum adder, covered in part I, closely mirrors its classical counterpart, using the same basic components and the same algorithm.
  • Part II explores building an in-place adder.
  • A more complex version of an in-place adder covered in part III of the kata uses a different algorithm to reduce the number of ancillary qubits needed.
  • Part IV covers building an in-place quantum subtractor.
  • Part V covers addition and subtraction modulo 2ᴺ.

You can run the RippleCarryAdder kata as a Jupyter Notebook!

Theory

Q#

It is recommended to complete the BasicGates kata before this one to get familiar with the basic gates used in quantum computing. The list of basic gates available in Q# can be found at Microsoft.Quantum.Intrinsic.

For the syntax of flow control statements in Q#, see Q# iterations and Q# conditional branching documentation.