IBM lecture - Introduction to quantum computers and quantum computer programming

Posted on February 17, 2020 | 8 minute read

What follows are my hasty notes from a lecture and workshop-type session I went to at Stockholms University, delivered by IBM. Unfortunatly I failed to write down the name of the lecturer from IBM himself, but will add it here when I can dig up the information.

Keep in mind as with all of my other conference notes etc, these were written purely for my own consumption and I make no guarantees of accuracy! I was writing fast, and it is likely I misheard or misinterpreted something.


Moore’s Law becoming untenable in regards to classical computing. There have to be other strategies to increase computing performance and decrease power consumption.

Two potential areas to explore: qubits and simulated neurons.

Neurons

Research into simulated neurons centers around building the brain or nervous system on silicon and metal (though with some organic variants). The goal is to imitate how brains are doing stuff; brains are using about 20 watts of powre and do much more than a computer. Nature is very paralellized when it comes to computing.

Quantum Computing

1981 saw the origins of quantum computing discussion at the Physics Computation Conference.

Bits and qubits

  • A classical bit can be 0 or 1
  • A quantum bit or qubit can take on 0 or 1, but can also represent a combination of 0 and 1 while we are computing. When we measure a qubit it becomes 0 or 1 based on probability.
  • A qubit is NOT just a 0 and 1 at the same time.

But why?

Example: It is practically impossible to completely represent the molecular configuration of caffeine on todays most powerful super computers, but we could represent it using 160 qubits (if the quantum computer is stable enough).

On a classical machine we’d need 10^48 bits.

Potential uses:

  1. chemistry/modeling physical processes of nature
  2. perform significantly more scenario simulation
  3. obtain better optimization solutions
  4. find better patterns within AI/ML processes.

A quantum computer is not a big data machine. It won’t be more efficient for learning deep learning models with a petabyte of information. A modern quantum computer can’t even run for a full second before falling over.

Quantum computer are good at a problem that has few inputs and outputs, and a huge space of possible solutions. You can manipulate a large state-space to get an ansewr, but it can’t take gigabytes of data.

Hard vs easy problems

How difficult is a problem to solve once it becomes non-trivial? Eg travelling salesman problem can become huge with just a few more cities. Chess is the same - lookng ahead a few moves is simple, looking ahead the entire game is gigantic.

  • some problems are simple enough to solve on a normal computer
  • some problems are useful to solve on a quantum computer
  • some probelms are only solvable on quantum computer

Quantum ready and quantum advantage eras

Quantum computers started being made available on the cloud in 2016 - at that time we entered the ‘Quantum Ready’ era. Now we are trying to make poeple aware of how to think when you are programming quantum computers, because it is very different.

We are now moving into the Quantum Advantage era, not the Quantum Supremacy era. Many things are still solved much more efficiently on a classical computer than a quantum computer. We are just at the cusp of no longer being able to simulate the biggest quantum computers we have on the biggest classical computers we have. With a few more qubits itll be impossible to do a full simulation of them in reasonable time on an ordinary computer. But this will be a few years into the 2020s.

How to measure progress

Talking about who has more qubits is childish. There is so much more that affects the peformance or power of a quantucm computer. More qubits without decreased error rates would result in the same performance as less peformance. But if you improve error rate with the same number of qubits you’re getting a better benchmark, or better ‘quantum volume’. Many factors go into the quantum volume calculation, including factors like number of qubits, qubit coupling, gate fidelity, and more. The formula is readily available online.

Entanglement

If you want two qubits to be entangled they have to be next to each other; you can move them around but every movement can introduce problems.

IBM’s 50-qubt chip is hexagonal. No qubit has more than 3 neighbors.

Moore’s law in quantum computing

Moore’s law of exponential progress can also be done with quantum volume. We can see the same growth in usable performance in quantum computing. But this is just a guess - projecting is easy, making it happen is hard.

Quantum computing and information security

In 1994 Shor showed an algorithm where if you have a powerful and stable enough quantum computer, you could do factorization of really large products of two big prime numbers. This is difficult to do on classical computer. This is why we rely on classical computers for security and encryption. Encrypted keys are difficult for computers to factorize and crack. There are organiations that have information that needs to be secret forever. That encrypted data can one day be cracked with a quantum computer. People with really sensitive data today face the challenge that it will be crackable somewhere in the future with a quantum computer. But when? you’d need 10,000,000 very stable qubits [note to self: did I get this right? I could’ve sworn I’ve seen lesser estimates before]. so this is not happening tomorrow or maybe ever; but very far in the future.

Superposition

Superposition is creating a quantum state that is a combination of |0> and |1>. These conditions allow us to map the qubit onto the Bloch Sphere. Note that if a and b are non zero, then the qubit’s state contains both |0> and |1>. This is what people mean when they say that a qubit can be “0 and 1 at the same time”

Practicalities

  • You set up a quantum computer in an initial state, manipualte it a bit, then measure it. Then it goes back to classical state.

  • You can entangle qubits so that they are connected and make up a common state. In that case you could look at one without looking at the other.

  • Gates are instructions in a quantum computer. those are the mathemtical operations you apply to manipulate qubits.

  • Interference allows us to increase the probability of getting the right answer an decrease the chance of getting the wrong one; some algorithms rely on interference.

  • 1 qubit - 2 quantum state dimensions.

  • 2 qubits - 4 states

  • 275 qubits - more quantum state dimensions than there are atoms in the observable universe

IBM Q

When IBM Q is cooled down it is 14-15 millikelvin - about 250 times colder than outer space. The cooling medium is helium - 2 isotopes of helium. The entire construction is mostly just cooling, protecting the chip at the bottom. These are usually house in compute centers. IBM did manage to make the thing portable enough to sell (for a few million dollars) to companies who want full control of all the qubits.

Qubits are interconnected differently in differnt chips.

How to write software for IBM Q?

The easiest way is via the IBM Q experience.

One can also program using Python. Python is not run on the quantum computer; it builds the code you run on the quantum computer. In general IBM provides an extensive environment to run experiments on ther quantum hardware, including Qiskit Notebooks.

Over 200,000 registered users have run over 65 billion quantum circuits on IBM quantum hardware. The runs on the physical system outnumber the runs on the simulators.

IBM thinks going forward people will be using a number of software libraries where they can pick pre-existing algorithms and combine them with their own stuff.

IBM also has the OpenPulse interface where you can manipulate microwave pulses that go down to the chip. Usually hidden, unless we want to care. This is akin to tweaking transistors on your CPU.

  • To start experimenting, use the web interface
  • When you want to make something more complex, use the python interfaces.

Inexact nature of computing going forward

Computing going forward will be very inexact; we can get hints of this if we look at neurons as computers, AI/deep learning relying on probabilities, etc. Systems overall may be reliable, but small components may be volatile. It is the same with quantum computers.

Q & A

Q: Is there an intuitive picture of what complexity classes quantum computers manage?

A: Not that instructor knows of. This is the kind of question they would ask the researchers, and they’re not sure either. If there isn’t enough “sexy quantumness” in the algorithm when trying to solve the problem, or it becomes unwieldy because it is too long and complex for a quantum computer, maybe it’s no use. People who say there is an advantage are those working with chemistry/biochemistry, where chemistry programs they’ve been using to do computational chemistry are all hit-and-miss. You don’t know when you’re attacking a problem in chemistry if the tools you have will work well, or what combination to use them in. So they say doing that stuff with quantum computing is “not worse” even if the quantum computers are relatively small (53 qubits is not huge).

“You’re at the point where you can start building your career on quantum computers…maybe.”

“You’re all confused but on a much higher level”




Categories:dev
comments powered by Disqus