QuantumKatas/RippleCarryAdder
DmitryVasilevsky 483b6984c8
Updated to QDK version 0.25.228311 (August 2022) (#834)
Co-authored-by: Dmitry Vasilevsky <dmitryv@microsoft.com>
2022-09-08 11:52:39 -07:00
..
README.md Update format for Binder links (#656) 2021-09-10 17:19:16 -07:00
ReferenceImplementation.qs [RippleCarryAdder] Use conjugation in 1.7 reference solution (#820) 2022-08-11 12:38:00 -07:00
RippleCarryAdder.csproj Updated to QDK version 0.25.228311 (August 2022) (#834) 2022-09-08 11:52:39 -07:00
RippleCarryAdder.ipynb [RippleCarryAdder] Add tasks 2.1-2.2 to the workbook (#822) 2022-08-10 14:36:33 -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
Workbook_RippleCarryAdder.ipynb [RippleCarryAdder] Add tasks 2.1-2.2 to the workbook (#822) 2022-08-10 14:36:33 -07: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.