Skip to content

Sensors in queso

Sensors describe the quantum system used for

import jax
from queso.sensors import Sensor
Please first ``pip install -U cirq`` to enable related functionality in translation module

sensor = Sensor(
    n=4, 
    k=1
)

theta, phi, mu = sensor.theta, sensor.phi, sensor.mu
sensor.circuit(theta, phi, mu).draw()
     ┌───────┐┌───────┐   ┌───────┐┌───────┐          ░ ┌───────┐ ░ ┌───┐ ░ 
q_0: ┤ Ry(0) ├┤ Rz(0) ├─■─┤ Ry(0) ├┤ Rz(0) ├──────────░─┤ Rz(0) ├─░─┤ r ├─░─
     ├───────┤├───────┤ │ └───────┘├───────┤┌───────┐ ░ ├───────┤ ░ ├───┤ ░ 
q_1: ┤ Ry(0) ├┤ Rz(0) ├─■─────■────┤ Ry(0) ├┤ Rz(0) ├─░─┤ Rz(0) ├─░─┤ r ├─░─
     ├───────┤├───────┤       │    ├───────┤├───────┤ ░ ├───────┤ ░ ├───┤ ░ 
q_2: ┤ Ry(0) ├┤ Rz(0) ├─■─────■────┤ Ry(0) ├┤ Rz(0) ├─░─┤ Rz(0) ├─░─┤ r ├─░─
     ├───────┤├───────┤ │ ┌───────┐├───────┤└───────┘ ░ ├───────┤ ░ ├───┤ ░ 
q_3: ┤ Ry(0) ├┤ Rz(0) ├─■─┤ Ry(0) ├┤ Rz(0) ├──────────░─┤ Rz(0) ├─░─┤ r ├─░─
     └───────┘└───────┘   └───────┘└───────┘          ░ └───────┘ ░ └───┘ ░ 
c: 4/═══════════════════════════════════════════════════════════════════════
                                                                            
theta, phi, mu = sensor.init_params()
print(f"The Quantum Fisher Information is {sensor.qfi(theta, phi)}.")
print(f"The Classical Fisher Information is {sensor.cfi(theta, phi, mu)}.")
The Quantum Fisher Information is 2.792888358638164.
The Classical Fisher Information is 0.43374815538626954.

shots = sensor.sample(theta, phi, mu, n_shots=10).astype('int')
print(shots)
[[1 0 0 0]
 [1 0 0 1]
 [1 0 1 1]
 [1 0 1 0]
 [0 0 1 1]
 [0 1 0 1]
 [1 0 0 1]
 [1 0 1 0]
 [1 0 1 1]
 [1 0 1 0]]

probs = sensor.probs(theta, phi, mu)
freqs = sensor.sample(theta, phi, mu, n_shots=10)