Cirq ist ein Open-Source-Framework für Noisy-Intermediate-Scale-Quanten-(NISQ)-Computer.

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 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. Eine Vorführung durch QC Ware zeigte eine Implementierung des Quantum Approximate Optimization Algorithm (QAOA), der ein Beispiel eines Max-Cut-Problems mit einem Cirq-Simulator lösen konnte. 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.

Verwendung In Cirq werden Quantenschaltkreise durch „Circuits“ dargestellt, die aus einer Reihe von „Moments“ bestehen. Jeder „Moment“ repräsentiert eine Schicht von Quantengattern, die gleichzeitig angewendet werden sollen.

Die Programme können auf lokalen Simulatoren oder auf Hardware von IonQ, Pasqal, Rigetti und Alpine Quantum Technologies 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

OpenFermion 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.

TensorFlow Quantum 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.

ReCirq 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.

Qsim Cirq Qsim ist ein 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.

Einzelnachweise

Kategorie:Quanteninformatik Kategorie:Python (Programmiersprache)