c3.libraries.hamiltonians

Library of Hamiltonian functions.

Module Contents

c3.libraries.hamiltonians.hamiltonian_reg_deco(func)[source]

Decorator for making registry of functions

c3.libraries.hamiltonians.resonator(a)[source]

Harmonic oscillator hamiltonian given the annihilation operator.

Parameters

a (Tensor) – Annihilator.

Returns

Number operator.

Return type

Tensor

c3.libraries.hamiltonians.duffing(a)[source]

Anharmonic part of the duffing oscillator.

Parameters

a (Tensor) – Annihilator.

Returns

Number operator.

Return type

Tensor

c3.libraries.hamiltonians.third_order(a)[source]
Parameters

a (Tensor) – Annihilator.

Returns

  • Tensor – Number operator.

  • return literally the Hamiltonian a_dag a a + a_dag a_dag a for the use in any Hamiltonian that uses more than

  • just a resonator or Duffing part. A more general type of quantum element on a physical chip can have this type of interaction.

  • One example is a three wave mixing element used in signal amplification called a Superconducting non-linear asymmetric inductive eLement

  • (SNAIL in short). The code is a simple modification of the Duffing function and written in the same style.

c3.libraries.hamiltonians.int_XX(anhs)[source]

Dipole type coupling.

Parameters

anhs (Tensor list) – Annihilators.

Returns

coupling

Return type

Tensor

c3.libraries.hamiltonians.int_YY(anhs)[source]

Dipole type coupling.

Parameters

anhs (Tensor list) – Annihilators.

Returns

coupling

Return type

Tensor

c3.libraries.hamiltonians.x_drive(a)[source]

Semiclassical drive.

Parameters

a (Tensor) – Annihilator.

Returns

Number operator.

Return type

Tensor

c3.libraries.hamiltonians.y_drive(a)[source]

Semiclassical drive.

Parameters

a (Tensor) – Annihilator.

Returns

Number operator.

Return type

Tensor

c3.libraries.hamiltonians.z_drive(a)[source]

Semiclassical drive.

Parameters

a (Tensor) – Annihilator.

Returns

Number operator.

Return type

Tensor