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())
References¶
[1] E. Campbell, Random Compiler for Fast Hamiltonian Simulation, (2019). https://arxiv.org/abs/1811.08017