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

Add another implementation for the "increment" function in the discrete quantum walk tutorial #56

Open
TomerGoldfriend opened this issue May 15, 2024 · 4 comments
Assignees
Labels
quantum intermediate Requires some basic knowledge in quantum computing

Comments

@TomerGoldfriend
Copy link
Member

The tutorial on Discrete Quantum Walks demonstrates an example of a quantum walk on a circle. The quantum_step_clockwise quantum function is implemented as a QFT-adder, however, there are other implementations available for such quantum operation, e.g., by applying a cascade of multi-controlled-X gates.

The goal of this issue is to add another implementation for the quantum_step_clockwise quantum function in the aforementioned tutorial.

Detailed guidelines:

  1. Within the section "Example: Symmetric Quantum Walk on a Circle" in the notebook do the following:
    • Add a text explaining that in this example we will construct an implementation for the "clockwise_step"/"increment" function, which is different from the QFT-based implementation presented above.
    • Add a cell defining a new quantum function with the following declaration: qfunc increment(x: QArray[QBit]).
    • Use the new function in the specific example treated in the section.
    • Modify the synthesis constraints: optimize over depth with a relevant constraint over the width.
  2. Under the "Technical Notes" section, add a short explanation about the implementation.
  3. Make sure to generate a qmod (using the write_qmod function) for the modified example.
  4. Make sure the notebook looks well, does not have any typos / mistakes, and is running properly.
  5. Follow the contribution guidelines to open a pull request.

If you have any questions or comments, you can ask them here in the issue, or in our slack community, and the Classiq team will be happy to assist.

Happy quantum coding!

@TomerGoldfriend TomerGoldfriend added the quantum intermediate Requires some basic knowledge in quantum computing label May 15, 2024
@TomerGoldfriend
Copy link
Member Author

@AbdullahKazi500 Please see the description above. Let us know if you have any questions.

@AbdullahKazi500
Copy link
Contributor

sure let me have a look

@AbdullahKazi500
Copy link
Contributor

@TomerGoldfriend I have started the work on this

@TomerGoldfriend
Copy link
Member Author

Great @AbdullahKazi500 ! let us know if you have any questions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
quantum intermediate Requires some basic knowledge in quantum computing
Projects
None yet
Development

No branches or pull requests

2 participants