IBM lecture  Introduction to quantum computers and quantum computer programming
What follows are my hasty notes from a lecture and workshoptype 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:
 chemistry/modeling physical processes of nature
 perform significantly more scenario simulation
 obtain better optimization solutions
 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 statespace 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 nontrivial? 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 50qubt 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 1415 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 preexisting 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 hitandmiss. 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”