Programando
Ordenadores
Cuánticos
Francisco Gálvez Ramirez
fjgramirez@abdprof.com
Superordenadores
Sistema de muchos cuerpos (Many-Body System)
El mejor superordenador del
mundo puede simular un
sistema de 40-50 electrones
Ley de Moore
¿Cuanto tiempo nos queda para llegar al
comportamiento cuántico de la naturaleza?
IBM 5nm chip
1981 Primera Conferencia sobre Física de la
Computación
Esta primera conferencia tuvo lugar entre el MIT e IBM. Allí, el premio
nobel Richard Feynman lanzo el desafió a los de desarrollar un nuevo
tipo de ordenadores basados en los conceptos cuánticos.
¿Que resuelve la Computación Cuántica?
Transformación de problemas con un crecimiento exponencial de la
complejidad en problemas con un crecimiento polínómico.
El problema del viajante
Busquedas no indexadas (Algoritmo de Grover)
Factorización de Grandes Números (Algoritmo de Shor)
887339 = p x q
Haciendo uso de conceptos mecano-cuánticos, Lov Grover crea una algoritmo
ultra-rapido para realizar búsquedas en bases de datos
• ¿Cuantos intentos son necesarios para encontrar un
elemento dentro de un conjunto de N elementos
desordenados?
Son necesarios una media de N/2 intentos
Búsquedas no ordenadas – Algoritmo de Grover
Factorización de Grandes Números
Nº Digitos Nº Pasos Resolución (1μs/step)
60 1011 3 dias
100 1015 74 años
200 1023 109 años
500 1011 1025 años
937 x 947 = N (Problema fácil)
887339 = p x q (Problema no tan fácil)
La robustez de la factorización es la base del algoritmo RSA
Expectativas en Computación Cuántica
Criptografía,
Comunicaciones y
Seguridad
Química Cuántica,
Medicina y Nuevos
Materiales
Machine Learning
&
Deep Learning
Búsqueda no
Indexada en
Big Data
Criptografia, Comunicaciones y Seguridad
 Quantum Key Distribution (QKD)
Uso de propiedades cuánticas para intercambio de claves
criptográficas, que se utilizan para cifrar mensajes a través de un
canal inseguro.
.
 Quantum Internet
Comunicación cuántica de largo alcance, conexión a los procesadores
cuánticos y mayores capacidades de transmision más segura
 Post-Quantum Encryption
Necesidad de algoritmos criptográficos cuánticos resistentes a
los nuevos estándares criptográficos de clave pública
Simulación Química y de Nuevos Materiales
• Simulación de modelos electrónicos reales con varios
cuerpos
• Simulación de nuevas estructuras y experimentación de
las interacciones entre los elementos que las componen.
• Actualmente se emplean algoritmos basados en modelos
de Hartree-Fock
Adrenaline
(R)-Perdesonide
NATURE – Sept 2017:
Aplicación de la Computación Cuántica en Quimica
 Un equipo de investigación de IBM utiliza la computación cuántica
para explorar la estructura de los niveles de energica de varias
moléculas
Métodos de Machine Learning Clásicos Enfoque Cuántico
Cálculo eficiente de distancias
clásicas sobre un computador
cuántico
Exploraciones de módelos cuánticos
Reformulación en el lenguaje de
Sistemas Cuánticos Abiertos
 Reducción de la complejidad computacional en muchos casos.
 Algoritmos más robustos al ruido e influencias externas.
 Funciones de aprendizaje mediante tomografia de procesos cuánticos, redes
cuánticas de neuronas y optimización cuántica adiabática.
SDIC
(Small Data Intesive Computing)
K-nearest neigbour
Support Vector Machines
K-means clustering
Neural Networks
Decission Trees
Bayesian Theory
Hidden Markov Models
Machine Learning & Deep Learning
Que es un Computador Cuántico
1. Se puede inicializar
2. Utiliza Bits Cuánticos (Qubits)
3.Trabaja con Paralelismo Cuántico
4.Mantiene la coherencia
5. Hace uso del Entrelazamiento
Características de un Computador Cuántico
Se debe poder inicializar
Proceso de Iniciaización
Funciona con Qubits  Bits Cuánticos
Un Qubit es el concepto cuantico de bit de información.
 No se trata de ningún elementos o dispositvo. Es
un concepto lógico que puede implementarse
sobre un amplio rango de sistemas con
comportamiento cuántico.
 Al igual que un bit, un Qubit puede representar
dos estados: 0 y 1 (estados base)
Pero además un Qubit es capaz de trabajar con todas las posibles
combinaciones que pueden tener lugar entre los estados base 0 and 1
¿Que es un Qubit?
ψ = α|0˃ + β|1>
α|0˃ + β|1>|0˃ |1˃
0
1
¿Que es el paralelismo cuántico?
 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
4 Estados
Independientes. El
sistema puede estar
en uno de estos
cuatro estados.
Un sistema que es combinación de
cuatros posibles estados
simultaneamente
Superposición Cuántica
Tiempos de Coherencia
T1: es el tiempo en el que un qubit llevado estado
excitado vuelve a su estado fundamental.
T1 T2 Tiempos en los que un qubit o sistema de qubit se mantiene
|0˃|1˃ T1
T2
T2: Tiempo en el que un sistema de varios qubits
pierde su coherencia.
Entrelazamiento Cuántico
Un estado entrelazado no puede describirse en
función de los estados de los qubits de lo
componen, es decir:
|v1 v2 > ≠ |v1> x |v2 >
Los Estados de Bell en el espacio de Hilbert
vienen dados por:
Infraestructura Física para Qubits
Qubits de Spin o.
• Estado de superposición  varios segundos
• Compatibles con tecnologías de fabricación de chips actuales.
• El ruido proveniente del sustrato sólido podría dificultar su escalado
Trampas de Iones
• Tienen pocos defectos
• Puertas lógicas con una tasa de error muy baja.
• Nuevas técnicas de fabricación.
Circuitos fotónicos.
• La redundancia de qubits se minimiza por la resistencia del fotón a la interferencia,
• La construcción de puertas lógicas fotónicas es muy complicada
• La creación de fuentes de fotones individuales es un gran reto tecnologíco
Circuitos superconductores
• Son potencialmente fáciles de fabricar,.
• Tienen tiempos de coherencia relativamente cortos.
• Requieren temperaturas muy bajas para poder operar.
Arquitectura de Qubits Superconductores
Circuito QED: Un qubit superconductor
está fuertemente interaccionado con un
solo fotón en una cavidad de microondas.
El esquema de acoplamiento del circuito
QED se ha convertido en el estándar para
acoplar y leer qubits superconductores a
medida que los sistemas continúan
escalando.
Estabilidad de los Qubits  Baja Temperatura
Temperatura de Trabajo 15 mK
Refrigerador de Dilución
3He + 4He
Un procesador Cuántico de 5 Qubits
 Primer procesador cuántico de 5
qubits con tecnologia de circuitos
superconductores de efecto
cuántico
 Accesible a traves de IBM Quantun
Experience
 IBM Quantum Experience, es una
iniciativa que permite a los
usuarios ejecutar algoritmos y
experimentos en el procesador
cuantico de IBM en el cloud.
Procesadores Cuánticos de 5 Qubits
Dos Procesadores Cuánticos de 5
qubits disponibles en el cloud y
programables visualmente con IBM
QX o en modo comando con
QASM y con la API Python
Q – Qubits
R – Readouts
B – Bus Cuántico
Procesadores Cuanticos de 16 y 17 Qubits
• Procesador de 16 qubits
disponible en el cloud y
accesible a tode el munto
• Procesador de 17 qubits de
uso comercial con Topología
más robusta que se ha
utilizado en varios proyectos
durante 2017
Computadores Cuánticos Universales de 16 y 17 qubits
Procesador Cuantico de 16 Qubits
• Procesador de 16 qubits disponible en el cloud y
programable con QASM y con Python
IBM Q
IBM está trabajando en la construcción de
procesadores cuánticos de propósito
empresarial y pretende ofrecer servicios de
Computación Cuántica en el Cloud.
IBM Q es la nueva línea de computadores
cuánticos de IBM
Objetivo Explorar aplicaciones prácticas para negocio y ciencia
Disponibilidad 2018 a traves de IBM Q Netork
Formato Cloud Privado
Procesador Cuantico de 20
Qubits
• 20 Qubits de propósito empresarial y
programable con QASM y Python
• Qubits más optimizados e interconectados
Disponbie desde finales de 2017 y orientado a uso empresarial
Mejores tiempos de coherencia. Se llega a una media de 90ms.
Punto de partida para comenzar a trabajar con programas realmente útiles.
Prototipos de 50 Qubits
• IBM ha construido y probado un prototipo de 50
qubits
• No disponible al público todavía
• IBM alcanzaría el umbral que computación de
los ordenadores clásicos (Quantum Advantage)
• Con este procesador ya se podrán llevar a
cabo tareas de alto valor cientifico y
empresarial.
IBM tiene un prototipo de 50 qubits
Quantum
Science
Fundamentos de la
Ciencia y la Información
Cuántica
Creación y escalado de
qubits incrementando su
coherencia
Creación de técnicas de
corrección de errores y
esquemas de mitigración
Quantum
Advantage
Demostrar una ventaja en el
uso de QC para tratar
problemas de interés real
Obtención de
valor
comercial
Potenciar el
descubrimiento
Científico
Quantum
Ready
Desarrollo de
algoritmos core
Estandarización de
las pruebas de
rendimiento
Mejora del Volumen
Cuántico
Infraestructura de
sistemas y habilitación
de software
Lanzamiento
de IBM Q
Experience
2016
2020
1900...
Donde estamos?
Construyendo el Entorno de Trabajo
HARDWARE
HIGH LEVEL
PROGRAMMING
LANGUAGE
C++, Java, Python, Ruby,
JavaScript, Perl, Haskel
LOW LEVEL
PROGRAMMING
LANGUAGE
Ventajas:
Utilización de circuitos cortos que se ejecuten en los tiempos de coherencia
Mejorar las mejores estimaciones clásicas utilizando estados cuánticos
Los algoritmos híbridos pueden utilizarse para resolver problemas donde el objetivo
sea minimizar la energía del sistema
Algoritmos Híbridos Clásico-Cuánticos
Herramientas de Programación
IBM Quantum Experience
Interfaz Visual, Drag&Drop para 5 qubits
QISKit OpenQASM
Lenguaje ensamblador para la representación de
Circuitos Cuánticos
QISKit SDK & API
API de Python para la programacion de circuitos
cuánticos
IBM Quantum Experience
https://quantumexperience.ng.bluemix.net/qx
IBM Quantum Experience: Programación Gráfica
IBM QX Composer  valid for 5 qubits processor
IBM Quantum Experience: Programación Gráfica
IBM QX Composer  valid for 5 qubits processor
Puertas Cuánticas
• Un circuito cuántico básico trabaja con dos o más qubits
• Equivalente a las puertas lógicas de los circuitos digitales
Similitud con Puertas Lógicas
1. Las puertas cuánticas son reversibles
2. Matemáticamente se representan por matrices unitarias
3. Los qubits sobre los que actuan deben manterner su identidas cuántica.
=
Puerta Hadamard
Puerta C-NOT
1 0 0 0
0 1 0 0
0 0 0 1
0 0 1 0
1 1
1 -1
=
Puertas Cuánticas de 1 Qubit
Puerta NOT
Transforrma el
estado |0> en el
estado |1> y
viceversa. Rotación
de π radianes
alrededor del eje X
Puerta Z
Deja inalterado el
estado |0> y
cambia el estado
|1> a - |1>
Puerta H
Transforma cualquiera
de los estados base
en una combinación de
ambos. Rotación de
π/2 radianes alrededor
del eje X y del eje Z
Puerta fase Puerta π/4
Realiza una
rotación de π/4
radianes alrededor
del eje Z
Realiza una
rotación de π/2
radianes alrededor
del eje Z
1 0
0 -1
1 0
0 i
1 0
0 e i π/4
0 1
1 0
1 1
1 -1
Creando el estado de Superposición
Puertas Hadamard
5 Qubits en superposición generan proporcionan un vector que
contiene todos los posibles estados del sistema 25
Puertas Cuánticas de 2 Qubits
La puerta CNOT
Cambia el estado del qubit objetivo (target), en
función del estado del qubit de control
+
control
target
0 0 1 1
0 1 0 1
0 1 1 0
Condicionantes
Puertas CNOT
CNOT|00>>>>
CNOT|01>>>>
CNOT|10>>>>
CNOT|11>>>>
Aplicar la puerta CNOT a los estados de la base estandar de dos qubits
Ejemplo: Entrelazamiento y estados de Bell
X-Gate
Cambia el estado de un Qubit de 0 a 1, y
vice versa.
Hadamard Gate
Pone en superposición los estados de un
Qubit.
Actua sobre un qubit destino en funcion del
valor de un qubit de control
Controlled Not Gate
Entanglement
La puerta H gate pone el primer
qubit en superposición. La
puerta CNOT “actua y no actua”
sobre el segundo Qubit.
Si los Qubits se inicializan a 0,
cuando se midan darán 11 o 00,
pero nunca 10 o 01.
Ejemplo: Entrelazamiento y estados de Bell
Ejemplo.
Generar los estados de la base de Bell
( )1100
2
1
+ ( )1001
2
1
+( )1100
2
1
− ( )1001
2
1
−
QISKit OpenQASM
¿ Que es OpenQASM ?
• Lenguaje para la codificación de Circuitos Cuánticos.
• Agnostico en cuanto al Hardware
• OPENQASM, o “Quantum Assembly Language,” es una
representación textual simple que describe circuítos cuánticos
genéricos.
• Se pueden submitir jobs OpenQASM en batch via HTTP
API/PYTHON wrapper..
// 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;
U(0,0,π/4)
U(0,0,- π/4) U(0,0,π/4)
QISKit OpenQASM
Sentencias del Lenguaje
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 Python API
¿Que es QISKit Python API?
 Acceso a IBM Quantum Experience utilizando una interface Python.
 Esta interfaz permite trabajar con circuitos cuánticos y ejecutar varios de
ellos de froma eficiente.
QISKit
Instalación de QISKit SDK
1. Utilizando PIP
• Instalar Anaconda (con Python3)
• Ejecutar linea de comandos de Anaconda
• Executar pip install qiskit
2. Clonando el proyecto de Github
• Instalar Anaconda (con Python3)
• Clonar el proyectos github:
git clone https://github.com/QISKit/qiskit-sdk-py
• Activar entorno:
> activate QISKitenv
• Cambiar al directorio qiskit-sdk-py y ejecutar
.make env
QISKit
Gestión de Paquetes con Anaconda
http://corochann.com/setup-python-environment-1395.html
QISKit Python API
Elementos básicos de un programa cuántico utilizando la API de Python
Quantum Program
QuantumProgram()
Circuit
.create_circuit()
Quantum Register
.create_quantum_registers()
Classical Register
.create_classical_registers()
QISKit Python API
Circuit
• Primero, instanciar la clase y crear el registro
circuit = Q_program.get_circuit(“Circuit")
Tipos de registro
 Quantum Registers
q2 = Q_program.create_quantum_register("q2", 2)
 Classical Registers
c2 = Q_program.create_classical_register("c2", 2)
Gracias

2019 03 28_upv_computacion_cuantica_liderat

  • 1.
  • 2.
  • 3.
    Sistema de muchoscuerpos (Many-Body System) El mejor superordenador del mundo puede simular un sistema de 40-50 electrones
  • 4.
    Ley de Moore ¿Cuantotiempo nos queda para llegar al comportamiento cuántico de la naturaleza? IBM 5nm chip
  • 5.
    1981 Primera Conferenciasobre Física de la Computación Esta primera conferencia tuvo lugar entre el MIT e IBM. Allí, el premio nobel Richard Feynman lanzo el desafió a los de desarrollar un nuevo tipo de ordenadores basados en los conceptos cuánticos.
  • 7.
    ¿Que resuelve laComputación Cuántica? Transformación de problemas con un crecimiento exponencial de la complejidad en problemas con un crecimiento polínómico. El problema del viajante Busquedas no indexadas (Algoritmo de Grover) Factorización de Grandes Números (Algoritmo de Shor) 887339 = p x q
  • 8.
    Haciendo uso deconceptos mecano-cuánticos, Lov Grover crea una algoritmo ultra-rapido para realizar búsquedas en bases de datos • ¿Cuantos intentos son necesarios para encontrar un elemento dentro de un conjunto de N elementos desordenados? Son necesarios una media de N/2 intentos Búsquedas no ordenadas – Algoritmo de Grover
  • 9.
    Factorización de GrandesNúmeros Nº Digitos Nº Pasos Resolución (1μs/step) 60 1011 3 dias 100 1015 74 años 200 1023 109 años 500 1011 1025 años 937 x 947 = N (Problema fácil) 887339 = p x q (Problema no tan fácil) La robustez de la factorización es la base del algoritmo RSA
  • 10.
    Expectativas en ComputaciónCuántica Criptografía, Comunicaciones y Seguridad Química Cuántica, Medicina y Nuevos Materiales Machine Learning & Deep Learning Búsqueda no Indexada en Big Data
  • 11.
    Criptografia, Comunicaciones ySeguridad  Quantum Key Distribution (QKD) Uso de propiedades cuánticas para intercambio de claves criptográficas, que se utilizan para cifrar mensajes a través de un canal inseguro. .  Quantum Internet Comunicación cuántica de largo alcance, conexión a los procesadores cuánticos y mayores capacidades de transmision más segura  Post-Quantum Encryption Necesidad de algoritmos criptográficos cuánticos resistentes a los nuevos estándares criptográficos de clave pública
  • 12.
    Simulación Química yde Nuevos Materiales • Simulación de modelos electrónicos reales con varios cuerpos • Simulación de nuevas estructuras y experimentación de las interacciones entre los elementos que las componen. • Actualmente se emplean algoritmos basados en modelos de Hartree-Fock Adrenaline (R)-Perdesonide
  • 13.
    NATURE – Sept2017: Aplicación de la Computación Cuántica en Quimica  Un equipo de investigación de IBM utiliza la computación cuántica para explorar la estructura de los niveles de energica de varias moléculas
  • 14.
    Métodos de MachineLearning Clásicos Enfoque Cuántico Cálculo eficiente de distancias clásicas sobre un computador cuántico Exploraciones de módelos cuánticos Reformulación en el lenguaje de Sistemas Cuánticos Abiertos  Reducción de la complejidad computacional en muchos casos.  Algoritmos más robustos al ruido e influencias externas.  Funciones de aprendizaje mediante tomografia de procesos cuánticos, redes cuánticas de neuronas y optimización cuántica adiabática. SDIC (Small Data Intesive Computing) K-nearest neigbour Support Vector Machines K-means clustering Neural Networks Decission Trees Bayesian Theory Hidden Markov Models Machine Learning & Deep Learning
  • 15.
    Que es unComputador Cuántico 1. Se puede inicializar 2. Utiliza Bits Cuánticos (Qubits) 3.Trabaja con Paralelismo Cuántico 4.Mantiene la coherencia 5. Hace uso del Entrelazamiento Características de un Computador Cuántico
  • 16.
    Se debe poderinicializar Proceso de Iniciaización
  • 17.
    Funciona con Qubits Bits Cuánticos Un Qubit es el concepto cuantico de bit de información.  No se trata de ningún elementos o dispositvo. Es un concepto lógico que puede implementarse sobre un amplio rango de sistemas con comportamiento cuántico.  Al igual que un bit, un Qubit puede representar dos estados: 0 y 1 (estados base) Pero además un Qubit es capaz de trabajar con todas las posibles combinaciones que pueden tener lugar entre los estados base 0 and 1 ¿Que es un Qubit? ψ = α|0˃ + β|1> α|0˃ + β|1>|0˃ |1˃
  • 18.
    0 1 ¿Que es elparalelismo cuántico?  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 4 Estados Independientes. El sistema puede estar en uno de estos cuatro estados. Un sistema que es combinación de cuatros posibles estados simultaneamente Superposición Cuántica
  • 19.
    Tiempos de Coherencia T1:es el tiempo en el que un qubit llevado estado excitado vuelve a su estado fundamental. T1 T2 Tiempos en los que un qubit o sistema de qubit se mantiene |0˃|1˃ T1 T2 T2: Tiempo en el que un sistema de varios qubits pierde su coherencia.
  • 20.
    Entrelazamiento Cuántico Un estadoentrelazado no puede describirse en función de los estados de los qubits de lo componen, es decir: |v1 v2 > ≠ |v1> x |v2 > Los Estados de Bell en el espacio de Hilbert vienen dados por:
  • 21.
    Infraestructura Física paraQubits Qubits de Spin o. • Estado de superposición  varios segundos • Compatibles con tecnologías de fabricación de chips actuales. • El ruido proveniente del sustrato sólido podría dificultar su escalado Trampas de Iones • Tienen pocos defectos • Puertas lógicas con una tasa de error muy baja. • Nuevas técnicas de fabricación. Circuitos fotónicos. • La redundancia de qubits se minimiza por la resistencia del fotón a la interferencia, • La construcción de puertas lógicas fotónicas es muy complicada • La creación de fuentes de fotones individuales es un gran reto tecnologíco Circuitos superconductores • Son potencialmente fáciles de fabricar,. • Tienen tiempos de coherencia relativamente cortos. • Requieren temperaturas muy bajas para poder operar.
  • 22.
    Arquitectura de QubitsSuperconductores Circuito QED: Un qubit superconductor está fuertemente interaccionado con un solo fotón en una cavidad de microondas. El esquema de acoplamiento del circuito QED se ha convertido en el estándar para acoplar y leer qubits superconductores a medida que los sistemas continúan escalando.
  • 23.
    Estabilidad de losQubits  Baja Temperatura Temperatura de Trabajo 15 mK Refrigerador de Dilución 3He + 4He
  • 24.
    Un procesador Cuánticode 5 Qubits  Primer procesador cuántico de 5 qubits con tecnologia de circuitos superconductores de efecto cuántico  Accesible a traves de IBM Quantun Experience  IBM Quantum Experience, es una iniciativa que permite a los usuarios ejecutar algoritmos y experimentos en el procesador cuantico de IBM en el cloud.
  • 25.
    Procesadores Cuánticos de5 Qubits Dos Procesadores Cuánticos de 5 qubits disponibles en el cloud y programables visualmente con IBM QX o en modo comando con QASM y con la API Python Q – Qubits R – Readouts B – Bus Cuántico
  • 26.
    Procesadores Cuanticos de16 y 17 Qubits • Procesador de 16 qubits disponible en el cloud y accesible a tode el munto • Procesador de 17 qubits de uso comercial con Topología más robusta que se ha utilizado en varios proyectos durante 2017 Computadores Cuánticos Universales de 16 y 17 qubits
  • 27.
    Procesador Cuantico de16 Qubits • Procesador de 16 qubits disponible en el cloud y programable con QASM y con Python
  • 28.
    IBM Q IBM estátrabajando en la construcción de procesadores cuánticos de propósito empresarial y pretende ofrecer servicios de Computación Cuántica en el Cloud. IBM Q es la nueva línea de computadores cuánticos de IBM Objetivo Explorar aplicaciones prácticas para negocio y ciencia Disponibilidad 2018 a traves de IBM Q Netork Formato Cloud Privado
  • 29.
    Procesador Cuantico de20 Qubits • 20 Qubits de propósito empresarial y programable con QASM y Python • Qubits más optimizados e interconectados Disponbie desde finales de 2017 y orientado a uso empresarial Mejores tiempos de coherencia. Se llega a una media de 90ms. Punto de partida para comenzar a trabajar con programas realmente útiles.
  • 30.
    Prototipos de 50Qubits • IBM ha construido y probado un prototipo de 50 qubits • No disponible al público todavía • IBM alcanzaría el umbral que computación de los ordenadores clásicos (Quantum Advantage) • Con este procesador ya se podrán llevar a cabo tareas de alto valor cientifico y empresarial. IBM tiene un prototipo de 50 qubits
  • 31.
    Quantum Science Fundamentos de la Cienciay la Información Cuántica Creación y escalado de qubits incrementando su coherencia Creación de técnicas de corrección de errores y esquemas de mitigración Quantum Advantage Demostrar una ventaja en el uso de QC para tratar problemas de interés real Obtención de valor comercial Potenciar el descubrimiento Científico Quantum Ready Desarrollo de algoritmos core Estandarización de las pruebas de rendimiento Mejora del Volumen Cuántico Infraestructura de sistemas y habilitación de software Lanzamiento de IBM Q Experience 2016 2020 1900... Donde estamos?
  • 32.
    Construyendo el Entornode Trabajo HARDWARE HIGH LEVEL PROGRAMMING LANGUAGE C++, Java, Python, Ruby, JavaScript, Perl, Haskel LOW LEVEL PROGRAMMING LANGUAGE
  • 33.
    Ventajas: Utilización de circuitoscortos que se ejecuten en los tiempos de coherencia Mejorar las mejores estimaciones clásicas utilizando estados cuánticos Los algoritmos híbridos pueden utilizarse para resolver problemas donde el objetivo sea minimizar la energía del sistema Algoritmos Híbridos Clásico-Cuánticos
  • 34.
    Herramientas de Programación IBMQuantum Experience Interfaz Visual, Drag&Drop para 5 qubits QISKit OpenQASM Lenguaje ensamblador para la representación de Circuitos Cuánticos QISKit SDK & API API de Python para la programacion de circuitos cuánticos
  • 35.
  • 36.
    IBM Quantum Experience:Programación Gráfica IBM QX Composer  valid for 5 qubits processor
  • 37.
    IBM Quantum Experience:Programación Gráfica IBM QX Composer  valid for 5 qubits processor
  • 38.
    Puertas Cuánticas • Uncircuito cuántico básico trabaja con dos o más qubits • Equivalente a las puertas lógicas de los circuitos digitales Similitud con Puertas Lógicas 1. Las puertas cuánticas son reversibles 2. Matemáticamente se representan por matrices unitarias 3. Los qubits sobre los que actuan deben manterner su identidas cuántica. = Puerta Hadamard Puerta C-NOT 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1 1 1 -1 =
  • 39.
    Puertas Cuánticas de1 Qubit Puerta NOT Transforrma el estado |0> en el estado |1> y viceversa. Rotación de π radianes alrededor del eje X Puerta Z Deja inalterado el estado |0> y cambia el estado |1> a - |1> Puerta H Transforma cualquiera de los estados base en una combinación de ambos. Rotación de π/2 radianes alrededor del eje X y del eje Z Puerta fase Puerta π/4 Realiza una rotación de π/4 radianes alrededor del eje Z Realiza una rotación de π/2 radianes alrededor del eje Z 1 0 0 -1 1 0 0 i 1 0 0 e i π/4 0 1 1 0 1 1 1 -1
  • 40.
    Creando el estadode Superposición Puertas Hadamard 5 Qubits en superposición generan proporcionan un vector que contiene todos los posibles estados del sistema 25
  • 41.
    Puertas Cuánticas de2 Qubits La puerta CNOT Cambia el estado del qubit objetivo (target), en función del estado del qubit de control + control target 0 0 1 1 0 1 0 1 0 1 1 0
  • 42.
    Condicionantes Puertas CNOT CNOT|00>>>> CNOT|01>>>> CNOT|10>>>> CNOT|11>>>> Aplicar lapuerta CNOT a los estados de la base estandar de dos qubits
  • 43.
    Ejemplo: Entrelazamiento yestados de Bell X-Gate Cambia el estado de un Qubit de 0 a 1, y vice versa. Hadamard Gate Pone en superposición los estados de un Qubit. Actua sobre un qubit destino en funcion del valor de un qubit de control Controlled Not Gate Entanglement La puerta H gate pone el primer qubit en superposición. La puerta CNOT “actua y no actua” sobre el segundo Qubit. Si los Qubits se inicializan a 0, cuando se midan darán 11 o 00, pero nunca 10 o 01.
  • 44.
    Ejemplo: Entrelazamiento yestados de Bell Ejemplo. Generar los estados de la base de Bell ( )1100 2 1 + ( )1001 2 1 +( )1100 2 1 − ( )1001 2 1 −
  • 45.
    QISKit OpenQASM ¿ Quees OpenQASM ? • Lenguaje para la codificación de Circuitos Cuánticos. • Agnostico en cuanto al Hardware • OPENQASM, o “Quantum Assembly Language,” es una representación textual simple que describe circuítos cuánticos genéricos. • Se pueden submitir jobs OpenQASM en batch via HTTP API/PYTHON wrapper.. // 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; U(0,0,π/4) U(0,0,- π/4) U(0,0,π/4)
  • 46.
    QISKit OpenQASM Sentencias delLenguaje 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 Python API ¿Quees QISKit Python API?  Acceso a IBM Quantum Experience utilizando una interface Python.  Esta interfaz permite trabajar con circuitos cuánticos y ejecutar varios de ellos de froma eficiente.
  • 48.
    QISKit Instalación de QISKitSDK 1. Utilizando PIP • Instalar Anaconda (con Python3) • Ejecutar linea de comandos de Anaconda • Executar pip install qiskit 2. Clonando el proyecto de Github • Instalar Anaconda (con Python3) • Clonar el proyectos github: git clone https://github.com/QISKit/qiskit-sdk-py • Activar entorno: > activate QISKitenv • Cambiar al directorio qiskit-sdk-py y ejecutar .make env
  • 49.
    QISKit Gestión de Paquetescon Anaconda http://corochann.com/setup-python-environment-1395.html
  • 50.
    QISKit Python API Elementosbásicos de un programa cuántico utilizando la API de Python Quantum Program QuantumProgram() Circuit .create_circuit() Quantum Register .create_quantum_registers() Classical Register .create_classical_registers()
  • 51.
    QISKit Python API Circuit •Primero, instanciar la clase y crear el registro circuit = Q_program.get_circuit(“Circuit") Tipos de registro  Quantum Registers q2 = Q_program.create_quantum_register("q2", 2)  Classical Registers c2 = Q_program.create_classical_register("c2", 2)
  • 52.