After all the work done in the previous posts, we are now ready to actually implement Shor's factoring algorithm on a real quantum computer, using once more IBMs Q Experience and the Qiskit framework. First, recall that Shor's algorithm is designed to factor an integer M, with the restriction that M is supposed to be … Continue reading Factoring integers on a quantum computer with Qiskit

# Quantum phase estimation – the quantum algorithm Swiss army knife

When you are faced with a problem in linear algebra and have absolutely no idea what to do, an eigenvalue decomposition is the one thing that you would typically try first. In the world of quantum algorithms, the situation is similar - finding the eigenvalues of a matrix is a central building block of many … Continue reading Quantum phase estimation – the quantum algorithm Swiss army knife

# Implementing the quantum Fourier transform with Qiskit

The quantum Fourier transform is a key building block of many quantum algorithms, from Shor's factoring algorithm over matrix inversion to quantum phase estimation and simulations. Time to see how this can be implemented with Qiskit. Recall that the quantum Fourier transform (or, depending on conventions, its inverse) is given by $latex |x \rangle \mapsto … Continue reading Implementing the quantum Fourier transform with Qiskit

# Running the Deutsch-Jozsa algorithm on IBMs Q experience

In one of the previous posts, we have looked at the basics of the Qiskit package that allows us to create and run quantum algorithms in Python. In this post, we will apply this to model and execute a real quantum algorithm - the Deutsch-Jozsa algorithm. Recall that the Deutsch-Jozsa algorithm is designed to solve … Continue reading Running the Deutsch-Jozsa algorithm on IBMs Q experience

# Quantum error correction with stabilizer codes

In our previous discussion of quantum error correction, we have assumed that quantum gates can act on any two physical qubits. In reality, however, this is not true - only nearby qubits and interact, and our error correction needs to take the geometric arrangements of the qubits into account. The link between these geometric constraints … Continue reading Quantum error correction with stabilizer codes

# Fault tolerant quantum computing

In the previous post, we have looked at the basic ideas behind quantum error correction, namely the encoding of logical states so that we are able to detect and correct errors like bit flip and phase flip errors. Unfortunately, this is not yet good enough to implement quantum computing in a fault-tolerant way. What is … Continue reading Fault tolerant quantum computing

# Basics of quantum error correction

Do usable universal quantum computers exist today? If you follow the recent press releases, you might believe that the answer is "yes", with IBM announcing a 50 qubit quantum computer and Google promoting its Bristlecone architecture with up to 72 qubits. Unfortunately, the world is more complicated than this - time to demystify the hype … Continue reading Basics of quantum error correction