core.modeler.hamiltonian_expr#

Classes#

HamiltonianExpr

Hamiltonian expression class.

HamiltonianBuilder

Hamiltonian builder class.

Module Contents#

class HamiltonianExpr(expr, name: str = '')#

Hamiltonian expression class.

hamiltonian#

Hamiltonian expression.

name#

Name of the Hamiltonian expression.

Type:

str

N = jm.Placeholder("N")
Z = PauliExpr.z(shape=(N,))
i = jm.Element("i", belong_to = (0,N - 1))
h_expr = HamiltonianExpr(jm.sum(i, Z[i] * Z[i+1]))
hamiltonian#
name = ''#
class HamiltonianBuilder(hamiltonian_expr: HamiltonianExpr, instance_data: dict)#

Hamiltonian builder class.

hamiltonian_expr#

Hamiltonian expression.

Type:

HamiltonianExpr

instance_data#

Instance data.

Type:

dict

Example

>>> Z = PauliExpr.z(shape=(3,))
>>> i = jm.Element("i", belong_to = (0, 3))
>>> h_expr = HamiltonianExpr(jm.sum(i, Z[i]))
>>> builder = HamiltonianBuilder(h_expr,{})
>>> h = builder.build()
Hamiltonian((Z0,): 1.0, (Z1,): 1.0, (Z2,): 1.0)
hamiltonian_expr#
instance_data#
make_substituted_hamiltonian()#

Make substituted Hamiltonian.

This method substitutes the Hamiltonian expression with the given instance data.

make_qubit_index_mapper()#

Make qubit index mapper.

This method creates a mapper from the operator index to the quantum bit index.

make_reverse_var_map()#

Make mapper from the index to the Pauli operator.

make_hamiltonian_operator() qamomile.core.operator.Hamiltonian#

Make Qamomile Hamiltonian operator.

Returns:

Qamomile Hamiltonian operator.

Return type:

qm_o.Hamiltonian

build() qamomile.core.operator.Hamiltonian#

Build Qamomile Hamiltonian operator.

Returns:

Qamomile Hamiltonian operator.

Return type:

qm_o.Hamiltonian