frontend.planar_clock package

class frontend.planar_clock.PlanarClockAdiabaticProgram(num_data: int, num_round: int, num_clock: int, H_init: PlanarHamExpr, H_final: PlanarHamExpr, total_time: float, time_steps: int)

Bases: AdiabaticProgram

compile()

Compile the language expression of the Hamiltonians.

Returns:

The compiled Hamiltonians.

Return type:

tuple[sp.spmatrix, sp.spmatrix]

class frontend.planar_clock.PlanarClockFrontend

Bases: Frontend

Implement 2D clock translation following: https://arxiv.org/abs/quant-ph/0405098.

Example:

n = 2, R = 2 has a grid layout of

(r=0, c=0) (r=0, c=1) (r=0, c=2) (r=1, c=0) (r=1, c=1) (r=1, c=2) (r=2, c=0) (r=2, c=1) (r=2, c=2)

unitaries_to_program(Us: list[spmatrix])

Translate a list of unitaries into an adiabatic program. https://arxiv.org/pdf/quant-ph/0405098.pdf

Parameters:

Us (List[sp.spmatrix]) – A list of unitaries encoded as sp.sparse matrices.

Returns:

an adiabatic program