Quantum Computing Summary
This is my summary of quantum computing, prepared for various RPI groups, and updated occasionally. I've included lots of links for people who wish to explore further.
It has been cleaned up a little from my 2/5/21 ECSE talk.
Table of contents
1 Intro
Alice laughed. "There's no use trying," she said: "one can't believe impossible things." "I daresay you haven't had much practice," said the Queen. "When I was your age, I always did it for halfanhour a day. Why, sometimes I've believed as many as six impossible things before breakfast."  Through the LookingGlass, and What Alice Found There (1871), by Lewis Carroll (Charles Lutwidge Dodgson).
1.1 Disclaimer
While abstracting this summary from a large collection of disparate info, I might have made errors. However I believe this to be an unbiased and accurate summary.
1.2 My Context
I'm developing and teaching a new course that I proposed, ECSE496401 Quantum Computer Programming.
19 students who seem to like it.
Several people in this meet are giving guest lectures (thanks!). Everyone here is welcome.
RPI paying me to learn (thanks!); however there's a lot I still don't know.
1.3 Brief History
The WIRED Guide to Quantum Computing 08.24.2018. Nice nontootechnical summary of the history. The theory preceded the realization. This happens sometimes, e.g., with atomic energy. From there:
 1980

Physicist Paul Benioff suggests quantum mechanics could be used for computation.
 1981

Nobelwinning physicist Richard Feynman, at Caltech, coins the term quantum computer.
 1985

Physicist David Deutsch, at Oxford, maps out how a quantum computer would operate, a blueprint that underpins the nascent industry of today.
 1994

Mathematician Peter Shor, at Bell Labs, writes an algorithm that could tap a quantum computer’s power to break widely used forms of encryption.
 2007

DWave, a Canadian startup, announces a quantum computing chip it says can solve Sudoku puzzles, triggering years of debate over whether the company’s technology really works.
2013 Google teams up with NASA to fund a lab to try out DWave’s hardware.
 2014

Google hires the professor behind some of the best quantum computer hardware yet to lead its new quantum hardware lab.
 2016

IBM puts some of its prototype quantum processors on the internet for anyone to experiment with, saying programmers need to get ready to write quantum code.
 2017

Startup Rigetti opens its own quantum computer fabrication facility to build prototype hardware and compete with Google and IBM.
1.4 Intro sites

Feynman was the first to propose the theoretical idea of a quantum computer.
Richard Feynman  Quantum Mechanics 4:01.
Extracted from HD Feynman: FUN TO IMAGINE complete 1080p 1:06:49. Recorded in 1983.
A beginner's guide to quantum computing  Shohini Ghose https://www.youtube.com/watch?v=QuR969uMICM 10:04
Quantum Computing in Under 11 Minutes daytonellwanger https://www.youtube.com/watch?v=TAzZKAdX2Tw 10:56 more technical
https://towardsdatascience.com/introductiontoquantumprogramminga19aa0b923a9?gi=69d861e26d80
https://medium.com/@jonathan_hui/qcprogrammingwithquantumgates8996b667d256
https://medium.com/@jonathan_hui/qcprogrammingwithquantumgates2qubitoperator871528d136db

https://www.cl.cam.ac.uk/teaching/0910/QuantComp/notes.pdf
They have a nice description of measurement starting at slide 10.
Each measurement operator has a basis vector set.
The operator represents the qbit as a linear combo of the basis vectors.
Then it projects the qbit onto one of the basis vectors, with probability being the length of that component.
It is possible for two different qbits to measure the same in some basis, but measure different in a different basis.

Which problems can quantum computers solve exponentially faster than classical computers? David Gosset, IBM quantum computing research scientist, explains why algorithms are key to finding out.
Can we make quantum technology work?  Leo Kouwenhoven  TEDxAmsterdam (18:19)
Experiment with Basic Quantum Algorithms (Ali JavadiAbhari, ISCA 2018) (19:05)
1.5 Current status sites

https://www.explainingcomputers.com/quantum.html
This has a detailed text description and an excellent 12 min video of the state of the industry, presenting the several players. It's not just IBM. That page has annual updates. The last several years are also interesting.

On youtube, QuTech Academy, based at TU Delft and part of edX, has a large collection of 5 minute videos on many topics at all levels.
E.g., Operations on spin qubits, Measurements on transmon qubits, Two qubit gates, Qubit implementation in nanowire networks, Quantum Internet, Quantum Machine Learning, Quantum Chemistry, TensorFlow Quantum, Quantum error correction codes, What are anyons.
The following link might work; if not search 'QuTech Academy' in youtube.
The Quantum Summer Symposium 2020 is also on youtube, with many deep topics, e.g., Peter Shor on quantum money. Easiest to find it by directly searching in Youtube.
https://www.telegraph.co.uk/technology/2020/09/02/britainmustactfastpreventbraindrainquantumcomputing/  good summary of programs around the world.
Quantum startup CEO suggests we are only five years away from a quantum desktop computer

My course blog.
https://wrf.ecse.rpi.edu/Teaching/quantumf2020/posts/quantumsummary.html
2 What is quantum computing?
2.1 Classical computation
Bit.
Its 2 possible values are 0 or 1.
Byte.
Has 8 bits.
It has 256 possible values.
Bits are transformed with gates, like nand, nor, and, or, xor, not, ...
They generally destroy info, and are not invertible.
More complex circuits, like adders, are formed from a combo of these gates.
2.2 Quantum computation
Qbit, $q$.

Its state is a linear combo of two basis states, $0>$ and $1>$:
$q = a0> + b1>$ ,
where $a$ and $b$ are complex numbers, and $  a  ^2 +  b  ^2 = 1$.
IOW, its state is a superposition of those two basis states, with those weights.
It is wrong to think that $q$ is really in one of the two states, but you don't know which one. This is the hidden variable theory. It has been proved experimentally to be false.
$q$ is really in both states simultaneously.
You cannot observe its state, unless it is $0>$ and $1>$, in which case you observe $0$ or $1$. This is the classical case.

Otherwise you observe it with a measurement operator that transforms it to either $0>$ and $1>$, with probabilities
$ a  ^2$ and $ b  ^2 = 1$, respectively.
$a$ and $b$ are complex.
That measurement changes $q$; it no longer has its old value.
$q$, that is, $q$ 's value, can be considered to be a vector of length one: $$\begin{pmatrix} a  0> \\ b  1> \end{pmatrix} $$ or simply $$\begin{pmatrix}a\\b\end{pmatrix}$$.
You operate on $q$ with a matrix multiplication: $q_2 = M q$.
This changes $q$; the old value is no longer available.
No cloning: You cannot copy a qbit, but can move it.

The life cycle of a qbit:
Create a qbit with a classical value, 0 or 1.
Operate on it with matrices, which rotate it to have complex weights.
Transform it back to 0 or 1 and read it.
So far, not very powerful.
Now, let $q$ be a system with two qbits, i.e., a 2vector of qbits.
2.3 Two qbit operators etc
Now, let $q$ be a system with two qbits, i.e., a 2vector of qbits.
$q$ is now a linear combo of 4 basis values, $  00>$, $  01>$, $  10>$, $  11>$.
$q = a_0  00> + a_1  01> + a_2  10> + a_3  11> $
where $a_i$ are complex and $ \sum  a_i  ^2 = 1$.
$q$ exists in all 4 states simultaneously.
If $q$ is a vector with n component qbits, then it exists in $2^n$ states simultaneously.
This is part of the reason that quantum computation is powerful.
A measurement operator applied to $q$ will rotate it to a basis {00, 01, 10, 11}, so that it will be observed in one of those four cases, with probabilities $  a_i  ^2$.
You operate on $q$ by multiplying it by a 4x4 matrix operator.
The matrices are all invertible, and all leave $  q  = 1$.
You set the initial value of $q$ by setting its two qbits each to 0 or 1.
How this is done depends on the particular hw.

I.e., initially, $q_1 = \begin{pmatrix}a_1  0> \\b_1  1> \end{pmatrix}$ and $q_2 = \begin{pmatrix}a_2  0> \\b_2  1> \end{pmatrix}$, and so
$$q = \begin{pmatrix} q_1 \\ q_2 \end{pmatrix} = \begin{pmatrix} a_1 a_2  00 > \\ a_1 b_2  01 > \\ a_2 b_1  10 > \\ b_1 b_2  11 > \end{pmatrix}$$.
Here, the combined state is the tensor product of the individual qbits.
For $n$ qbits, the tensor product is a vector with $2^n$ elements, one element for each possible value of each qbit.
Each element of the tensor product has a complex weight.
You transform a state by multiplying it by a matrix.
The matrix is invertible.
The transformation doesn't destroy information.
When you measure a state, it collapses into one of the component states. (This may be inaccurate.)
You don't need to bring in consciousness etc. The collapse happens because the measurement causes the state to interact with the outside world.
The probability of collapsing into a particular state is the squared magnitude of its complex weight.
For some sets of weights, particularly after a transformation, the combined state cannot be separated into a tensor product of individual qbits. In this case, the individual qbits are entangled.
That is the next part of why quantum computation is powerful.
Entanglement means that if you measure one qbit then what you observe restricts what would be observed when you measure the other qbit.
However that does not let you communicate.

From page 171 of Quantum Computing for Computer Scientists 1st Edition
All quantum algorithms work with the following basic framework:
The system will start with the qubits in a particular classical state.
From there the system is put into a superposition of many states.
This is followed by acting on this superposition with several unitary operations.
And finally, a measurement of the qubits.

Ways to look at measurement:
Converts qbit to classical bit.
Is an interaction with the external world.
Information is not lost, but leaks into the external world.
Is an operator represented by a matrix.
that is Hermitian, i.e., it's equal to its complex transpose.
For physical systems, some operators compute the system's momentum, position, or energy.
The matrix's eigenvalues are real.
The result of the operation is one of the eigenvalues.

More from Quantum Computing for Computer Scientists 1st Edition
Compare byte with qbyte.
State of byte is 8 bits.
State of qbyte is 256 complex weights.
They all get modified by each operation (aka matrix multiply).
That is the power of quantum computing.
The current limitations are that IBM does only a few qbits and that the operation is noisy.

https://en.m.wikipedia.org/wiki/Bloch_sphere:
The state of a qbit can be represented as a point on or in a sphere of radius 1.
E.g., 1> is the north pole, 0> the south pole.
Many operations are rotations.

Common operations (aka gates):
https://en.wikipedia.org/wiki/Quantum_logic_gate
Swap

controlled not CNOT cX
When input is general, it's more sophisticated that it looks.

Hadamard.
1qbit creates a superposition.
https://cs.stackexchange.com/questions/63859/intuitionbehindthehadamardgate
2qbit creates a uniform superposition

Toffoli, aka CCNOT.
Universal for classical boolean functions.
(a,b,c) > (a,b, c xor (a and b))

Fredkin, aka CSWAP.
https://en.wikipedia.org/wiki/Fredkin_gate
3 inputs. Swaps last 2 if first is true.
sample app: 5 gates make a 3bit full adder.

Bell state
Maximally entangled.
Hadamard then CNOT.
3 Algorithms
Good ref is Chapter 6, Algorithms of Quantum Computing for Computer Scientists, published in 2000. Algorithms don't change fast. It does omit new things like HHL.
For these examples, the quantum algorithm is quite different from the classical algorithm, and is asymptotically faster.
Current research is deciding what algorithms can be made faster.
p 172: Any function can be made invertible by adding a control bit.

Major categories:
Cryptography
Quantum search
Quantum simulation
Quantum annealing and adiabatic optimization
Nice summary: https://en.wikipedia.org/wiki/Quantum_computing

Algorithm summary:
Some, but not all, are faster.

Boundederror quantum polynomial time (BQP)
"is the class of decision problems solvable by a quantum computer in polynomial time, with an error probability of at most 1/3 for all instances"  https://en.wikipedia.org/wiki/BQP
Includes integer factorization and discrete log.
Relation to NP is unknown (big unsolved problem).

Searching problems:
Find the answer to a puzzle.
Math examples: factor an integer, solve a polynonial equation.
Testing validity of a putative solution is easy.
Finding that putative solution, naively, requires testing all possibilities.
Quantum computation can solve some searching problems faster.
This is probabilistic or noisy; often the found solution is wrong.
So you repeat the computation enough times that the error rate is acceptably low.
Some classical algorithms are similar. There is an excellent probabilistic primality algorithm.
The quantum algorithms are quite complex. (i.e., I'm still learning them.)

Algorithms, another view
Hadamard matrix rotates the pure state to an entangled superposition.
Then we operate in parallel on each state in the superposition.
Finally we separate out the desired answer.

Grover's algorithm:
Given a black box with N inputs and 1 output.
Exactly one input makes the output 1.
Problem: which one?
Classical solution: Try each input, T=N.
Quantum: $T=\sqrt(N)$.
Probabilistic.
Apps: mean, median, reverse a crypto hash, find collisions, generate false blocks.
Can extend to quantum partial search.
Grover's algorithm is optimal.
This suggests that NP is not in BQP .

Shor's algorithm:
Factorize an integer.
in BQP.
almost exponentially faster than best classical algorithm.

Largest examples I can find:
4 Algorithm details
4.1 Deutsch
We have a black box F(x) > x'.
We're told that F is either balanced or constant.
How to determine which?
We can input any x and see the result.
Classically: eval F(0) and F(1).
That took two evals and some comparisons.
All that matters is the number of evals. We assume that they're slower than everything else.
Quantumly (quantumicly?) we can determine which type F is with only one eval plus some extra matrices.
4.2 Deutsch  Jozsa
Now $F: \{0,1\}^n \to \{0,1\}$.
We're told that it's either constant or balanced. It's not neither.
Which is it?
Classically, we need n/2+1 evals of F.
Quantumly, we need only 1.
4.3 Simon's periodicity
Blackbox $F: \{0,1\}^n \to \{0,1\}^n$
For some unknown $c$, $F(x\oplus c) = F(x)$.
Determine $c$.
4.4 Grover's search
4.4.1 Problem
Blackbox $F: \{0,1\}^n \to \{0,1\}$
For only one x, F(x) = 1. Otherwise F(x)=0.
Determine x.
Classically: T(n)=O(n).
Quantumly: $T(n) = O(\sqrt{n})$.
4.4.2 Videos
Introduction to Quantum Computing (18)  Grover's Algorithm: Quantum Problem Statement (4:24)
Introduction to Quantum Computing (19)  Grover's Algorithm: Outline (16:09)
Introduction to Quantum Computing (20)  Grover's Algorithm: Subspace (7:42)
Introduction to Quantum Computing (21)  Grover's Algorithm: Geometric Interpretation
Introduction to Quantum Computing (23)  Grover's Algorithm: Implementation (9:33)
Introduction to Quantum Computing (24)  Grover's Algorithm: IBM Quantum Experience (11:39)
4.5 DeutschJozsa
This algorithm is deterministic.

https://www.quantiki.org/wiki/deutschjozsaalgorithm
Quick summary; doesn't say why it works.

https://qiskit.org/textbook/chalgorithms/deutschjozsa.html
This is an intro to Qiskit. The terminology is confusing. E.g., Register 1 has q0 q1 q2. Register 2 has q3. The run buttons don't seem to work.

https://en.wikipedia.org/wiki/Deutsch%E2%80%93Jozsa_algorithm
This is a nice detailed description.
4.6 Shor's algorithm
4.7 HHL algorithm to solve a linear system of equations

Quantum Machine Learning  37  Overview of the HHL Algorithm 5:48.
quick, deep, intro.

Quantum algorithm for solving linear equations 36:31.
quite understandable.
Quantum Algorithms for Systems of Linear Equations (Quantum Summer Symposium 2020) 19:22.

IBM Quantum Algorithms for Applications from qiskit
E.g., Fourier transform and HHL.

This is in Huawei HiQ, an opensource software framework for quantum computing.
https://en.wikipedia.org/wiki/Quantum_algorithm_for_linear_systems_of_equations
5 Quantum properties
5.1 Entanglement
Crazy counterintuitive idea that's the basis for quantum speedup.

Classical metaphor for entanglement:
Start with a piece of paper.
Tear it into two halves.
Put each half into an envelope, seal them, and mix them up, so that you can't tell which half is in which envelope.
Address and mail one envelope to a friend in Australia, and the other to a friend in Greenland.
When the Australian opens his envelope, he knows what the Greenlander will find in his.
However that doesn't let the Australian send any info to the Greenlander, or vv.
This has been demonstrated with real qbits transported 1000 miles apart.
Entanglement means that if you measure one qbit then what you observe restricts what would be observed when you measure the other qbit.
However that does not let you communicate.

Entanglement and superposition do funny things to operations. Consider the Controlled NOT gate. It has 2 inputs, x and y.
Classically, y is negated iff x=1. x doesn't change.
If x and y are superposed with a Hadamard basis, then y can affect x.
5.2 No Cloning
Cloning (copying) works in the classical world but not in the quantum world.
Classically, you can easily clone a bit. Consider a 2bit system, $x, y$. Each bit can be 0 or 1. All 4 combos are possible. Represent the state with a 4vector
$s=\begin{vmatrix} a_0\\a_1\\a_2\\a_3\end{vmatrix}$
where exactly one $a_i=1$ and the other three are 0. E.g., if $a_3=1$ then $x=y=1$.
Here's a 2input, 2output circuit that clones the first bit.
$x'=x\\y'=x$
Its truth table is
x y  x'y' 0 0  0 0 0 1  0 0 1 0  1 1 1 1  1 1
Represent the operation by a matrix multiplication on s. The matrix M is:
1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1
That is, the final state is $s'_i = \sum_j M_{ij} s_j$
However, M is singular. For quantum operations, M has to be unitary. So this is not a legal quantum circuit. Let's try again.
The better way is the 3input Toffoli gate. The function is
$x'=x \\ y'=y \\ z'= z \oplus xy$
The truth table is
x y z  x'y'z' 0 0 0  0 0 0 0 0 1  0 0 1 0 1 0  0 1 0 0 1 1  0 1 1 1 0 0  1 0 0 1 0 1  1 0 1 1 1 0  1 1 1 1 1 1  1 1 0
The matrix is Eqn 5.62 on page 155.:
1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0
Let x=1, z=0. Then:
x'= 1 y'= y z'= y
and we've cloned y in the classical case, where the inputs are each 0 or 1.
This matrix is nonsingular and so is also legal in a quantum circuit.
(Looking ahead a little), try $y= \frac{1}{\sqrt{2}}  0> + \frac{1}{\sqrt{2}}  1>$, which is an equal superposition of 0 and 1. Using x=1, z=0, the input will be
$\frac{  1, 0, 0> +  1, 1, 0>}{\sqrt{2}}$
and the state is
$(0, 0, 0, 0, \frac{1}{\sqrt{2}} , 0, \frac{1}{\sqrt{2}} , 0)^T$
That's an equal superposition of 2 of the possible 8 classical input states.
Multiplying that by the matrix gives
$\frac{  1, 0, 0> +  1, 1, 1>}{\sqrt{2}}$
Instead of cloning y into z, this entangled y and z.
An operation that is simple on classical input can be more complicated on quantum inputs.
This isn't new; we already know how to entangle two qbits.
Engangling isn't the same as cloning. The point of cloning is that we could operate on the two bits separately. If they're engangled, operating on one affects the other.
5.3 Phase
You cannot measure the phase of qbit.
You can measure the relative phase of 2 qbits.
Many algorithms encode the answer as a phase shift of a qbit.
Phase kickback means that a gate that runs one way, e.g., the control bit affects an output bit, can be made to run the other way, e.g., the control bit is changed, by making the other bit a Hadamad basis.
5.4 Quantum supremacy
Coined by Preskill in 2012.
Google claimed this in Oct 2019 on a specific (artificial?) problem; see Google section.
IBM disagrees.
5.5 Cloudbased computing
IBM started this.
Alibaba followed.
Then DWave Leap, Rigetti, Amazon AWS Braket and Quantum solutions lab, Microsoft Azure.
IBM's intent is to entangle their computers in different sites; exponentially increasing power.
6 Technologies
Quantum Materials  QuTech Academy 8:57.
6.1 Transmon qubit
6.2 Trapped Ion
Proponents say that it's better than transmon qbits.

"To date, we’ve run singlequbit gates on a 79 ion chain, and complex algorithms on chains of up to 11 ions."
6.3 Quantum annealing
This is not comparable to quantum gates and circuits like IBM has.
It minimizes a function by testing many solutions in parallel.
See details in the DWave section.
Qbit count is not comparable to gate models.
6.4 Photonics
Operates at room temperature.
See Xanadu below.
7 Companies  Primary
These companies have their own hardware.
7.1 IBM
7.1.1 Summary
They have several quantum computers, up to 53 qbits.
The older ones are freely available on the web; see https://quantumcomputing.ibm.com/
Note that you can put gates between only adjacent qbits.
You submit a batch job and get emailed when it runs.

IBM github site: https://github.com/Qiskit with

a free simulator.
It doesn't match all the physical complexity of the real computer, but it's a good start.
and tutorials and presentations.

and a SW development framework. https://qiskit.org/

You can create a quantum computation program either by
designing a circuit, or
using a programming language.
7.1.2 Sites
IBM Introduces First Integrated Quantum Computing System for Commercial Use

Go BehindtheScenes of a Quantum Experiment (2:10) https://quantumexperience.ng.bluemix.net/qx/community/question?questionId=5ae975690f020500399ed39a&channel=videos
or
https://www.youtube.com/watch?v=tfZpJLdkzRU&list=PLOFEBzvsVvpzQnlazij7cL1mjKvJTAwk&index=7

A Qubit in the Making (2:01)
https://www.youtube.com/watch?v=2pB87H3_F_c&list=PLOFEBzvsVvpzQnlazij7cL1mjKvJTAwk&index=10&t=0s
Behold the Mighty Qubit (2:51) https://www.youtube.com/watch?v=_P7K8jUbLU0&list=PLOFEBzvsVvpzQnlazij7cL1mjKvJTAwk&index=10
Classical and Quantum Randomness (3:39) https://www.youtube.com/watch?v=8kyJfAC4VAo&list=PLOFEBzvsVvpzQnlazij7cL1mjKvJTAwk&index=6
Quantum Entanglement (2:21) https://www.youtube.com/watch?v=RmXasxLm43k&list=PLOFEBzvsVvpzQnlazij7cL1mjKvJTAwk&index=5
Benchmarking Quantum Systems (1:58) https://www.youtube.com/watch?v=7L5omzLqU&list=PLOFEBzvsVvpzQnlazij7cL1mjKvJTAwk&index=8
Quantum Pong — Programming on Quantum Computers Season 1 Ep 1 3:54 by Abraham Asfaw.
IBM publishes its quantum roadmap, says it will have a 1,000qubit machine in 2023
https://quantumcomputing.stackexchange.com/questions/tagged/ibmqexperience
https://quantumcomputing.stackexchange.com/questions/tagged/qiskit
7.1.3 Applications on the IBM Q
Quantum Algorithms for Applications from qiskit

This is in Huawei HiQ, an opensource software framework for quantum computing.
https://en.wikipedia.org/wiki/Quantum_algorithm_for_linear_systems_of_equations
7.1.4 IBM Quantum experience
When you design a circuit here, you don't need to simulate it elsewhere. It shows you the probabilities.
Dual view: you can see and edit both the circuit and the QASM code.
There are some sample programs in https://github.com/Qiskit/openqasm.git
Example circuits in https://quantumcomputing.ibm.com/docs/iqx/examplecircuits .
7.2 Intel
Tangle Lake has 49 superconducting qbits.
Produced in Oregon.
Partners with QuTech in Netherlands.
https://www.intel.com/content/www/us/en/research/quantumcomputing.html
7.3 Google

Sycamore has 54 (> 53) transmon qbits in 9x6 array, each coupled to 4 neighbors.
Google quantum General web site.
Day 1 opening keynote by Hartmut Neven (Quantum Summer Symposium 2020) 29:58.
QuantumCasts link to some videos, including the following.
Introduction to Quantum Chess (Quantum Summer Symposium 2020) 13:53.
Quantum Money (Quantum Summer Symposium 2020) 15:56. Peter Shor. It's fun to see what Shor is thinking about now.
QSI Seminar: Dr Marissa Giustina, Google Research, Building Google's Quantum Computer, 09/06/2020 55:52.
Programming a quantum computer with Cirq (QuantumCasts) 10:39.
7.4 DWave
They make a different type of quantum computer, called a quantum annealer. They have been in the news lately, e.g.,
https://arstechnica.com/science/2020/09/dwavereleasesitsnextgenerationquantumannealingchip/

Quantum Programming 101: Solving a Problem From End to End  DWave Webinar 54:25.
"Want to learn how to program a quantum computer? In this webinar, we explain how to do so by running through a complete, simple example. We explain how to formulate the problem, how to write it, and how to tune it for best results. "
"This webinar is intended for those with little or no experience programming on a DWave quantum computer. After watching, get free time on Leap, the quantum cloud service at https://cloud.dwavesys.com/leap/signup/ "

Slides from Programming Quantum Computers: A Primer with IBM Q and DWave Exercises by Frank Mueller, Patrick Dreher, Greg Byrd held at PPoPP (Feb 2019) ASPLOS'19 (Apr 2019),
Part 3: DWave  Adiabatic Quantum Programming

DWave factoring tutorial and other demos
including Jupyter notebooks (you have to login for them).
7.5 IonQ
founders from Maryland/College Park and Duke.
trapped ion
32 qbits.
low error rate
excellent quantum volume
will be available from Microsoft Azure and Amazon AWS Braket.
https://ionq.com/posts/october012020mostpowerfulquantumcomputer
7.6 Honeywell
H1: trapped ion.

10 qbits,
full connectivity,
can read isolated qbits in midcomputation,
hires rotations.
JP Morgan experimenting with it.
7.6.1 Sites
Zdnet: Honeywell's System Model H1 quantum computer available to enterprises
They partner with Microsoft,, Experience quantum impact with Azure Quantum, Cambridge Quantum Computing, Zapata Computing, etc.
7.7 Rigetti
Berkeleybased
founder is exIBM
has lots of tools
available via AWS etc
technical details are sparse
has been absorbing venture capital

"Recently, investors are gambling more on the middleware layer of a quantum computing stack. These are companies like Zapata, QCTRL, Quantum Machines and Aliro, which improve the performance of quantum computers and create an easier user experience"

makes optimistic promises (8/8/18):
https://medium.com/rigetti/therigetti128qubitchipandwhatitmeansforquantumdf757d1b71ea
7.8 Xanadu
https://venturebeat.com/2020/09/02/xanaduphotonicsquantumcloudplatform/
Uses photonics.
Operates primarily at room temperature.
Up to 24 qbits, gate depth of 12.
Has free SW tools, some of which can compile to other quantum technologies.
Expected good applications: graphs and networks, machine learning, and quantum chemistry.
They expect to scale up better than competing technologies.
7.9 Others
Alibaba
1QBit
CQC
QC Ware
QSimulate
Quantum Circuits
Rahko
Zapata
8 Companies  Aggregators
These companies resell others' computers as a cloud service.
8.1 Amazon

https://aws.amazon.com/braket/
"Amazon Braket is a fully managed quantum computing service that helps researchers and developers get started with the technology to accelerate research and discovery. Amazon Braket provides a development environment for you to explore and build quantum algorithms, test them on quantum circuit simulators, and run them on different quantum hardware technologies."
"...quantum annealers from DWave, and gatebased computers from Rigetti and IonQ."
8.2 Microsoft

They offer a cloud service on 3 platforms: Honeywell, IonQ, QCI.

A lot of stuff, with a low S/N.

Azure Quantum Developer Workshop. 5:05:25.
A little diffuse.
For faster quantum computing, Microsoft builds a better qubit 11/7/2019.
Microsoft Quantum Documentation gateway to a lot of stuff.

Microsoft, e.g. Quantum Computing for Computer Scientists 1:28:22.
This is the same viewpoint as the textbook, but the speaker is different.
This talk discards handwavy popscience metaphors and answers a simple question: from a computer science perspective, how can a quantum computer outperform a classical computer? Attendees will learn the following:
Representing computation with basic linear algebra (matrices and vectors)
The computational workings of qbits, superposition, and quantum logic gates
Solving the Deutsch oracle problem: the simplest problem where a quantum computer outperforms classical methods
Bonus topics: quantum entanglement and teleportation
The talk concludes with a live demonstration of quantum entanglement on a realworld quantum computer, and a demo of the Deutsch oracle problem implemented in Q# with the Microsoft Quantum Development Kit. This talk assumes no prerequisite knowledge, although comfort with basic linear algebra (matrices, vectors, matrix multiplication) will ease understanding.
See more at https://www.microsoft.com/enus/research/video/quantumcomputingcomputerscientists/
9 Software
9.1 General
A difficulty is to compile to the limited connectivity of the machine
ProjectQ opensource software framework for quantum computing.
Programming Quantum Computers: A Primer with IBM Q and DWave Exercises . Tutorial given at a few conferences.
9.2 Middleware
https://www.hpcwire.com/offthewire/quantumcomputingincreleasesversion11ofmukaimiddleware/
https://tbri.com/webinars/middlewarethequantumcomputingdifferentiator/ "An integral piece of quantum computing’s success is the middleware bridging existing code and algorithms to the new logical circuitry being established that sits on top of the quantum circuits. This integration and abstraction will allow the technology to process complex algorithms to provide the outcomes the hardware enables."
10 More info
10.1 QuTech Academy
excellent videos from this Delft research group.

Per Delsing: Superconducting qubits as artificial atoms 28:59.
He's describing a different computer from IBM's.

The Taming of the Superconducting Qubit: A Tale of Loss 35:47.
Presenter: Conal Murray, Research Staff Member, IBM Research
The potential of quantum computing to enable new ways of solving problems considered intractable on classical computing platforms relies on our understanding of how qubits operate. Qubit scaling follows different metrics than those associated with classical computing, driven by the requirement that the fragile states they possess can be retained for sufficiently long times. After a brief introduction into superconducting transmon qubits, I will discuss how dielectric loss impacts their relaxation times and how we can effectively model such behavior using analytical and computational approaches. The resulting analysis provides guidance into the design aspects associated with such qubits. A secondary issue that follows from manufacturing greater numbers of qubits involves unwanted communication among them. In particular, resonance modes generated in the substrate on which they reside can limit their operating frequencies. It is known that incorporating grounded, throughsilicon vias can increase the corresponding cutoff frequency within the substrate. I will show how we can predict the resulting spectrum by considering the array of vias as an effective photonic crystal to arrive at a fundamental frequency dependent on the particulars of the via geometry.
10.2 Misc
Quantum Computing UK nice set of docs and examples.
Ricardo Diaz recommends this book: Something Deeply Hidden: Quantum Worlds and the Emergence of Spacetime .
There are now several business reports on the industry.
11 Qiskit demo
IBM has tutorial info, draganddrop circuit design, pythonlike programs, and batch job submission to real Q machines.
12 Summary
Quantum computing hasn't solidly proved itself yet. However it's now in the engineering phase  realizing what we basically know how to do.
IMO the physicists have done it again (last time was atomic energy). This will be a fundamental transformation of computing.
Certain searching algorithms will be exponentially faster.
Algorithm design still needs research. Algorithms are quite complex.
Major application areas like protein folding and drug design.
Several viable technologies competing.
Several HW companies.
Competing toolsets being developed.
Various service platforms to provide simulators and the HW.

Recommendation (remember I'm SW):
Be agnostic wrt platform (we don't know who will win).
Have people use AWS etc to learn and develop apps. No capital investment needed.
Work developing and/or using middleware, which is newer area.

RPIspecific:
Merely playing catchup is a losing game. Need something new.
Assume that IBM etc will make the computers. The big problem with new HW is always how to use it. The ability of customers to use a new tool can determine whether it succeeds.

Include other RPI programs?
Gamify this using Game and Sim?
Work with tetherless world?
I'm still thinking.