language.hamiltonian package

class language.hamiltonian.Diagonal

Bases: HamExpr

Real-Valued Diagonal.

class language.hamiltonian.EncodeUnitary(U: spmatrix, start: int, bound: int, state_bwd: str, state_fwd: str)

Bases: HamExpr

Encode a unitary as a hamiltonian with forward and backward state.

Parameters:
  • U (sp.spmatrix) – Unitary.

  • start (int) – start position (1-indexing).

  • bound (int) – number of clock qubits, which is L.

  • state_bwd (str) – backward clock.

  • state_fwd (str) – forward clock.

class language.hamiltonian.HamExpr

Bases: ExpressionBase

The base expression for this language. The matrix represented by this category of expression is always Hermetian.

class language.hamiltonian.Identity(n: int)

Bases: Diagonal

Identity matrix over n qubits.

Parameters:

n (int) – number of qubits.

class language.hamiltonian.KronDiagonal(D1: Diagonal, D2: Diagonal)

Bases: Diagonal

Kronocker product of 2 real-valued diagonal matrices.

Parameters:
  • D1 (Diagonal) – First real-valued diagonal matrix.

  • D2 (Diagonal) – Second real-valued diagonal matrix.

class language.hamiltonian.ProjectState(state: str)

Bases: Diagonal

Project a state to form as a Hamiltonian.

Parameters:

state (str) – state to project onto.

class language.hamiltonian.ScalarMultiply(scalar: int | float, expr: HamExpr)

Bases: HamExpr

Scalar multiple of a Hamiltonian.

Parameters:
  • scalar (int | float) – Scalar value.

  • expr (HamExpr) – Hamiltonian.

class language.hamiltonian.Summation(expr_arr: list[HamExpr])

Bases: HamExpr

Sum of Hamiltonians.

Parameters:

expr_arr (list[HamExpr]) – Hamiltonians to sum up.

language.hamiltonian.compile_expr(expr: HamExpr) spmatrix

Compute the Hamiltonian expression into a scipy matrix.

Parameters:

expr (HamExpr) – Expression to lower.

Returns:

actual matrix of this Hamiltonian.

Return type:

sp.spmatrix