Schulungsübersicht
Grundlagen und Architektur von ProjectQ
- Geschichte und Ziele von ProjectQ
- Kernkomponenten: Engines, Back Ends und Meta-Engines
- Kompilierungs Pipeline und Transformationen
Erste Schritte mit ProjectQ
- Installation von ProjectQ und Abhängigkeiten
- Initialisierung des Hauptengines und Backend-Setup
- Verstehen des Standard-Simulator Back Ends
ProjectQ Syntax und Konstrukte
- Qubit-Zuweisung, Register und grundlegende Gatter
- Kontrolle, bedingte Operationen und Messungen
- Verwendung benutzerdefinierter Gatter und Gate-Decomposition
Compiler-Engines und Optimierungstechniken
- Pipeline der Compiler-Engines (Optimierer, Translator, Decomposer)
- Gatterkürzung, -verschmelzung und -scheduling
- Schreiben benutzerdefinierter Optimierungsmodule
Quantenprogramme und Beispiele
- Aufbau einfacher Schaltkreise (Bell-Zustände, Quantenteleportation)
- Arbeiten mit kontrollierten Operationen und Ancilla-Qubits
- Parameterisierte Schaltkreise und variationale Konstrukte
Zielsetzung für mehrere Back Ends
- Übersetzen von Schaltkreisen für IBM Q, Rigetti oder andere Hardware
- Nutzung noise-aware Simulatoren und Fidelity-Estimation
- Testen, Debuggen und Ergebnisvalidierung
Hands-on Mini-Projekt
- Definieren eines Quantenalgorithms (z. B. einfaches Grover oder QFT-Snippet)
- Implementieren, optimieren und Backend auswählen
- Auswertung der Ausgabe, Vergleich von Simulatoren und Verfeinerung des Schaltkreises
Zusammenfassung und weitere Schritte
Voraussetzungen
- Kenntnis von Quantencomputing-Konzepten (Qubits, Superposition, Gatter)
- Erfahrung in Python-Programmierung
- Bekanntschaft mit der Darstellung von Quantenschaltkreisen
Zielgruppe
- Quantensoftwareentwickler
- Forscher und Ingenieure, die sich mit der Quantenprogrammierung beschäftigen
- Entwickler, die beabsichtigen, Quanten-Backends zu adressieren
Erfahrungsberichte (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!