Skip to content

qDrift

The QDrift function implements the qDrift Trotter evolution of Ref. [1] .

Syntax

Function: QDrift

Parameters:

  • pauli_operator: PauliOperator
    • pauli_list: List[Tuple[str, Union[complex, str]]]
  • evolution_coefficient: Union[float, Parameter]
  • num_qdrift: int
  • use_naive_evolution: bool

Example

{
  "functions": [
    {
      "name": "main",
      "body": [
          {
              "function": "QDrift",
              "function_params": {
                  "pauli_operator": {
                      "pauli_list": [
                          ["XY", 1.0],
                          ["ZI", 0.5]
                      ]
                  },
                  "evolution_coefficient": 2.0,
                  "num_qdrift": 5
              }
          }
      ]
    }
  ]
}
from classiq.builtin_functions.exponentiation import PauliOperator
from classiq.builtin_functions import QDrift
from classiq import Model, synthesize

model = Model()
qdrift_params = QDrift(
    pauli_operator=PauliOperator(pauli_list=[("XY", 1.0), ("ZI", 0.5)]),
    evolution_coefficient=2.0,
    num_qdrift=5,
)
model.QDrift(qdrift_params)
synthesize(model.get_model())

 qDrift_Example

References

[1] E. Campbell, Random Compiler for Fast Hamiltonian Simulation, (2019). https://arxiv.org/abs/1811.08017