SlideShare una empresa de Scribd logo
1 de 55
Quantum Programming
A New Approach to Solve Complex Problems
Francisco Gálvez Ramirez
IBM Staff
fjgramirez@es.ibm.com
Introducing myself
Francisco Gálvez
BS in Experimental Physics (UV)
Master in Advanced Physics (UV)
Cloud and Integrated Systems Expert
fjgramirez@es.ibm.com
@fjgramirez
Francisco J. Galvez Ramirez
Agenda
 Why Quantum Computation
 The IBM Quantum Computer
 Quantum Algorithms
 How to Program a Quantum Computer
 Tools for Quantum Computing
Why Quantum Computation ?
Why Quantum Computation ?
“...nature isn't classical, dammit, and if you want to make a simulation
of nature, you'd better make it quantum mechanical...” –
Richard Feynman, Simulating Physics with Computers
Why Quantum Computation ?
A qubit is the quantum concept of a bit.
0 1  It’s not any element or device. It’s a logical concept
that can be implemented on a wide range of
different systems with quantum behaviour
 As a bit, a single qubit can represent two states 0
and 1
But additionally a qubit is able to manage all possible combinations
amont base states 0 and 1
10 βα +
10 βαψ +=
What is a Qubit?
Why Quantum Computation ?
Spin Qubits – Electron or nuclear spins on a solid Substract.
Superconducting Circuits – currents superposition around a superconductor.
Ion’s Traps– Trap ions in electric fields
Photonic Circuits – The qubits are photons driven in in silicon circuits.
Qubit Implementation
Why Quantum Computation ?
 2 BITS
0
1
0 0
0
1
0
1
A 0 0 + B 1 0 + C 0 1 + D 1 1
1 0
0 1
1 1
 2 QUBITS
One state made of a combination
of every possible state of the
system
Quantum Superposition
Why Quantum Computation ?
Quantum Entanglement
1. Preparing an
entangled states.
An entangled stated can be
prepared by applying a common
operation to the system.
2. Measurement
0
1
The IBM Quantum Computer
March - 2016: Quantum Computing in the
Cloud
 IBM scientists have built a quantum processor
that any user can access through the first
quantum computing platform available in the
cloud.
 IBM Quantum Experience, allows users to
execute algorithms and experiments on a real
quantum processor
Marzo-2017: IBM announces IBM Q
IBM Q is the new line of Quantum Computers
IBM announces the building of a quantum computer of 50 qubits and
that will offer services of quantum computation in the cloud
Mayo-2017: First Commercial Quantum
Computer
16 and 17 qubits universal quantum computers
IBM announces a prototype of
17 qubits commercial quantum
computing
IBM has discovered how to
scale quantum architecture
In three years it is planned to
reach 50 qubits
IBM Superconducting Qubits Arquitecture
IBM's new 17-qubit quantum computer.
Coherence Times
• Coherence in IBM today is about
100 microseconds
• There are several initiatives to
improve the coherence times:
• Different materials
• Redesign of geometries
• Cavity Quality
• IR Shielding
• Important progress has been
made in the last decade
The Quantum Volume
The Dilution Refrigerator
 A key piece of the Quantum Computer is the Dilution Refrigerator
Working Temperature 15 mK
Dilution Refrigerator
3
He + 4
He
Some Quantum Algorithms
Quantum Algorithms
• Deusch Algorithm – Determines whether a funcion is balanced or
unbalanced
• Shor Algorithm – Large numbers factorization
• Grover Algoritm – Search in unstructured spaces
Deustch Algorithm
f1:
0 0
1 0
f2:
0 1
1 1
Deustch-Josza Algorithm  Extends Deustch’s
algorithm to n value registers
f3:
0 0
1 1
f4:
0 1
1 0
Shor Algorithm
• Number of steps that a classic computer needs to run in order
to find the prime factors of a number N of x digits
It grows exponencially with x
• The Shor algorithm is made up of two parts:
1. One Classical part - Which focuses on finding the period
of a function
2. A quantum part based on QFT technics
In 2001, IBM and Stanford University, executed for the first time the Shor algorithm in the first quantum computer of 7
qubits developed in Los Álamos.
https://www-03.ibm.com/press/us/en/pressrelease/965.wss
Grover Algorithm
• How many attempts need a data search in an unordered N-
element database to locate a particular element?
An average of N/2 attemps are needed)
http://www.dma.eui.upm.es/MatDis/Seminario4/AlgoritmoGrover.pdf
• A Quantum Computer executing the Grover Algorithm would
run attempsN
How To Program A Quantum Computer?
Quantum Circuits
The Circuit Model
Gates execution time ~ 25 ns
~25 ns~25 ns ~25 ns ... ... ... ... ...
Coherence time 100 ms
measurement
Quantum Operations
X-Gate
Flips a qubit from a 0 to a 1, or vice versa.
Hadamard Gate
Puts a qubit into a superposition of states.
Flips a second qubit only if the first qubit is 1.
Controlled Not Gate
Entanglement
H gate puts the first qubit in a
superposition. CNOT gate both
flips and does not flip the
second qubit.
Assuming the qubits start as 0,
when measured, they will be 11
or 00, but never 10 or 01.
Quantum Operations
 It is a basic circuit that acts on one or several qubits
 It is equivalent to logical gates in digital circuits
Quantum Gates
1. Quantum Gates are Reversible
2. Matematically are represented by unitary matrices.
3. The qubits upon they act keep their quantum nature.






−
=
11
11
2
1












=
0100
1000
0010
0001
=
Hadamard Gate
C-NOT Gate






=
01
10
X - Gate
Quantum Operations
Quantum Gates Set
Tools For Quantum Programming
Tools for Quantum Programming
IBM Quantum Experience
Visual interface, Drag and Drop for 5 qubits
QISKit OpenQASM
Asembler Language for representing Quantum
Circuits
QISKit API
Python API to create and execute Quantum Circuits
IBM Quantum Experience
 Graphical Interface used to create programs for the quantum processor
 It allows to create quantum circuits using a logical gates library and well defined points of
measurement
Programming the Grover Algorithm – (I)
 A list of N item and there’s one item with a unique property that we wish to locate
1 2 3 4 ... ... N=2nω
 A classical computation needs to check on average of this boxes2N
 On a quantum computer, using the Grover’s algorithm it can be done in aprox. stepsN
Programming the Grover Algorithm – (II)
∑
−
=
=
1
0
1 N
x
x
N
s
 At the beginning we have a uniform superposition
amplitu
de
0ψ
N
1
Items1 2 3 ( .... )
Programming the Grover Algorithm – (III)
 We need a function such that: for the marked state:1)( =xf ω
 In that way we build the “oracle” matrix: fU
( ) xxU xf
f
)(
1−=
 Applying the oracle reflection: If is an unmarked item, the oracle does nothing, otherwise:x
ωω −=fU
amplitu
de
0ψ
N
1
Items1 2 3 ( .... )
Programming the Grover Algorithm
 We now apply an additional reflection about the state .
 In the bra-ket notation this reflection is written as:
 This transformation maps the state to:
 and completes the transformation:
s
12 −= ssUs
'tsU ψ
tfst UU ψψ =+1
amplitude
0ψ
Items1 2 3 ( .... )
sU
Programming the Grover Algorithm – (IV)
Programming the Grover Algorithm – (V)
Programming the Grover Algorithm – (VI)
Programming the Grover Algorithm – (VII)
Programming the Grover Algorithm – (VIII)
Programming the Grover Algorithm – (IX)
Programming the Grover Algorithm – (X)
 Getting the right oracle function :
For element
For element
For element
For element
00
fU
10
11
fU
Programming the Grover Algorithm – Results
 asdf
QISKit OpenQASM
What is OpenQASM?
An intermediate representation for Quantun Circuits
Hardware Agnostic
OPENQASM, or “Quantum Assembly Language,” is a simple
text representation that describes generic quantum circuits.
OpenQASM submit batch jobs via HTTP API/PYTHON wrapper.
OpenQASM
Language Statements
IBMQASM 2.0;
qreg name[size];
creg name[size];
include "filename";
gate name(params) qargs { body }
opaque name(params) qargs;
U(theta,phi,lambda) qubit|qreg;
CX qubit|qreg,qubit|qreg;
measure qubit|qreg -> bit|creg;
reset qubit|qreg;
gatename(params) qargs;
if(creg==int) qop;
barrier qargs;
QISKit OpenQASM
Predefined Gates
// These are the predefined gates
U(theta,phi,lambda) qubit|qreg;
CX qubit|qreg,qubit|qreg;
New Gate Definition
// This is the definition
gate name(params) qargs
{
body
}
// This is an example
gate g a
{
U(0,0,0) a;
}
gate crz(theta) a,b
{
U(0,0,theta/2) a;
CX a,b;
U(0,0,-theta/2) b;
CX a,b;
U(0,0,theta/2) b;
}
crz(pi/2) q[0],q[1];
QISKit OpenQASM
Example: Quantum Fourier Transform// quantum Fourier
transform
IBMQASM 2.0;
include "qelib1.inc";
qreg q[4];
creg c[4];
x q[0];
x q[2];
barrier q;
h q[0];
cu1(pi/2) q[1],q[0];
h q[1];
cu1(pi/4) q[2],q[0];
cu1(pi/2) q[2],q[1];
h q[2];
cu1(pi/8) q[3],q[0];
cu1(pi/4) q[3],q[1];
cu1(pi/2) q[3],q[2];
h q[3];
measure q -> c;
 The quantum Fourier transform demonstrates parameter
passing to gate subroutines.
 This circuit applies the QFT to the state
and measures in the computational basis.
=3210 qqqq 0101
QISKit API
What is QISKit API?
 Access to IBM’s Quantum Experience using a Python interface.
 This interface allows working with quantum circuits and executing multiple
circuits in an efficient batch of experiments.
QISKit API
Basic program elements:
The Quantum Program
QuantumProgram()
The Circuit
.create_circuit()
The Quantum Register
.create_quantum_registers()
The Classical Register
.create_classical_registers()
QISKit API
The Circuit
First, create the circuit
circuit = Q_program.get_circuit(“Circuit")
The Registers
 Quantum Registers
q2 = Q_program.create_quantum_registers("q2", 2)
 Classical Registers
c2 = Q_program.create_classical_registers("c2", 2)
QISKit API
The Gates
Adding Gates to the circuit
QISKit API
Extracting QASM code
QISKit API
Creating an entangled Bell state
1.Create Quantum Registers
q2 = Q_program.create_quantum_registers("q2", 2)
1.Create Classical Registers
c2 = Q_program.create_classical_registers("c2", 2)
Thanks

Más contenido relacionado

La actualidad más candente

Quantum computing for CS students: open source software
Quantum computing for CS students: open source softwareQuantum computing for CS students: open source software
Quantum computing for CS students: open source software
Bruno Fedrici, PhD
 
Quantum computation - Introduction
Quantum computation - IntroductionQuantum computation - Introduction
Quantum computation - Introduction
Aakash Martand
 

La actualidad más candente (20)

Quantum computing
Quantum computingQuantum computing
Quantum computing
 
Quantum Computing
Quantum ComputingQuantum Computing
Quantum Computing
 
Quantum Computing and Quantum Supremacy at Google
Quantum Computing and Quantum Supremacy at GoogleQuantum Computing and Quantum Supremacy at Google
Quantum Computing and Quantum Supremacy at Google
 
Quantum computing for CS students: the unitary circuit model
Quantum computing for CS students: the unitary circuit modelQuantum computing for CS students: the unitary circuit model
Quantum computing for CS students: the unitary circuit model
 
The second quantum revolution: the world beyond binary 0 and 1
The second quantum revolution: the world beyond binary 0 and 1The second quantum revolution: the world beyond binary 0 and 1
The second quantum revolution: the world beyond binary 0 and 1
 
Quantum computing
Quantum computingQuantum computing
Quantum computing
 
Quantum computing for CS students: open source software
Quantum computing for CS students: open source softwareQuantum computing for CS students: open source software
Quantum computing for CS students: open source software
 
Quantum computation: past-now-future - 2021-06-19
Quantum computation: past-now-future - 2021-06-19Quantum computation: past-now-future - 2021-06-19
Quantum computation: past-now-future - 2021-06-19
 
Quantum Computing Basics
Quantum Computing BasicsQuantum Computing Basics
Quantum Computing Basics
 
Introduction to Quantum Computing with Qiskit
Introduction to Quantum Computing with QiskitIntroduction to Quantum Computing with Qiskit
Introduction to Quantum Computing with Qiskit
 
Taking Quantum Computing for a Spin: What is Imaginary and What is Real?
Taking Quantum Computing for a Spin: What is Imaginary and What is Real?Taking Quantum Computing for a Spin: What is Imaginary and What is Real?
Taking Quantum Computing for a Spin: What is Imaginary and What is Real?
 
Quantum computing
Quantum computing Quantum computing
Quantum computing
 
Quantum algorithms for pattern matching in genomic sequences - 2018-06-22
Quantum algorithms for pattern matching in genomic sequences - 2018-06-22Quantum algorithms for pattern matching in genomic sequences - 2018-06-22
Quantum algorithms for pattern matching in genomic sequences - 2018-06-22
 
Quantum Computing and Blockchain: Facts and Myths
Quantum Computing and Blockchain: Facts and Myths  Quantum Computing and Blockchain: Facts and Myths
Quantum Computing and Blockchain: Facts and Myths
 
Quantum computing.ppt
Quantum computing.pptQuantum computing.ppt
Quantum computing.ppt
 
Quantum Computing
Quantum ComputingQuantum Computing
Quantum Computing
 
IEEE EED2021 Introduction to Quantum Computing
IEEE EED2021 Introduction to Quantum ComputingIEEE EED2021 Introduction to Quantum Computing
IEEE EED2021 Introduction to Quantum Computing
 
Quantum computing - 2021-01-09
Quantum computing - 2021-01-09Quantum computing - 2021-01-09
Quantum computing - 2021-01-09
 
D-WaveQuantum ComputingAccess & applications via cloud deployment
D-WaveQuantum ComputingAccess & applications via cloud deploymentD-WaveQuantum ComputingAccess & applications via cloud deployment
D-WaveQuantum ComputingAccess & applications via cloud deployment
 
Quantum computation - Introduction
Quantum computation - IntroductionQuantum computation - Introduction
Quantum computation - Introduction
 

Similar a 2017 07 04_cmmse_quantum_programming_v1

Quantum Computing with Amazon Braket
Quantum Computing with Amazon BraketQuantum Computing with Amazon Braket
Quantum Computing with Amazon Braket
Amazon Web Services
 

Similar a 2017 07 04_cmmse_quantum_programming_v1 (20)

Des2017 quantum computing_final
Des2017 quantum computing_finalDes2017 quantum computing_final
Des2017 quantum computing_final
 
Quantum Computing with Amazon Braket
Quantum Computing with Amazon BraketQuantum Computing with Amazon Braket
Quantum Computing with Amazon Braket
 
Quantum Computing with Amazon Braket
Quantum Computing with Amazon BraketQuantum Computing with Amazon Braket
Quantum Computing with Amazon Braket
 
Analysis
AnalysisAnalysis
Analysis
 
Quantum computing
Quantum computingQuantum computing
Quantum computing
 
Navneet presentation
Navneet presentationNavneet presentation
Navneet presentation
 
02 analysis
02 analysis02 analysis
02 analysis
 
Classification of EEG P300 ERPs using Riemannian Geometry and Quantum Computing
Classification of EEG P300 ERPs using Riemannian Geometry and Quantum ComputingClassification of EEG P300 ERPs using Riemannian Geometry and Quantum Computing
Classification of EEG P300 ERPs using Riemannian Geometry and Quantum Computing
 
Quantum Computers
Quantum ComputersQuantum Computers
Quantum Computers
 
Quantum Computing: The Why and How
Quantum Computing: The Why and HowQuantum Computing: The Why and How
Quantum Computing: The Why and How
 
Quantum Computation simplified.pptx
Quantum Computation simplified.pptxQuantum Computation simplified.pptx
Quantum Computation simplified.pptx
 
Tears for quantum fears
Tears for quantum fearsTears for quantum fears
Tears for quantum fears
 
Strengths and limitations of quantum computing
Strengths and limitations of quantum computingStrengths and limitations of quantum computing
Strengths and limitations of quantum computing
 
Universal Adiabatic Quantum Computer v1.0
Universal Adiabatic Quantum Computer v1.0Universal Adiabatic Quantum Computer v1.0
Universal Adiabatic Quantum Computer v1.0
 
Genomics algorithms on digital NISQ accelerators - 2019-01-25
Genomics algorithms on digital NISQ accelerators - 2019-01-25Genomics algorithms on digital NISQ accelerators - 2019-01-25
Genomics algorithms on digital NISQ accelerators - 2019-01-25
 
Intro to Quantum Computing - IndiQ Hyderabad meetup (Feb 2nd)
Intro to Quantum Computing - IndiQ Hyderabad meetup (Feb 2nd)Intro to Quantum Computing - IndiQ Hyderabad meetup (Feb 2nd)
Intro to Quantum Computing - IndiQ Hyderabad meetup (Feb 2nd)
 
Reversible Logic Synthesis and RevKit
Reversible Logic Synthesis and RevKitReversible Logic Synthesis and RevKit
Reversible Logic Synthesis and RevKit
 
What is Quantum Computing and Why it is Important
What is Quantum Computing and Why it is ImportantWhat is Quantum Computing and Why it is Important
What is Quantum Computing and Why it is Important
 
Overview of quantum computing and it's application in artificial intelligence
Overview of quantum computing and it's application in artificial intelligenceOverview of quantum computing and it's application in artificial intelligence
Overview of quantum computing and it's application in artificial intelligence
 
Quantum computing
Quantum computingQuantum computing
Quantum computing
 

Más de Francisco J. Gálvez Ramírez

Más de Francisco J. Gálvez Ramírez (9)

2019 03 28_upv_computacion_cuantica_liderat
2019 03 28_upv_computacion_cuantica_liderat2019 03 28_upv_computacion_cuantica_liderat
2019 03 28_upv_computacion_cuantica_liderat
 
2019 03 28_upv_transformacion_digital_liderat
2019 03 28_upv_transformacion_digital_liderat2019 03 28_upv_transformacion_digital_liderat
2019 03 28_upv_transformacion_digital_liderat
 
Perfiles en Tecnologias Cuanticas
Perfiles en Tecnologias CuanticasPerfiles en Tecnologias Cuanticas
Perfiles en Tecnologias Cuanticas
 
2017 12 19_campus_madrid_the_age_of_quantumcomputing_final
2017 12 19_campus_madrid_the_age_of_quantumcomputing_final2017 12 19_campus_madrid_the_age_of_quantumcomputing_final
2017 12 19_campus_madrid_the_age_of_quantumcomputing_final
 
2017 09 07_programar_ordenadorcuanticov3
2017 09 07_programar_ordenadorcuanticov32017 09 07_programar_ordenadorcuanticov3
2017 09 07_programar_ordenadorcuanticov3
 
Evento univ30may quantumcomputing_final
Evento univ30may quantumcomputing_finalEvento univ30may quantumcomputing_final
Evento univ30may quantumcomputing_final
 
Breve historia de_la_computacion_cuantica
Breve historia de_la_computacion_cuanticaBreve historia de_la_computacion_cuantica
Breve historia de_la_computacion_cuantica
 
Introduccion algoritmoscuanticos
Introduccion algoritmoscuanticosIntroduccion algoritmoscuanticos
Introduccion algoritmoscuanticos
 
Lenguajes para programación cuántica
Lenguajes para programación cuánticaLenguajes para programación cuántica
Lenguajes para programación cuántica
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 

2017 07 04_cmmse_quantum_programming_v1

  • 1. Quantum Programming A New Approach to Solve Complex Problems Francisco Gálvez Ramirez IBM Staff fjgramirez@es.ibm.com
  • 2.
  • 3. Introducing myself Francisco Gálvez BS in Experimental Physics (UV) Master in Advanced Physics (UV) Cloud and Integrated Systems Expert fjgramirez@es.ibm.com @fjgramirez Francisco J. Galvez Ramirez
  • 4. Agenda  Why Quantum Computation  The IBM Quantum Computer  Quantum Algorithms  How to Program a Quantum Computer  Tools for Quantum Computing
  • 6. Why Quantum Computation ? “...nature isn't classical, dammit, and if you want to make a simulation of nature, you'd better make it quantum mechanical...” – Richard Feynman, Simulating Physics with Computers
  • 7. Why Quantum Computation ? A qubit is the quantum concept of a bit. 0 1  It’s not any element or device. It’s a logical concept that can be implemented on a wide range of different systems with quantum behaviour  As a bit, a single qubit can represent two states 0 and 1 But additionally a qubit is able to manage all possible combinations amont base states 0 and 1 10 βα + 10 βαψ += What is a Qubit?
  • 8. Why Quantum Computation ? Spin Qubits – Electron or nuclear spins on a solid Substract. Superconducting Circuits – currents superposition around a superconductor. Ion’s Traps– Trap ions in electric fields Photonic Circuits – The qubits are photons driven in in silicon circuits. Qubit Implementation
  • 9. Why Quantum Computation ?  2 BITS 0 1 0 0 0 1 0 1 A 0 0 + B 1 0 + C 0 1 + D 1 1 1 0 0 1 1 1  2 QUBITS One state made of a combination of every possible state of the system Quantum Superposition
  • 10. Why Quantum Computation ? Quantum Entanglement 1. Preparing an entangled states. An entangled stated can be prepared by applying a common operation to the system. 2. Measurement 0 1
  • 11. The IBM Quantum Computer
  • 12. March - 2016: Quantum Computing in the Cloud  IBM scientists have built a quantum processor that any user can access through the first quantum computing platform available in the cloud.  IBM Quantum Experience, allows users to execute algorithms and experiments on a real quantum processor
  • 13. Marzo-2017: IBM announces IBM Q IBM Q is the new line of Quantum Computers IBM announces the building of a quantum computer of 50 qubits and that will offer services of quantum computation in the cloud
  • 14. Mayo-2017: First Commercial Quantum Computer 16 and 17 qubits universal quantum computers IBM announces a prototype of 17 qubits commercial quantum computing IBM has discovered how to scale quantum architecture In three years it is planned to reach 50 qubits
  • 15. IBM Superconducting Qubits Arquitecture IBM's new 17-qubit quantum computer.
  • 16. Coherence Times • Coherence in IBM today is about 100 microseconds • There are several initiatives to improve the coherence times: • Different materials • Redesign of geometries • Cavity Quality • IR Shielding • Important progress has been made in the last decade
  • 18. The Dilution Refrigerator  A key piece of the Quantum Computer is the Dilution Refrigerator Working Temperature 15 mK Dilution Refrigerator 3 He + 4 He
  • 19.
  • 21. Quantum Algorithms • Deusch Algorithm – Determines whether a funcion is balanced or unbalanced • Shor Algorithm – Large numbers factorization • Grover Algoritm – Search in unstructured spaces
  • 22. Deustch Algorithm f1: 0 0 1 0 f2: 0 1 1 1 Deustch-Josza Algorithm  Extends Deustch’s algorithm to n value registers f3: 0 0 1 1 f4: 0 1 1 0
  • 23. Shor Algorithm • Number of steps that a classic computer needs to run in order to find the prime factors of a number N of x digits It grows exponencially with x • The Shor algorithm is made up of two parts: 1. One Classical part - Which focuses on finding the period of a function 2. A quantum part based on QFT technics In 2001, IBM and Stanford University, executed for the first time the Shor algorithm in the first quantum computer of 7 qubits developed in Los Álamos. https://www-03.ibm.com/press/us/en/pressrelease/965.wss
  • 24. Grover Algorithm • How many attempts need a data search in an unordered N- element database to locate a particular element? An average of N/2 attemps are needed) http://www.dma.eui.upm.es/MatDis/Seminario4/AlgoritmoGrover.pdf • A Quantum Computer executing the Grover Algorithm would run attempsN
  • 25. How To Program A Quantum Computer?
  • 26. Quantum Circuits The Circuit Model Gates execution time ~ 25 ns ~25 ns~25 ns ~25 ns ... ... ... ... ... Coherence time 100 ms measurement
  • 27. Quantum Operations X-Gate Flips a qubit from a 0 to a 1, or vice versa. Hadamard Gate Puts a qubit into a superposition of states. Flips a second qubit only if the first qubit is 1. Controlled Not Gate Entanglement H gate puts the first qubit in a superposition. CNOT gate both flips and does not flip the second qubit. Assuming the qubits start as 0, when measured, they will be 11 or 00, but never 10 or 01.
  • 28. Quantum Operations  It is a basic circuit that acts on one or several qubits  It is equivalent to logical gates in digital circuits Quantum Gates 1. Quantum Gates are Reversible 2. Matematically are represented by unitary matrices. 3. The qubits upon they act keep their quantum nature.       − = 11 11 2 1             = 0100 1000 0010 0001 = Hadamard Gate C-NOT Gate       = 01 10 X - Gate
  • 30. Tools For Quantum Programming
  • 31. Tools for Quantum Programming IBM Quantum Experience Visual interface, Drag and Drop for 5 qubits QISKit OpenQASM Asembler Language for representing Quantum Circuits QISKit API Python API to create and execute Quantum Circuits
  • 32. IBM Quantum Experience  Graphical Interface used to create programs for the quantum processor  It allows to create quantum circuits using a logical gates library and well defined points of measurement
  • 33. Programming the Grover Algorithm – (I)  A list of N item and there’s one item with a unique property that we wish to locate 1 2 3 4 ... ... N=2nω  A classical computation needs to check on average of this boxes2N  On a quantum computer, using the Grover’s algorithm it can be done in aprox. stepsN
  • 34. Programming the Grover Algorithm – (II) ∑ − = = 1 0 1 N x x N s  At the beginning we have a uniform superposition amplitu de 0ψ N 1 Items1 2 3 ( .... )
  • 35. Programming the Grover Algorithm – (III)  We need a function such that: for the marked state:1)( =xf ω  In that way we build the “oracle” matrix: fU ( ) xxU xf f )( 1−=  Applying the oracle reflection: If is an unmarked item, the oracle does nothing, otherwise:x ωω −=fU amplitu de 0ψ N 1 Items1 2 3 ( .... )
  • 36. Programming the Grover Algorithm  We now apply an additional reflection about the state .  In the bra-ket notation this reflection is written as:  This transformation maps the state to:  and completes the transformation: s 12 −= ssUs 'tsU ψ tfst UU ψψ =+1 amplitude 0ψ Items1 2 3 ( .... ) sU
  • 37. Programming the Grover Algorithm – (IV)
  • 38. Programming the Grover Algorithm – (V)
  • 39. Programming the Grover Algorithm – (VI)
  • 40. Programming the Grover Algorithm – (VII)
  • 41. Programming the Grover Algorithm – (VIII)
  • 42. Programming the Grover Algorithm – (IX)
  • 43. Programming the Grover Algorithm – (X)  Getting the right oracle function : For element For element For element For element 00 fU 10 11 fU
  • 44. Programming the Grover Algorithm – Results  asdf
  • 45. QISKit OpenQASM What is OpenQASM? An intermediate representation for Quantun Circuits Hardware Agnostic OPENQASM, or “Quantum Assembly Language,” is a simple text representation that describes generic quantum circuits. OpenQASM submit batch jobs via HTTP API/PYTHON wrapper.
  • 46. OpenQASM Language Statements IBMQASM 2.0; qreg name[size]; creg name[size]; include "filename"; gate name(params) qargs { body } opaque name(params) qargs; U(theta,phi,lambda) qubit|qreg; CX qubit|qreg,qubit|qreg; measure qubit|qreg -> bit|creg; reset qubit|qreg; gatename(params) qargs; if(creg==int) qop; barrier qargs;
  • 47. QISKit OpenQASM Predefined Gates // These are the predefined gates U(theta,phi,lambda) qubit|qreg; CX qubit|qreg,qubit|qreg; New Gate Definition // This is the definition gate name(params) qargs { body } // This is an example gate g a { U(0,0,0) a; } gate crz(theta) a,b { U(0,0,theta/2) a; CX a,b; U(0,0,-theta/2) b; CX a,b; U(0,0,theta/2) b; } crz(pi/2) q[0],q[1];
  • 48. QISKit OpenQASM Example: Quantum Fourier Transform// quantum Fourier transform IBMQASM 2.0; include "qelib1.inc"; qreg q[4]; creg c[4]; x q[0]; x q[2]; barrier q; h q[0]; cu1(pi/2) q[1],q[0]; h q[1]; cu1(pi/4) q[2],q[0]; cu1(pi/2) q[2],q[1]; h q[2]; cu1(pi/8) q[3],q[0]; cu1(pi/4) q[3],q[1]; cu1(pi/2) q[3],q[2]; h q[3]; measure q -> c;  The quantum Fourier transform demonstrates parameter passing to gate subroutines.  This circuit applies the QFT to the state and measures in the computational basis. =3210 qqqq 0101
  • 49. QISKit API What is QISKit API?  Access to IBM’s Quantum Experience using a Python interface.  This interface allows working with quantum circuits and executing multiple circuits in an efficient batch of experiments.
  • 50. QISKit API Basic program elements: The Quantum Program QuantumProgram() The Circuit .create_circuit() The Quantum Register .create_quantum_registers() The Classical Register .create_classical_registers()
  • 51. QISKit API The Circuit First, create the circuit circuit = Q_program.get_circuit(“Circuit") The Registers  Quantum Registers q2 = Q_program.create_quantum_registers("q2", 2)  Classical Registers c2 = Q_program.create_classical_registers("c2", 2)
  • 52. QISKit API The Gates Adding Gates to the circuit
  • 54. QISKit API Creating an entangled Bell state 1.Create Quantum Registers q2 = Q_program.create_quantum_registers("q2", 2) 1.Create Classical Registers c2 = Q_program.create_classical_registers("c2", 2)

Notas del editor

  1. IBMQASM 2.0; Denotes a le in IBM QASM formata IBMQASM 2.0; qreg name[size]; Declare a named register of qubits qreg q[5]; creg name[size]; Declare a named register of bits creg c[5]; include "filename"; Open and parse another source le include "qelib1.inc"; gate name(params) qargs { body } Declare a unitary gate (see text) opaque name(params) qargs; Declare an opaque gate (see text) // comment text Comment a line of text // oops! U(theta,phi,lambda) qubit|qreg; Apply built-in single qubit gate(s)b U(pi/2,2*pi/3,0) q[0]; CX qubit|qreg,qubit|qreg; Apply built-in CNOT gate(s) CX q[0],q[1]; measure qubit|qreg -> bit|creg; Make measurement(s) in Z basis measure q -> c; reset qubit|qreg; Prepare qubit(s) in j0i reset q[0]; gatename(params) qargs; Apply a user-dened unitary gate crz(pi/2) q[1],q[0]; if(creg==int) qop; Conditionally apply quantum operation if(c==5) CX q[0],q[1]; barrier qargs; Prevent transformations across this source line