Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Dancing with Qubits

You're reading from   Dancing with Qubits From qubits to algorithms, embark on the quantum computing journey shaping our future

Arrow left icon
Product type Paperback
Published in Mar 2024
Publisher Packt
ISBN-13 9781837636754
Length 684 pages
Edition 2nd Edition
Arrow right icon
Author (1):
Arrow left icon
Robert S. Sutor Robert S. Sutor
Author Profile Icon Robert S. Sutor
Robert S. Sutor
Arrow right icon
View More author details
Toc

Table of Contents (26) Chapters Close

Preface I Foundations
Why Quantum Computing FREE CHAPTER They’re Not Old, They’re Classics More Numbers Than You Can Imagine Planes and Circles and Spheres, Oh My Dimensions 6 What Do You Mean “Probably”? II Quantum Computing
One Qubit Two Qubits, Three Wiring Up the Circuits From Circuits to Algorithms Getting Physical III Advanced Topics
Considering NISQ Algorithms Introduction to Quantum Machine Learning Questions about the Future Afterword
A Quick Reference B Notices C Production Notes Other Books You May Enjoy
References
Index
Appendices

10.6 Order and period finding

The next tool we need for Shor’s algorithm is an algorithm to find out when certain types of functions start repeating themselves. algorithm$order-finding

Consider the function kak on whole numbers k for a fixed a in N greater than 1. For example, if a = 3, the first 12 values are

Displayed math

or in Python:

[3**n for n in range(12)]
    
[1, 3, 9, 27, 81, 243, 729, 2187, 6561, 19683, 59049, 177147]
    

As we look at larger exponents k, the values of 3k will get larger and larger.

If we instead use modular arithmetic, as we saw in section 3.7, 3k cannot get arbitrarily large. For example, modulo M = 13, the values we get for the function kak mod 13 are number$modular integer integer$modular modulo

[3**n % 13 for n in range(12)]
[1, 3, 9, 1, 3, 9, 1, 3, 9, 1, 3, 9]

Here, % is the Python “remainder operator,” and it implements...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image