Skip to content

Technical Reference

Circuits

The Circuit class is the main interface for building quantum sensing protocols.

from squint.circuit import Circuit

# Initialize circuit
circuit = Circuit(backend="pure")  # or "mixed" for noisy simulations

# Add quantum operations
circuit.add(operation, label=None)

# Compile for simulation
sim = circuit.compile(static_params, dimension, variable_params)

The key methods are,

  • add(): Add quantum operations to the circuit
  • compile(): Compile circuit for efficient simulation

Operations

Discrete variable

from squint.ops.dv import *

# Pauli gates
XGate(wires=(0,))
YGate(wires=(0,))  
ZGate(wires=(0,))

# Rotation gates
RXGate(wires=(0,), phi=angle)
RYGate(wires=(0,), phi=angle)
RZGate(wires=(0,), phi=angle)

# Hadamard Gate
HGate(wires=(0,))
#### Two-Qubit Gates
```python
# CNOT gate
CXGate(wires=(control, target))

# Controlled-Z gate
CZGate(wires=(control, target))

# Controlled-Phase gate
CPhaseGate(wires=(control, target), phi=angle)

Fock/photon-number

from squint.ops.fock import *

FockState(wires=(0,), n=(0,))

# Beam splitter
BeamSplitter(wires=(0, 1), r=jnp.pi/4)

# Phase shift
Phase(wires=(0,), phi=0.0)

Channels

# Dephasing channel
DephasingChannel(wires=(0,), p=noise_strength)

# Depolarizing channel
DepolarizingChannel(wires=(0,), p=error_probability)

Simulation interface

After compiling a circuit, you get a simulation object with these methods:

# Forward simulation
amplitudes = sim.amplitudes.forward(params)      # Quantum amplitudes
probabilities = sim.probabilities.forward(params) # Measurement probabilities

# Gradient computation
damp = sim.amplitudes.grad(params)               # ∂|ψ⟩/∂θ  
dprob = sim.probabilities.grad(params)           # ∂p/∂θ

# Fisher Information
qfim = sim.amplitudes.qfim(params)               # Quantum Fisher Information Matrix
cfim = sim.probabilities.cfim(params)            # Classical Fisher Information Matrix