Skip to content

Analog

The analog interface represents a quantum experiment in terms of time evolving Hamiltonians.

Quantum Degrees of Freedom

In this analog interface, we allow for 2 different quantum degrees of freedom:

Qubits consist of a pair of states (spin \(\uparrow\) and spin \(\downarrow\)).

Bosonic degrees of freedom form a fock space.

Operators

The basis of operators for the qubits are the Pauli operators:

  • \(\sigma^I\)
  • \(\sigma^x\)
  • \(\sigma^y\)
  • \(\sigma^z\)

The basis of operators for the bosonic degree of freedom are the ladder operators:

  • \(a\)
  • \(a^{\dagger}\)
  • \(I\)

Operator Operations

The basis operators can be combined with the operations:

  • Addition
  • Multiplication
  • Tensor Product
  • Scalar Multiplication

Hamiltonian

The Hamiltonian is an operator that governs interactions between quantum degrees of freedom.

The state of the system evolves under the unitary:

\[ U = e^{i H t} \]

Example

Spin-dependent force Hamiltonian:

\[ H = \sigma^+ \otimes a + \sigma^- \otimes a^{\dagger} \]
H = PauliPlus() @ Annihilation() + PauliMinus() @ Creation()

Analog Gate

The AnalogGate wraps the Hamiltonian.

gate = AnalogGate(hamiltonian=H)

Note

The purpose of the AnalogGate is to accomodate dissipation during the time evolution in the future.

Analog Circuit

The AnalogCircuit is the top level structure that describes a quantum experiment at the analog layer.

An AnalogCircuit consist of different kinds of statements:

Initializes all quantum degrees of freedom in the experiment:

  • Qubits \(\rightarrow\) \(| \downarrow \rangle\)
  • Bosons \(\rightarrow\) \(| 0 \rangle\)

Not Implemented

Initialize describes a global initialization. There is no support for individual initialization currently.

Evolve desribes the evolution of the system with an AnalogGate for a set duration.

Performs a projective measurement of all quantum degrees of freedom.

Not Implemented

Measure describes a global measurement. There is no support for individual measurement currently.

Usage

Example

circuit = AnalogCircuit()

circuit.initialize()
circuit.evolve(gate, duration=1)
circuit.measure()