Disciplina Discipline PCS5788
Computação Quântica: Aspectos de Programação

Quantum Computation: Programming Aspects

Área de Concentração: 3141

Concentration area: 3141

Criação: 12/12/2022

Creation: 12/12/2022

Ativação: 12/12/2022

Activation: 12/12/2022

Nr. de Créditos: 8

Credits: 8

Carga Horária:

Workload:

Teórica

(por semana)

Theory

(weekly)

Prática

(por semana)

Practice

(weekly)

Estudos

(por semana)

Study

(weekly)

Duração Duration Total Total
3 4 3 12 semanas 12 weeks 120 horas 120 hours

Docentes Responsáveis:

Professors:

Graça Bressan

Wilson Vicente Ruggiero

Regina Melo Silveira

Objetivos:

Introdução à computação quântica focando nos aspectos de programação de algoritmos capazes de explorar o potencial quântico da computação. Enfoque eminentemente prático associado ao desenvolvimento de algoritmos quânticos e de sua metodologia de desenvolvimento.

Objectives:

Introduction to Quantum Computing aiming the programming aspects of quantum algorithms to explore the potential of quantum computation. The course will have a practical approach associated to the development of the quantum algorithms and the correspondent development methodology.

Justificativa:

A disponibilidade dos computadores quânticos nos próximos anos demandará profissionais com formação diferenciada principalmente nos aspectos de programação. As técnicas de programação no ambiente quântico demandam conhecimentos e metodologia distinta daquelas que tem sido utilizada na programação de sistemas de computadores tradicionais. A disponibilização desta disciplina procura preencher esta lacuna existente na formação dos aspectos de programação de algoritmos para os computadores quânticos.

Rationale:

The availability of Quantum Computers in the next years will demand professionals with a differentiated knowledge, mainly in the programming aspects of such technology. The programming technics in the quantum environment demand differentiated knowledge and methodology distinct from the current programming methodology applied to traditional computers. The offering of this discipline will fill the existent gap in our graduate program covering the programming aspects demanded by algorithms for quantum computers.

Conteúdo:

1. Introdução à Computação Quântica: Apresentação dos principais conceitos envolvidos na computação quântica relacionados com a física quântica; 2. Superposição, emaranhamento e reversibilidade: Discussão sobre o conteúdo do capítulo 1 do livro texto [R01]: “Superposition, Entanglement and Reversibility” 3. Uma breve história da Computação Quântica: Discussão sobre a história da computação quântica e eventuais dúvidas remanescentes sobre Superposição, Emaranhamento e Reversibilidade 4. Introdução ao QPU e Representação em círculos: Discussão sobre os conceitos de QPU e a representação dos estados quânticos por meio de círculos. Ilustração do ambiente de programação e simulação de algoritmos quânticos. 5. Revisão de Álgebra Linear (Opcional): Rápida revisão dos principais conceitos de álgebra linear necessários para o entendimento da programação quântica. 6. Qubits. Operadores e Medições: Discussão sobre os conceitos discorridos no capítulo 3 de [R01]: qubits, operadores e medições. 7. Operação com Múltiplos Qubits: Relacionamento entre a representação em círculos e vetores complexos. Discussão sobre o comportamento de múltiplos qubit operando em superposição. 8. Mais operadores: CCNOT (Toffoli), operações condicionais e aleatoriedade controlada Discussão sobre o operador CCNOT (Toffoli) e operações condicionais e controle remoto da aleatoriedade. 9. Quantum Teleportation: Discussão sobre a operação de “Quantum Teleportation”. 10. Quantum Teleportation, Superdense code and Bell’s inequality Discussão sobre tele transport, código superdenso e desigualdade de Bell. 11. QPU Primitives: Quantum Arithmetic and Logic Discussão sobre aritmética e lógica quântica com exemplos 12. Amplitude Amplification Discussão sobre a técnica de amplificação de amplitude. 13. QFT: The Quantum Fourier Transform Discussão sobre a Transformada de Fourier Quântica - QFT; 14. Quantum Phase Estimation Discussão sobre a técnica de avaliação de fase quântica. 15. Dados reais e Busca quântica: Discussão sobre codificação de vetores e matrizes e busca quântica. 16. Quantum Super sampling Discussão sobre as técnicas de super sampling. 17. O algoritmo de Shor Discussão sobre o algoritmo de Shor. 18. Quantum Machine Learning – Quantum Support Vector Machine (QSVM) Discussão sobre o algoritmo SVM quântico. 19. Quantum Approximate Optimization Algorithm (QAOA) Discussão sobre o “Quantum Approximate Optimization Algorithm (QAOA)”

Content:

1. Introduction to Quantum Computation: Discussion of the main aspects and concepts involved in quantum computation and their relation to quantum physics. 2. Superposition, entanglement, and reversibility: Discussion on the content of chapter 1, textbook [R01]: “Superposition, Entanglement and Reversibility” 3. A short history of Quantum Computation: Discussion on the history of Quantum Computation and clarification about remaining doubts about Superposition, Entanglement and Reversibility” 4. Introduction of QPU and the circles representation: Discussion on the concepts of QPU and the representation of quantum states through circles. Illustration of the programming and simulation environment for quantum algorithms. 5. Review of linear Algebra (Optional): Review of main concepts of linear algebra required to understand quantum programming. 6. Qubits. Operators and Measurements: Discussion of concepts covered in chapter 3 of textbook [R01]: qubits, operators, and measurements. 7. Operations with multiples Qubits: Relationship among circle representation and complex vectors. Discussion on the behavior of multiple Quits in superposition. 8. More Operators: CCNOT (Toffoli), conditional operations and controlled randomness Discussion on CCNOT (Toffolli) operator and conditional operations and remote control of randomness. 9. Quantum Teleportation: Discussion on Quantum teleportation. 10. Quantum Teleportation, Superdense code and Bell’s inequality Discussion on Quantum Teleportation, Superdense code and Bell’s inequality. 11. QPU Primitives: Quantum Arithmetic and Logic Discussion on arithmetic and Logic quantum primitives with examples. 12. Amplitude Amplification Discussion on the technic of amplitude amplification. 13. QFT: The Quantum Fourier Transform Discussion on The Quantum Fourier Transform - QFT; 14. Quantum Phase Estimation Discussion on the technic of quantum phase estimation. 15. Real Data and quantum search: Discussion on vector coding, matrices and quantum search. 16. Quantum Super sampling Discussion on the technic of super sampling. 17. Shor’s algorithm Discussion on Shor’s algorithm. 18. Quantum Machine Learning – Quantum Support Vector Machine (QSVM) Discussion on the SVM quantum algorithm. 19. Quantum Approximate Optimization Algorithm (QAOA) Discussion on the Quantum Approximate Optimization Algorithm (QAOA).

Forma de Avaliação:

A avalição nesta disciplina será feita pela realização de trabalhos e exercícios ao longo da disciplina. A média final será obtida entre a média aritmética dos exercícios e da nota do trabalho. Ambos com pesos iguais.

Type of Assessment:

The course evaluation will be made based on the grades of the HomeWorks and exercises. The final grade will be calculated by the arithmetic average of the HomeWorks and exercises with equal weights.

Observação:

Esta disciplina prevê que se tenha de 5 a 15 alunos matriculados.

Notes/Remarks:

This course is supposed to have between 5 and 15 students.

Bibliografia:

1. [R01] Johnston, Eric R., Nic Harrigan, Mercedes G. Segovia, “Programming Quantum Computers: Essential Algorithms and Code Samples 1a Edição, O’Reilly, 2019. https://www.amazon.com.br/Programming-Quantum-Computers-Eric-Johnston/dp/1492039683 2. [R02] Hidary, Jack D., “Quantum Computing: An Applied Approach” Springer International Publishing, 2019. https://www.amazon.com.br/Quantum-Computing-Approach-Jack-Hidary/dp/303023921 3. [R03] Bernhardt, Chris, “Quantum Computing for Everyone”, MIT Press, 2019. https://www.amazon.com.br/Quantum-Computing-Everyone-Chris-Bernhardt/dp/0262039257 4. [R04] Feynman, Richard P. “Feynman Lectures On Computation (Frontiers in Physics)”, CRC Press. 2018. https://www.amazon.com.br/Feynman-Lectures-Computation-Richard-Phillips/dp/0738202967 5. [R05] Yanofsky, Noson S., Mirco A. Mannucci, “Quantum Computing for Computer Scientists”, Cambridge University Press,2008. https://www.amazon.com/Quantum-Computing-Computer-Scientists-Yanofsky/dp/0521879965

Bibliography:

1. [R01] Johnston, Eric R., Nic Harrigan, Mercedes G. Segovia, “Programming Quantum Computers: Essential Algorithms and Code Samples 1a Edição, O’Reilly, 2019. https://www.amazon.com.br/Programming-Quantum-Computers-Eric- Johnston/dp/1492039683 2. [R02] Hidary, Jack D., “Quantum Computing: An Applied Approach” Springer International Publishing, 2019. https://www.amazon.com.br/Quantum-Computing-Approach-Jack-Hidary/dp/3030239217 3. [R03] Bernhardt, Chris, “Quantum Computing for Everyone”, MIT Press, 2019. https://www.amazon.com.br/Quantum-Computing-Everyone-Chris- Bernhardt/dp/0262039257 4. [R04] Feynman, Richard P. “Feynman Lectures On Computation (Frontiers in Physics)”, CRC Press. 2018. https://www.amazon.com.br/Feynman-Lectures-Computation-Richard- Phillips/dp/0738202967 5. [R05] Yanofsky, Noson S., Mirco A. Mannucci, “Quantum Computing for Computer Scientists”, Cambridge University Press,2008. https://www.amazon.com/Quantum-Computing-Computer-Scientists-Yanofsky/dp/0521879965

Idiomas ministrados:

Português

Languages taught:

Portuguese

Tipo de oferecimento da disciplina:

Não-Presencial

Class type:

Não-Presencial