Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Quantum addition using ApplyAnd #335

Open
1 of 3 tasks
msoeken opened this issue Sep 30, 2020 · 2 comments
Open
1 of 3 tasks

Quantum addition using ApplyAnd #335

msoeken opened this issue Sep 30, 2020 · 2 comments

Comments

@msoeken
Copy link
Member

@msoeken msoeken commented Sep 30, 2020

Describe the solution you'd like
A ripple-carry adder using the ApplyAnd or ApplyLowDepthAnd operations as described in Fig. 1 in Halving the cost of quantum addition.

Describe alternatives you've considered
Updating RippleCarryAdderD to use ApplyAnd.

Implementation plan

Development in branch feature/adder

  • Rewriting of RippleCarryAdderD #358 #359
  • Validate requirements for control lines
  • Investigate implications for Numerics API review
@TviNet
Copy link

@TviNet TviNet commented Oct 23, 2020

Hey, is this issue about replacing the CCNOT gates with ApplyAnd in RippleCarryAdderD or implementing the circuit given in Fig. 1 which does not compute the Carry out bit?

@msoeken
Copy link
Member Author

@msoeken msoeken commented Oct 24, 2020

I suppose that RippleCarryAdderD could be updated. However, it's not just replacing existing CCNOT since the current implementation used two CCNOT for each Carry, where only one is necessary. It also should support a Carry bit, unlike the figure in the paper.

Also one can make use of newer Q# features such as within / apply.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
3 participants