Hello World for Quantum Computing

Using Qiskit and a spotlight on VLQS - Very Large Quantum "Startups"

You too can program a quantum computer!

In this basic example in python, we first need to install Qiskit, IBM’s quantum programming framework.

You can run this in a Jupyter notebook or in your terminal. First, install the dependencies we need to run this program.

pip install qiskit
pip install qiskit_aer

Import those modules in python.

# Import necessary components from Qiskit
from qiskit import QuantumCircuit, transpile
from qiskit_aer import Aer

Create a simple quantum circuit of 1 qubit and 1 classical bit. You need the classical bit to store the results of the measurement.

# Create a Quantum Circuit with 1 qubit and 1 classical bit

qc = QuantumCircuit(1, 1)

Apply a Hadamard gate to the qubit created above. The Hadamard gate puts the qubit at index 0 in a state of superposition.

# Apply Hadamard gate to the qubit

qc.h(0)
# Measure the qubit and store the result in the classical bit

qc.measure(0, 0)

Use Aer’s quantum simulator. This module simulates quantum circuits on a classical computer and wouldn’t be required if we were running this on a quantum computer.

# Use the Aer's qasm_simulator

simulator = Aer.get_backend('aer_simulator')

Transpiling is an important step in preparing a quantum circuit for execution. It reduces the number of gates, combines them where possible and also reorders them if needed. It also maps the topology of the qubits in your circuit to the physical qubits in the quantum computer or simulator. And finally it performs techniques to reduce errors.

# Transpile the circuit for the simulator

compiled_circuit = transpile(qc, simulator)

Quantum measurements are probabilistic. Unlike classical computing where the outcome is deterministic, the outcome of measuring a quantum state follows a probability distribution. Here we take 1024 shots.

# Execute the circuit on the simulator

job = simulator.run(compiled_circuit, shots=1024)
# Get the results

result = job.result()
# Get the counts (how many times each result was measured)
counts = result.get_counts(qc)
print("Result: ", counts)

Running this will produce a result close to 50% for each outcome of 0 or 1:

Result:  {'0': 511, '1': 513}

VLQS - Very Large Quantum “Startups”

While IonQ (Nasdaq: IONQ) is the largest publicly listed pure quantum computing company, with a market capitalization of $1.72 billion, did you know there are private quantum computing companies with higher valuations?

PsiQuantum, building “the first useful quantum computers”, is valued at $3.1 billion.

Quantinuum, building trapped-ion quantum computers, is valued at $5.3 billion.

SandboxAQ, which spun out of Alphabet (aka Google) in 2022, raised $500 million which would probably put their valuation in the low billions.