I created a new branch in my fork that contains the start of a qasm parser. If you're interested in this, it's available at:
https://github.com/rpmuller/sympy/blob/qasm_parser/sympy/physics/quantum/qasm.py Right now it doesn't do all that much. I plan to add a few more gates (X_pi/2, Z_pi/2, S, T), at which point the functionality we have should be basically useful. However, the big thing missing is the ability to define a gate in qasm using the 'def' command. Example 4 from Chuang's page is: def c-S,1,'S' def c-T,1,'T' qubit j0 qubit j1 qubit j2 h j0 c-S j1,j0 c-T j2,j0 nop j1 h j1 c-S j2,j1 h j2 swap j0,j2 We can make gates on the fly by defining a new class, e.g. class VGate(OneQubitGate): gate_name = 'V' gate_name_latex = u'V' class SqrtX(OneQubitGate): gate_name = 'sqrt-X' gate_name_latex = u'\sqrt{X}' But I don't know how do define a function that does this, without defining arguments or modifying the object after creation, both of which I understand are forbidden in sympy operators. Any thoughts? -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/sympy. For more options, visit https://groups.google.com/groups/opt_out.
