Submission Requirements - Hamiltonian Simulation

This is a reminder of the submission requirements for the Hamiltonian Simulation Problem.

  • Use no more than 10 qubits
  • Approximation error should be <0.1
  • CX and single qubit gates only.


I have a question regarding what is considered to be the “basis” of fundamental gates that would be used in the gate count metric. The Hamiltonian is given in terms of Pauli strings containing 10 Pauli chars each, which take values in the SU(2) generators + Identity. As stated in the example, one could use that X = HZH to look for CX/H annihilations. This implies a preference for diagonalization in respect to sigma_{z} (which is standard), meaning that each X would be equivalent to 3 fundamental gates (2 H’s and a Z), and therefore less desirable in the solution. My question is then, what is a set of gates that define the fundamental gates? and they carry any weights as penalty factors?

For example {H,Rz,Ry,CNOT} with penalty factors {1, 1, 1, 2}

Please let me know if I can clarify any more points, thank you in advance.

The fundamental gates are:

  • Any single-qubit gate (e.g. H, Rx, etc)
  • CNOT - the only two-qubit gate that is allowed


Does the circuit need to be constructed using trotterization, or can other methods be used to construct it?

Can we use simplifications specific to the LiH Hamiltonian and the time t=1 (which is used to compute the error in our solution), or do we need to present an approach that generalizes to different evolution times and Hamiltonians?

Thank you.

The circuit can implement any quantum algorithm for Hamiltonian simulation.
You may use the specific knowledge of the hamiltonian and the evolution time to simplify your circuit. It will be compared to the exact evolution of the stated Hamiltonian.


I have a question regarding the approximation error.

How do we know the exact evolution of the stated Hamiltonian? I suppose that we have to have this unitary matrix to calculate the approximation error.

Thank you!


Hi VietX,

The Hamiltonian I believe you are looking for is listed out in this post. Also, the team at Classiq will be calculating the errors for all submitted solutions for the hamiltonian problem this week and let contestants know if their solution met the minimum threshold error. So if you’re unsure of your error or how to calculate it, feel free to submit it and we’ll let you know shortly.


1 Like

Quick question: for calculating the error, the global phase of the unitary matters. If I export a circuit from qiskit to qasm via qasm() method, however, the global phase seems to be lost. If I would just construct a unitary from that circuit, the error will generally be huge, unless one corrects the global phase.

I have little experience with qasm. Am I missing a way to store the global phase in the qasm output?

Or how will the global phase be dealt with for the evaluation of submitted solutions?

It would be helpful to know which piece of code will be used to check the error on the submitted qasm string, in order to make sure the submitted circuit does comply with the error requirement.

Thanks a lot for clarification!

1 Like

Oh, sorry, just noticed that it is answered in the other discussion. Thanks.