Quantum Computing for Classical(Java) Programmers
© Elephant Scale
January 23, 2023
Overview
-
As quantum computers become available to the general public, the need has arisen to train a cohort of quantum programmers, many of whom have been developing classical computer programs for most of their careers.
-
The course introduces computer scientists, physicists, and engineers to quantum algorithms and provides a blueprint for their implementations.
-
Finance use cases
- Front-office and back-office decisions on client management for “know your customer,” credit origination, and onboarding,
- Treasury management, trading and asset management,
- Business optimization, including risk management and compliance.
Benefits
-
After taking the course, participants will be able to
- Explain the principles of quantum computing and quantum algorithms.
- Apply quantum algorithms to solve problems in chemistry, finance, and machine learning.
- Use a local emulator in Java.
- Be ready for the quantum computing revolution and estimate its feasibility for their applications.
Duration
- Two days
Audience
- Computer scientists, physicists, and engineers.
Skill Level
- Introductory to intermediate
Prerequisites
- Background in software engineering
- Familiarity with a programming language
Lab environment
- A working environment will be provided for students.
Course Outline
Introduction to Quantum Computing
- From bits to qubits
- Dirac notation
- Measurements
- Bloch sphere
- Quantum circuit
- Basic single-qubit and two-qubit gates
- Multiple quantum states
- Entanglement
- Bell states
- Teleportation
- Q-sphere
- When to use a Quantum Computer
Programming a Quantum Computer
- The quantum computing programming model
- The qubit
- System of qubits
- Superposition and entanglement
- Inner and outer products
- Measurements
- Unitary transformations and gates
- Observables and expectation values
- Quantum circuits
- Quantum algorithms
- Implementations on a real quantum computer
- The IBM quantum computer
- Programming the IBM quantum computer: Qiskit library
- Classes of quantum algorithms
Grover’s Algorithm
- Problem definition and background
- Algorithm description
- The algorithm implemented on IBM’s 5-qubit computer
Bernstein-Vazirani Algorithm
- Problem definition and background
- Algorithm description
- The algorithm implemented on IBM’s 5-qubit and 16-qubit computers
Linear Systems
- Problem definition and background
- Algorithm description
- Phase estimation
- The algorithm implemented on IBM’s 5-qubit computer
Shor’s Algorithm for Integer Factorization
- Problem definition and background
- Algorithm description
- The algorithm implemented on IBM’s 5-qubit computer
Conclusion
- Summary
- What’s next?