Kursplan
ProjectQ grunnleggende og arkitektur
- Historien og målene til ProjectQ
- Kjernekomponenter: motorer, bakend og meta-motorer
- Kompilasjonsrør og transformasjoner
Kom i gang med ProjectQ
- Installer ProjectQ og avhengigheter
- Initialiser hovedmotor og bakend-oppsett
- Forstå standard simulert bakend
ProjectQ syntaks og konstruksjoner
- Tilordning av qubiter, registre og grunnleggende port
- Kontroll, betingede operasjoner og målinger
- Bruke egendefinerte port og port nedbrytning
Kompileringsmotorer og optimaliseringsmetoder
- Kompileringsmotorens rør (optimaliserere, oversettere, nedbrytere)
- Portkansellering, sammenslåing og tidsplanlegging
- Skrive egendefinerte optimaliseringsmotorer
Kvantprogrammer og eksempler
- Bygg enkle kretser (Bell-stater, kvanteteleportasjon)
- Arbeid med kontrollerte operasjoner og hjelpequbiter
- Parameteriserte kretser og variasjonelle konstruksjoner
Målrette flere bakend
- Oversett kretser for IBM Q, Rigetti eller annet hårdvare
- Bruke støy-bevisste simulatorer og troverdighetsvurdering
- Tester, feilsøking og resultatvalidering
Prøv deg på et mini-prosjekt
- Definer et kvant-algoritme (eks. enkel Grover eller QFT-snutt)
- Implementer det via ProjectQ, optimaliser og velg bakend
- Analyser utdata, sammenlikn simulatorer og forbedr krets
Oppsummering og neste skritt
Krav
- Kunnskap om konsepter innenfor kvantedatabehandling (qubits, superposisjon, gater)
- Erfaring med Python-programmering
- Kjennskap med representasjon av kvantkretsskjema
Målgruppe
- Kvantprogramvareutviklere
- Forskere og ingeniører som utforsker kvantprogrammering
- Utviklere som planlegger å rette seg mot kvantbakkender
Referanser (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!