Qiskit-Extensions / monodromy

Computations in the monodromy polytope for quantum gate sets
Apache License 2.0
17 stars 9 forks source link

Named polytope coordinates #3

Open ecpeterson opened 2 years ago

ecpeterson commented 2 years ago

At present, we store each polytope in/equality as an ordered coefficient list, where [a0, a1, ..., an] represents a0 + a1 x1 + ... + an xn >= 0 for unknowns xj. Some of our favorite operations on polytopes are to "cylinderize" a polytope by sending {xj} to {x_f(j)} for some coordinate injection f and to "project" a polytope, which eliminates an unknown. Both of these operations shift around the coordinates in a conceptually nasty and bug-prone way.

It would be preferable to be able to "name" coordinates with strings, refer to coordinates by name, print polytopes with named coordinates used, and have these operations manipulate the set of named coordinates appropriately.