Course Outline
ProjectQ Fundamentals and Architecture
- History and Objectives of ProjectQ
- Core Components: Engines, Back Ends, and Meta-Engines
- Compilation Pipeline and Transformations
Getting Started with ProjectQ
- Installing ProjectQ and Required Dependencies
- Initializing the Main Engine and Configuring Back Ends
- Understanding the Default Simulator Back End
ProjectQ Syntax and Constructs
- Qubit Allocation, Registers, and Basic Gates
- Control Structures, Conditional Operations, and Measurements
- Implementing Custom Gates and Gate Decomposition
Compiler Engines and Optimization Techniques
- Pipeline of Compiler Engines (Optimizers, Translators, Decomposers)
- Gate Cancellation, Merging, and Scheduling
- Developing Custom Optimization Engines
Quantum Programs and Examples
- Constructing Simple Circuits (Bell States, Quantum Teleportation)
- Handling Controlled Operations and Ancilla Qubits
- Parameterized Circuits and Variational Constructs
Targeting Multiple Back Ends
- Translating Circuits for IBM Q, Rigetti, or Other Quantum Hardware
- Utilizing Noise-Aware Simulators and Fidelity Estimation
- Testing, Debugging, and Result Validation
Hands-on Mini Project
- Define a Quantum Algorithm (e.g., Simple Grover or QFT Snippet)
- Implement the Algorithm Using ProjectQ, Optimize, and Select a Back End
- Analyze Output, Compare Simulators, and Refine the Circuit
Summary and Next Steps for Government
Requirements
- Understanding of quantum computing principles, including qubits, superposition, and quantum gates
- Proficiency in Python programming
- Knowledge of quantum circuit representation
Audience for Government
- Quantum software developers
- Researchers and engineers focused on quantum programming
- Developers aiming to integrate with quantum back ends
Testimonials (1)
Quantum computing algorithms and related theoretical background know-how of the trainer is excellent. Especially I'd like to emphasize his ability to detect exactly when I was struggling with the material presented, and he provided time&support for me to really understand the topic - that was great and very beneficial! Virtual setup with Zoom worked out very well, as well as arrangements regarding training sessions and breaks sequences. It was a lot of material/theory to cover in "only" 2 days, wo the trainer had nicely adjusted the amount according to the progress related to my understanding of the topics. Maybe planning 3 days for absolute beginners would be better to cover all the material and content outlined in the agenda. I very much liked the flexibility of the trainer to answer my specific questions to the training topics, even additionally coming back after the breaks with more explanation in case neccessary. Big thank you again for the sessions! Well done!