Cirq é um Framework de Código aberto para computadores NISQ (Noisy Intermediate Scale Quantum).[1]
O Cirq foi desenvolvido pela equipe do Google AI Quantum, e anunciado para o público alfa no Workshop Internacional de Software Quântico e no Quantum Machine Learning no dia 18 de julho de 2018.[2] Uma demonstração do QC Ware mostrou uma implementação do QAOA resolvendo um exemplo do problema de corte máximo sendo resolvido em um simulador Cirq.[3]
Os programas quânticos no Cirq são representados por "Circuito" e "Programação", onde "Circuito" representa um circuito Quântico e "Programação" representa um circuito Quântico com informações de tempo.[4] Os programas podem ser executados em simuladores locais.[5]
O exemplo a seguir mostra como criar e medir um estado Bell em Cirq.
import cirq
# Escolha os qubits
qubit0 = cirq.GridQubit(0, 0)
qubit1 = cirq.GridQubit(0, 1)
# Crie um circuito
circuit = cirq.Circuit.from_ops(
cirq.H(qubit0),
cirq.CNOT(qubit0, qubit1),
cirq.measure(qubit0, key='m0'),
cirq.measure(qubit1, key='m1')
)
Imprimir o circuito exibe seu diagrama
print(circuit)
# prints
# (0, 0): ───H───@───M('m0')───
# │
# (0, 1): ───────X───M('m1')───
Simular o circuito repetidamente mostra que as medições dos qubits estão correlacionadas.
simulador = cirq.Simulator()
resultado = simulator.run(circuit, repetitions=5)
print(resultado)
# prints
# m0=11010
# m1=11010
OpenFermion-Cirq é uma biblioteca que compila algoritmos de simulação quântica para Cirq.[2]