Cirq
Cirq | |
---|---|
Basisdaten | |
Erscheinungsjahr | 17. April 2018 |
Aktuelle Version | 1.4.1[1] (27. Juni 2024) |
Programmiersprache | Python |
Lizenz | Apache-Lizenz, Version 2.0 |
quantumai.google/cirq |
Cirq ist ein Open-Source-Framework für Noisy Intermediate-Scale Quanten (NISQ)-Computer.[2]
Es wurde von Google entwickelt, um Quantenalgorithmen effizient auf aktuellen Quantenprozessoren zu entwerfen, zu optimieren und auszuführen. Cirq bietet eine flexible Schnittstelle zur Steuerung von Quanten-Hardware, unterstützt die Simulation von Quanten-Schaltkreisen und ermöglicht Forschern sowie Entwicklern die Implementierung und Analyse von Algorithmen für reale Quantencomputer.
Geschichte
[Bearbeiten | Quelltext bearbeiten ]Cirq wurde vom Google AI Quantum Team entwickelt. Die erste öffentliche Alpha-Version wurde auf dem Internationalen Workshop on Quantum Software and Quantum Machine, am 18. Juli 2018 vorgestellt.[2] Eine Vorführung durch QC Ware hat eine Implementierung des Quantum Approximate Optimization Algorithm (QAOA) gezeigt, der ein Beispiel eines Max-Cut-Problems mit einem Cirq-Simulator gelöst hat. Diese Demonstration veranschaulichte, wie Quantenalgorithmen für kombinatorische Optimierungsprobleme eingesetzt werden können und wie Cirq zur effizienten Simulation und Analyse solcher Algorithmen genutzt wird.[3]
Verwendung
[Bearbeiten | Quelltext bearbeiten ]In Cirq werden Quantenschaltkreise durch „Circuits" dargestellt, die aus einer Reihe von „Moments" bestehen. Jeder „Moment" repräsentiert eine Schicht von Quanten-Gattern, die gleichzeitig angewendet werden sollen.[4]
Die Programme können auf lokalen Simulatoren[5] oder auf Hardware von IonQ, Pasqal [6] , Rigetti und Alpine Quantum Technologies [7] ausgeführt werden.
Die folgenden Beispiele zeigen wie man einen Bell-Zustand in Criq erstellt und misst:
import cirq # qubits auswählen qubit0 = cirq.GridQubit(0, 0) qubit1 = cirq.GridQubit(0, 1) # Circuit erstellen circuit = cirq.Circuit( cirq.H(qubit0), cirq.CNOT(qubit0, qubit1), cirq.measure(qubit0, key="m0"), cirq.measure(qubit1, key="m1") )
Das Ausgeben des Schaltkreises zeigt sein Diagramm an:
print(circuit) # prints # (0, 0): ───H───@───M('m0')─── # │ # (0, 1): ───────X───M('m1')───
Die wiederholte Simulation des Schaltkreises zeigt, dass die Messungen der Qubits korreliert sind:
simulator = cirq.Simulator() result = simulator.run(circuit, repetitions=5) print(result) # Gibt aus: # m0=11010 # m1=11010
Projekte
[Bearbeiten | Quelltext bearbeiten ]OpenFermion
[Bearbeiten | Quelltext bearbeiten ]OpenFermion ist eine Bibliothek, die Quanten-Simulationsalgorithmen für Cirq kompiliert. Sie wird insbesondere für die Simulation quantenmechanischer Systeme in der Quantenchemie und Physik verwendet und ermöglicht die effiziente Umwandlung von Fermionen-Hamiltonianen in Quanten-Schaltkreise.[2]
TensorFlow Quantum
[Bearbeiten | Quelltext bearbeiten ]TensorFlow Quantum ist eine Erweiterung von TensorFlow, die es ermöglicht, hybride klassisch-quantenbasierte Machine-Learning-Algorithmen zu erforschen. Sie kombiniert die Leistungsfähigkeit von TensorFlow mit Quantencomputing-Techniken und erlaubt die nahtlose Integration von Quanten-Schaltkreisen in bestehende neuronale Netzwerke und Optimierungsprozesse.[8] [9]
ReCirq
[Bearbeiten | Quelltext bearbeiten ]ReCirq ist ein Repository für Forschungsprojekte, die mit Cirq durchgeführt wurden. Es enthält eine Sammlung von Open-Source-Experimenten, Algorithmen und Anwendungen, die von der Quantenforschungs-Community entwickelt wurden, und dient als Ressource für das Testen und Optimieren von Quantenalgorithmen.[10]
Qsim Cirq
[Bearbeiten | Quelltext bearbeiten ]Qsim ist ein leistungsstarker Wellenfunktionssimulator, der Gate-Fusion, AVX/FMA-Instruktionen und OpenMP nutzt, um hohe Simulationsgeschwindigkeiten zu erreichen. Qsimcirq ermöglicht die Verwendung von Qsim direkt innerhalb von Cirq und bietet eine effiziente Möglichkeit, große Quanten-Schaltkreise zu simulieren, indem es hardwarebeschleunigte Optimierungen nutzt.[11]
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten ]- ↑ Release 1.4.1. 27. Juni 2024 (abgerufen am 21. Juli 2024).
- ↑ a b c Announcing Cirq: An Open Source Framework for NISQ Algorithms. Abgerufen am 3. März 2025 (englisch).
- ↑ public_demos/max_cut/max_cut_cirq.py at master · qcware/public_demos. Abgerufen am 3. März 2025 (englisch).
- ↑ Cirq basics. Abgerufen am 3. März 2025 (englisch).
- ↑ Simulate a circuit | Cirq. Abgerufen am 3. März 2025 (englisch).
- ↑ Homepage pasqal. Abgerufen am 3. März 2025 (amerikanisches Englisch).
- ↑ Carina: Home. Abgerufen am 3. März 2025 (amerikanisches Englisch).
- ↑ TensorFlow Quantum. Abgerufen am 3. März 2025 (englisch).
- ↑ Seunghyeok Oh, Jaeho Choi, Joongheon Kim: A Tutorial on Quantum Convolutional Neural Networks (QCNN). IEEE, 2020, ISBN 978-1-72816-758-9, S. 236–239, doi:10.1109/ICTC49870.2020.9289439 (ieee.org [abgerufen am 3. März 2025]).
- ↑ quantumlib/ReCirq. quantumlib, 28. Februar 2025, abgerufen am 3. März 2025.
- ↑ Client Challenge. Abgerufen am 3. März 2025.