Commit 01c51e1
committed
patched non-unitary Trotter on density matrix
Trotterisation of a PauliStrSum gadget sees a density matrix operated upon by a sequence of PauliStr gadgets, each like
rho -> exp(i angle coeff term) rho exp(i angle coeff term)^dagger
where angle is a user-parameter, term is a PauliStr, and coeff is its coefficient in the PauliStrSum. In the linearised setting, this becomes:
||rho> -> conj[exp(i angle coeff term)] (x) exp(i angle coeff term) ||rho>
When the gadget is unitary (i.e. the PauliStrSum is Hermitian and the angle parameter is real), the dagger of the LHS operator above simplifies to
exp(+- i angle coeff term)
where the +- sign is admitted by conj(term), depending on the parity of the Y operators therein.
This simplification was erroneously used in the general case, when the PauliStrSum is not necessarily Hermitian and angle can be complex. In that general case, we have instead that the LHS operator's conjugation simplifies to:
exp(+- i conj(angle*coeff) term)
This patch corrects the argument of the prescribed gadget.1 parent 315ea41 commit 01c51e1
1 file changed
+5
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
40 | | - | |
| 40 | + | |
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
52 | | - | |
53 | | - | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
54 | 56 | | |
55 | 57 | | |
56 | 58 | | |
| |||
0 commit comments