[x] Modify analyze_circuit under the standard OriginIR_base_parser
Following Q1: For the operations that are not affected by the dagger, do we need to keep the "_dg"?
For example: {'H': 3, 'CNOT': 3, 'CCCNOT': 1, 'X_dg': 2, 'Z_dg': 3, 'X': 1, 'Z': 1, 'CCNOT': 1, 'CCCCNOT': 1, 'CCCNOT_dg': 1, 'CNOT_dg': 1, 'CZ_dg': 1, 'CCNOT_dg': 1},
Following Q2: At what level we do not need to care about them anymore? circuit <-> OriginIR ->simulator
A2: We might name the operation in the OriginIR_base_parser, given its status of control and dagger_not
[x] Modify qasm under the standard OriginIR_line_parser
[x] Add dagger/ barrier support when converting OriginIR to QASM
There is no specific flag in QASM, RXGate(-0.4).inverse() ->rx(0.4) q[?]. Others follow a similar rule, all of the QE primitives have their own inverse() method to deal with the dagger issue.
[x] Add dagger/ barrier support when converting QASM to OriginIR
Based on the point above, I guess the transition from QASM to OriginIR would be easier.
[x] Circuit.remapping does not support partial-remapping currently, might need a discussion about it.
[x] Modify
analyze_circuit
under the standard OriginIR_base_parser Following Q1: For the operations that are not affected by the dagger, do we need to keep the "_dg"? For example:{'H': 3, 'CNOT': 3, 'CCCNOT': 1, 'X_dg': 2, 'Z_dg': 3, 'X': 1, 'Z': 1, 'CCNOT': 1, 'CCCCNOT': 1, 'CCCNOT_dg': 1, 'CNOT_dg': 1, 'CZ_dg': 1, 'CCNOT_dg': 1},
Following Q2: At what level we do not need to care about them anymore? circuit <-> OriginIR ->simulator A2: We might name the operation in the OriginIR_base_parser, given its status of control and dagger_not[x] Modify
qasm
under the standard OriginIR_line_parser[x] Add dagger/ barrier support when converting OriginIR to QASM There is no specific flag in QASM,
RXGate(-0.4).inverse()
->rx(0.4) q[?]
. Others follow a similar rule, all of the QE primitives have their own inverse() method to deal with the dagger issue.[x] Add dagger/ barrier support when converting QASM to OriginIR Based on the point above, I guess the transition from QASM to OriginIR would be easier.
[x] Circuit.remapping does not support partial-remapping currently, might need a discussion about it.
[ ] Dagger not done
Will close it after finish all of them. :^)