QuantumKatas/RippleCarryAdder
Scott Carda b856585f32
Update to QDK version 0.27.258160 (#876)
2023-03-01 17:11:58 -08: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 Update to QDK version 0.27.258160 (#876) 2023-03-01 17:11:58 -08:00
RippleCarryAdder.ipynb [RippleCarryAdder] Add task 2.5 to the workbook (#874) 2023-02-21 12:57:12 -08: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 Remove parenthesis around the condition in the if block (p2) (#853) 2022-11-22 23:51:15 -08:00
Workbook_RippleCarryAdder.ipynb [RippleCarryAdder] Add task 2.5 to the workbook (#874) 2023-02-21 12:57:12 -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.