The document provides an introduction to quantum computing fundamentals using an object-oriented approach. It discusses quantum theory, registers, gates and simulations. Key concepts covered include superposition, matrix operations, single and multi-qubit gates like Pauli-X, CNOT and their representations. The presenter aims to demonstrate quantum computing principles via a .NET simulator called Q#.
3. About me
VITAL STATISTICS
Human Male
Height: 183 cm
Weight: 82 kg
Favourite Enzyme: ATP Synthase
PROFESSIONAL
Bachelor of IT (RMIT)
Research Student (RMIT):
Computational Materials
Discovery
Senior Developer @ Xero
11. Classical vs. Quantum Systems
CLASSICAL
Manipulation of a register using Boolean algebra
One operation = one result
QUANTUM
Manipulation of a register using Matrix algebra
One operation = many results
16. The Register
β’ Constructed from qubits
β’ Consists of computational basis states
β’ Can be referred to as the βstate vectorβ
β’ Preparation
β’ Normalisation
17. The Register - Superposition
A quantum state added to another quantum state yields a further
quantum state.
Classical:
π¦ = π₯
16 = 16 β 16 ππππ π ππππ πππ‘π
Quantum:
π¦ = 2 π₯
16 = 24
β 4 ππ’πππ‘π
30. Imaginary Numbers
β’ The imaginary number π has the following property:
π2 = β1
β’ When π is squared, the sign of the term is changed
β’ Example:
5π2
= 5 Γ β1
= β5
32. SINGLE Qubit Gate, Multi qubit system
β’ State vector in a 2 qubit system contains 4 rows
β’ Single-qubit matrices contain 2 columns: not big enough to
participate
β’ Single-qubit matrix must be βstepped-upβ to be the appropriate size
β’ βStep-upβ is achieved with the help of the identity matrix
33. Identity Matrix
β’ Simple diagonal matrix
1 0
0 1
β’ Specifying the index of the qubit the gate is operating on
β’ Tensor operations with an identity matrix
38. CNOT Gate
β’ Acts on two qubits
β’ Flips the target qubit if and only if the control qubit is 1
β’ Singly-controlled NOT gate
β’ Represented by the following matrix:
1 0
0 1
0 0
0 0
0 0
0 0
0 1
1 0
49. Q# 1.0.0.4
β’ An object-oriented quantum simulator written in C#
β’ Nuget package QSharp Mathematics
β’ Command parser
β’ Supports the following gates: CNOT, CSWAP, CZ, Hadamard, X, Y, Z,
Swap, Toffoli
β’ Good for about 8 qubits
50. Q# Code Example 1
β’ Create a register using 3 random qubits
β’ Print the initial state to the console
51. Q# Code Example 2
β’ Create a register using 3 random qubits
β’ Print the initial state to the console
β’ Create a Pauli X gate
β’ Apply the X gate to qubit 0
β’ Print the state to the console
β’ Apply the X gate to qubit 1
β’ Print the final state to the console
52. Q# Code Example 3
β’ Create a register using 5 random qubits
β’ Print the initial state to the console
β’ Read commands from a file
β’ Apply the commands using the Parser type
β’ Print the final state to the console
β’ Use the command results to generate a circuit diagram
53. Q# 1.0.0.5 β More Explosions!
β’ Rewritten matrix storage β huge memory savings!
β’ Supports custom Command types
β’ Good for 25 qubits (on my machine, anyway)
β’ Bigger, faster, more explosions! *
β’ Coming soon:
β’ .NET 1.0.0.5
β’ C++ libraries
β’ Java libraries (maybe)
β’ * May (or may not) cause actual explosions
57. D-Wave
β’ Controversial claims about βquantumnessβ
β’ Is it actually a quantum computer?
β’ Adiabatic device
What an impressive beastie!
58. Practical Quantum Computing
β’ Quantum chemistry
β’ Complex molecule design and modelling
β’ Complex materials research
β’ Encryption and communication
β’ Searching large databases
β’ Solving complex systems of equations
60. Quantum Computing Futures
β’ Industry fragmentation
β’ Hardware production hurdles
β’ Large corporations (Microsoft, Google etc.) have their own quantum
programs
β’ There is a lot of work to do!