Stim icon indicating copy to clipboard operation
Stim copied to clipboard

[WIP] Add stim.Circuit.diagram

Open Strilanc opened this issue 1 year ago • 0 comments

  • Fix PAULI_CHANNEL_2 not being marked as targeting pairs
  • Fix stim.Circuit.flattened and stim.Circuit.without_noise not fusing all operations
      /-----------------\     /---------------\ /---------------\            /REP 999998      /---------------\ /---------------\            \
 q0: -QUBIT_COORDS(0,0)-R-----------------------------@-----------X----------|----------------------------------------@-----------X----------|-M[39999960]-
                                                      |           |          |                                        |           |          |
 q1: -QUBIT_COORDS(1,0)-R-H-@-@-----------------------|-----------@-H-MR[0]--|------------H-@-@-----------------------|-----------@-H-MR[40]-|-------------
                            | |                       |                      |              | |                       |                      |
 q2: -QUBIT_COORDS(2,0)-R---X-|-----------------------|-@---------X----------|--------------X-|-----------------------|-@---------X----------|-M[39999961]-
                              |                       | |         |          |                |                       | |         |          |
 q3: -QUBIT_COORDS(3,0)-R-H-@-|-@---------------------|-|---------@-H-MR[1]--|------------H-@-|-@---------------------|-|---------@-H-MR[41]-|-------------
                            | | |                     | |                    |              | | |                     | |                    |
 q4: -QUBIT_COORDS(4,0)-R---X-|-|---------------------|-|-@-------X----------|--------------X-|-|---------------------|-|-@-------X----------|-M[39999962]-
                              | |                     | | |       |          |                | |                     | | |       |          |
 q5: -QUBIT_COORDS(5,0)-R-H-@-|-|-@-------------------|-|-|-------@-H-MR[2]--|------------H-@-|-|-@-------------------|-|-|-------@-H-MR[42]-|-------------
                            | | | |                   | | |                  |              | | | |                   | | |                  |
 q6: -QUBIT_COORDS(6,0)-R---X-|-|-|-------------------|-|-|-@-----X----------|--------------X-|-|-|-------------------|-|-|-@-----X----------|-M[39999963]-
                              | | |                   | | | |     |          |                | | |                   | | | |     |          |
 q7: -QUBIT_COORDS(7,0)-R-H-@-|-|-|-@-----------------|-|-|-|-----@-H-MR[3]--|------------H-@-|-|-|-@-----------------|-|-|-|-----@-H-MR[43]-|-------------
                            | | | | |                 | | | |                |              | | | | |                 | | | |                |
 q8: -QUBIT_COORDS(8,0)-R---X-|-|-|-|-----------------|-|-|-|-@--------------|--------------X-|-|-|-|-----------------|-|-|-|-@--------------|-M[39999964]-
                              | | | |                 | | | | |              |                | | | |                 | | | | |              |
 q9: -QUBIT_COORDS(0,1)-R---X-|-|-|-|-X---------------X-|-|-|-|-------MR[4]--|--------------X-|-|-|-|-X---------------X-|-|-|-|-------MR[44]-|-------------
                            | | | | | |                 | | | |              |              | | | | | |                 | | | |              |
q10: -QUBIT_COORDS(1,1)-R---@-X-|-|-|-|---------X-------|-|-|-|---@----------|--------------@-X-|-|-|-|---------X-------|-|-|-|---@----------|-M[39999965]-
                                | | | |         |       | | | |   |          |                  | | | |         |       | | | |   |          |
q11: -QUBIT_COORDS(2,1)-R---X---|-|-|-|-X-------|-------X-|-|-|---X---MR[5]--|--------------X---|-|-|-|-X-------|-------X-|-|-|---X---MR[45]-|-------------
                            |   | | | | |       |         | | |              |              |   | | | | |       |         | | |              |
q12: -QUBIT_COORDS(3,1)-R---@---X-|-|-|-|-------|-X-------|-|-|---@----------|--------------@---X-|-|-|-|-------|-X-------|-|-|---@----------|-M[39999966]-
                                  | | | |       | |       | | |   |          |                    | | | |       | |       | | |   |          |
q13: -QUBIT_COORDS(4,1)-R---X-----|-|-|-|-X-----|-|-------X-|-|---X---MR[6]--|--------------X-----|-|-|-|-X-----|-|-------X-|-|---X---MR[46]-|-------------
                            |     | | | | |     | |         | |              |              |     | | | | |     | |         | |              |
q14: -QUBIT_COORDS(5,1)-R---@-----X-|-|-|-|-----|-|-X-------|-|---@----------|--------------@-----X-|-|-|-|-----|-|-X-------|-|---@----------|-M[39999967]-
                                    | | | |     | | |       | |   |          |                      | | | |     | | |       | |   |          |
q15: -QUBIT_COORDS(6,1)-R---X-------|-|-|-|-X---|-|-|-------X-|---X---MR[7]--|--------------X-------|-|-|-|-X---|-|-|-------X-|---X---MR[47]-|-------------
                            |       | | | | |   | | |         |              |              |       | | | | |   | | |         |              |
q16: -QUBIT_COORDS(7,1)-R---@-------X-|-|-|-|---|-|-|-X-------|---@----------|--------------@-------X-|-|-|-|---|-|-|-X-------|---@----------|-M[39999968]-
                                      | | | |   | | | |       |   |          |                        | | | |   | | | |       |   |          |
q17: -QUBIT_COORDS(8,1)-R-------------|-|-|-|-X-|-|-|-|-------X---X---MR[8]--|------------------------|-|-|-|-X-|-|-|-|-------X---X---MR[48]-|-------------
                                      | | | | | | | | |                      |                        | | | | | | | | |                      |
q18: -QUBIT_COORDS(0,2)-R-------------@-|-|-|-|-|-|-|-|-@---------X----------|------------------------@-|-|-|-|-|-|-|-|-@---------X----------|-M[39999969]-
                                        | | | | | | | | |         |          |                          | | | | | | | | |         |          |
q19: -QUBIT_COORDS(1,2)-R-H-@-@---------|-|-|-|-@-|-|-|-|---------@-H-MR[9]--|------------H-@-@---------|-|-|-|-@-|-|-|-|---------@-H-MR[49]-|-------------
                            | |         | | | |   | | | |                    |              | |         | | | |   | | | |                    |
q20: -QUBIT_COORDS(2,2)-R---X-|---------@-|-|-|---|-|-|-|-@-------X----------|--------------X-|---------@-|-|-|---|-|-|-|-@-------X----------|-M[39999970]-
                              |           | | |   | | | | |       |          |                |           | | |   | | | | |       |          |
q21: -QUBIT_COORDS(3,2)-R-H-@-|-@---------|-|-|---@-|-|-|-|-------@-H-MR[10]-|------------H-@-|-@---------|-|-|---@-|-|-|-|-------@-H-MR[50]-|-------------
                            | | |         | | |     | | | |                  |              | | |         | | |     | | | |                  |
q22: -QUBIT_COORDS(4,2)-R---X-|-|---------@-|-|-----|-|-|-|-@-----X----------|--------------X-|-|---------@-|-|-----|-|-|-|-@-----X----------|-M[39999971]-
                              | |           | |     | | | | |     |          |                | |           | |     | | | | |     |          |
q23: -QUBIT_COORDS(5,2)-R-H-@-|-|-@---------|-|-----@-|-|-|-|-----@-H-MR[11]-|------------H-@-|-|-@---------|-|-----@-|-|-|-|-----@-H-MR[51]-|-------------
                            | | | |         | |       | | | |                |              | | | |         | |       | | | |                |
q24: -QUBIT_COORDS(6,2)-R---X-|-|-|---------@-|-------|-|-|-|-@---X----------|--------------X-|-|-|---------@-|-------|-|-|-|-@---X----------|-M[39999972]-
                              | | |           |       | | | | |   |          |                | | |           |       | | | | |   |          |
q25: -QUBIT_COORDS(7,2)-R-H-@-|-|-|-@---------|-------@-|-|-|-|---@-H-MR[12]-|------------H-@-|-|-|-@---------|-------@-|-|-|-|---@-H-MR[52]-|-------------
                            | | | | |         |         | | | |              |              | | | | |         |         | | | |              |
q26: -QUBIT_COORDS(8,2)-R---X-|-|-|-|---------@---------|-|-|-|-@------------|--------------X-|-|-|-|---------@---------|-|-|-|-@------------|-M[39999973]-
                              | | | |                   | | | | |            |                | | | |                   | | | | |            |
q27: -QUBIT_COORDS(0,3)-R---X-|-|-|-|-X-----------------X-|-|-|-|-----MR[13]-|--------------X-|-|-|-|-X-----------------X-|-|-|-|-----MR[53]-|-------------
                            | | | | | |                   | | | |            |              | | | | | |                   | | | |            |
q28: -QUBIT_COORDS(1,3)-R---@-X-|-|-|-|---------X---------|-|-|-|-@----------|--------------@-X-|-|-|-|---------X---------|-|-|-|-@----------|-M[39999974]-
                                | | | |         |         | | | | |          |                  | | | |         |         | | | | |          |
q29: -QUBIT_COORDS(2,3)-R---X---|-|-|-|-X-------|---------X-|-|-|-X---MR[14]-|--------------X---|-|-|-|-X-------|---------X-|-|-|-X---MR[54]-|-------------
                            |   | | | | |       |           | | |            |              |   | | | | |       |           | | |            |
q30: -QUBIT_COORDS(3,3)-R---@---X-|-|-|-|-------|-X---------|-|-|-@----------|--------------@---X-|-|-|-|-------|-X---------|-|-|-@----------|-M[39999975]-
                                  | | | |       | |         | | | |          |                    | | | |       | |         | | | |          |
q31: -QUBIT_COORDS(4,3)-R---X-----|-|-|-|-X-----|-|---------X-|-|-X---MR[15]-|--------------X-----|-|-|-|-X-----|-|---------X-|-|-X---MR[55]-|-------------
                            |     | | | | |     | |           | |            |              |     | | | | |     | |           | |            |
q32: -QUBIT_COORDS(5,3)-R---@-----X-|-|-|-|-----|-|-X---------|-|-@----------|--------------@-----X-|-|-|-|-----|-|-X---------|-|-@----------|-M[39999976]-
                                    | | | |     | | |         | | |          |                      | | | |     | | |         | | |          |
q33: -QUBIT_COORDS(6,3)-R---X-------|-|-|-|-X---|-|-|---------X-|-X---MR[16]-|--------------X-------|-|-|-|-X---|-|-|---------X-|-X---MR[56]-|-------------
                            |       | | | | |   | | |           |            |              |       | | | | |   | | |           |            |
q34: -QUBIT_COORDS(7,3)-R---@-------X-|-|-|-|---|-|-|-X---------|-@----------|--------------@-------X-|-|-|-|---|-|-|-X---------|-@----------|-M[39999977]-
                                      | | | |   | | | |         | |          |                        | | | |   | | | |         | |          |
q35: -QUBIT_COORDS(8,3)-R-------------|-|-|-|-X-|-|-|-|---------X-X---MR[17]-|------------------------|-|-|-|-X-|-|-|-|---------X-X---MR[57]-|-------------
                                      | | | | | | | | |                      |                        | | | | | | | | |                      |
q36: -QUBIT_COORDS(0,4)-R-------------@-|-|-|-|-|-|-|-|-@---------X----------|------------------------@-|-|-|-|-|-|-|-|-@---------X----------|-M[39999978]-
                                        | | | | | | | | |         |          |                          | | | | | | | | |         |          |
q37: -QUBIT_COORDS(1,4)-R-H-@-@---------|-|-|-|-@-|-|-|-|---------@-H-MR[18]-|------------H-@-@---------|-|-|-|-@-|-|-|-|---------@-H-MR[58]-|-------------
                            | |         | | | |   | | | |                    |              | |         | | | |   | | | |                    |
q38: -QUBIT_COORDS(2,4)-R---X-|---------@-|-|-|---|-|-|-|-@-------X----------|--------------X-|---------@-|-|-|---|-|-|-|-@-------X----------|-M[39999979]-
                              |           | | |   | | | | |       |          |                |           | | |   | | | | |       |          |
q39: -QUBIT_COORDS(3,4)-R-H-@-|-@---------|-|-|---@-|-|-|-|-------@-H-MR[19]-|------------H-@-|-@---------|-|-|---@-|-|-|-|-------@-H-MR[59]-|-------------
                            | | |         | | |     | | | |                  |              | | |         | | |     | | | |                  |
q40: -QUBIT_COORDS(4,4)-R---X-|-|---------@-|-|-----|-|-|-|-@-----X----------|--------------X-|-|---------@-|-|-----|-|-|-|-@-----X----------|-M[39999980]-
                              | |           | |     | | | | |     |          |                | |           | |     | | | | |     |          |
q41: -QUBIT_COORDS(5,4)-R-H-@-|-|-@---------|-|-----@-|-|-|-|-----@-H-MR[20]-|------------H-@-|-|-@---------|-|-----@-|-|-|-|-----@-H-MR[60]-|-------------
                            | | | |         | |       | | | |                |              | | | |         | |       | | | |                |
q42: -QUBIT_COORDS(6,4)-R---X-|-|-|---------@-|-------|-|-|-|-@---X----------|--------------X-|-|-|---------@-|-------|-|-|-|-@---X----------|-M[39999981]-
                              | | |           |       | | | | |   |          |                | | |           |       | | | | |   |          |
q43: -QUBIT_COORDS(7,4)-R-H-@-|-|-|-@---------|-------@-|-|-|-|---@-H-MR[21]-|------------H-@-|-|-|-@---------|-------@-|-|-|-|---@-H-MR[61]-|-------------
                            | | | | |         |         | | | |              |              | | | | |         |         | | | |              |
q44: -QUBIT_COORDS(8,4)-R---X-|-|-|-|---------@---------|-|-|-|-@------------|--------------X-|-|-|-|---------@---------|-|-|-|-@------------|-M[39999982]-
                              | | | |                   | | | | |            |                | | | |                   | | | | |            |
q45: -QUBIT_COORDS(0,5)-R---X-|-|-|-|-X-----------------X-|-|-|-|-----MR[22]-|--------------X-|-|-|-|-X-----------------X-|-|-|-|-----MR[62]-|-------------
                            | | | | | |                   | | | |            |              | | | | | |                   | | | |            |
q46: -QUBIT_COORDS(1,5)-R---@-X-|-|-|-|---------X---------|-|-|-|-@----------|--------------@-X-|-|-|-|---------X---------|-|-|-|-@----------|-M[39999983]-
                                | | | |         |         | | | | |          |                  | | | |         |         | | | | |          |
q47: -QUBIT_COORDS(2,5)-R---X---|-|-|-|-X-------|---------X-|-|-|-X---MR[23]-|--------------X---|-|-|-|-X-------|---------X-|-|-|-X---MR[63]-|-------------
                            |   | | | | |       |           | | |            |              |   | | | | |       |           | | |            |
q48: -QUBIT_COORDS(3,5)-R---@---X-|-|-|-|-------|-X---------|-|-|-@----------|--------------@---X-|-|-|-|-------|-X---------|-|-|-@----------|-M[39999984]-
                                  | | | |       | |         | | | |          |                    | | | |       | |         | | | |          |
q49: -QUBIT_COORDS(4,5)-R---X-----|-|-|-|-X-----|-|---------X-|-|-X---MR[24]-|--------------X-----|-|-|-|-X-----|-|---------X-|-|-X---MR[64]-|-------------
                            |     | | | | |     | |           | |            |              |     | | | | |     | |           | |            |
q50: -QUBIT_COORDS(5,5)-R---@-----X-|-|-|-|-----|-|-X---------|-|-@----------|--------------@-----X-|-|-|-|-----|-|-X---------|-|-@----------|-M[39999985]-
                                    | | | |     | | |         | | |          |                      | | | |     | | |         | | |          |
q51: -QUBIT_COORDS(6,5)-R---X-------|-|-|-|-X---|-|-|---------X-|-X---MR[25]-|--------------X-------|-|-|-|-X---|-|-|---------X-|-X---MR[65]-|-------------
                            |       | | | | |   | | |           |            |              |       | | | | |   | | |           |            |
q52: -QUBIT_COORDS(7,5)-R---@-------X-|-|-|-|---|-|-|-X---------|-@----------|--------------@-------X-|-|-|-|---|-|-|-X---------|-@----------|-M[39999986]-
                                      | | | |   | | | |         | |          |                        | | | |   | | | |         | |          |
q53: -QUBIT_COORDS(8,5)-R-------------|-|-|-|-X-|-|-|-|---------X-X---MR[26]-|------------------------|-|-|-|-X-|-|-|-|---------X-X---MR[66]-|-------------
                                      | | | | | | | | |                      |                        | | | | | | | | |                      |
q54: -QUBIT_COORDS(0,6)-R-------------@-|-|-|-|-|-|-|-|-@---------X----------|------------------------@-|-|-|-|-|-|-|-|-@---------X----------|-M[39999987]-
                                        | | | | | | | | |         |          |                          | | | | | | | | |         |          |
q55: -QUBIT_COORDS(1,6)-R-H-@-@---------|-|-|-|-@-|-|-|-|---------@-H-MR[27]-|------------H-@-@---------|-|-|-|-@-|-|-|-|---------@-H-MR[67]-|-------------
                            | |         | | | |   | | | |                    |              | |         | | | |   | | | |                    |
q56: -QUBIT_COORDS(2,6)-R---X-|---------@-|-|-|---|-|-|-|-@-------X----------|--------------X-|---------@-|-|-|---|-|-|-|-@-------X----------|-M[39999988]-
                              |           | | |   | | | | |       |          |                |           | | |   | | | | |       |          |
q57: -QUBIT_COORDS(3,6)-R-H-@-|-@---------|-|-|---@-|-|-|-|-------@-H-MR[28]-|------------H-@-|-@---------|-|-|---@-|-|-|-|-------@-H-MR[68]-|-------------
                            | | |         | | |     | | | |                  |              | | |         | | |     | | | |                  |
q58: -QUBIT_COORDS(4,6)-R---X-|-|---------@-|-|-----|-|-|-|-@-----X----------|--------------X-|-|---------@-|-|-----|-|-|-|-@-----X----------|-M[39999989]-
                              | |           | |     | | | | |     |          |                | |           | |     | | | | |     |          |
q59: -QUBIT_COORDS(5,6)-R-H-@-|-|-@---------|-|-----@-|-|-|-|-----@-H-MR[29]-|------------H-@-|-|-@---------|-|-----@-|-|-|-|-----@-H-MR[69]-|-------------
                            | | | |         | |       | | | |                |              | | | |         | |       | | | |                |
q60: -QUBIT_COORDS(6,6)-R---X-|-|-|---------@-|-------|-|-|-|-@---X----------|--------------X-|-|-|---------@-|-------|-|-|-|-@---X----------|-M[39999990]-
                              | | |           |       | | | | |   |          |                | | |           |       | | | | |   |          |
q61: -QUBIT_COORDS(7,6)-R-H-@-|-|-|-@---------|-------@-|-|-|-|---@-H-MR[30]-|------------H-@-|-|-|-@---------|-------@-|-|-|-|---@-H-MR[70]-|-------------
                            | | | | |         |         | | | |              |              | | | | |         |         | | | |              |
q62: -QUBIT_COORDS(8,6)-R---X-|-|-|-|---------@---------|-|-|-|-@------------|--------------X-|-|-|-|---------@---------|-|-|-|-@------------|-M[39999991]-
                              | | | |                   | | | | |            |                | | | |                   | | | | |            |
q63: -QUBIT_COORDS(0,7)-R---X-|-|-|-|-X-----------------X-|-|-|-|-----MR[31]-|--------------X-|-|-|-|-X-----------------X-|-|-|-|-----MR[71]-|-------------
                            | | | | | |                   | | | |            |              | | | | | |                   | | | |            |
q64: -QUBIT_COORDS(1,7)-R---@-X-|-|-|-|---------X---------|-|-|-|-@----------|--------------@-X-|-|-|-|---------X---------|-|-|-|-@----------|-M[39999992]-
                                | | | |         |         | | | | |          |                  | | | |         |         | | | | |          |
q65: -QUBIT_COORDS(2,7)-R---X---|-|-|-|-X-------|---------X-|-|-|-X---MR[32]-|--------------X---|-|-|-|-X-------|---------X-|-|-|-X---MR[72]-|-------------
                            |   | | | | |       |           | | |            |              |   | | | | |       |           | | |            |
q66: -QUBIT_COORDS(3,7)-R---@---X-|-|-|-|-------|-X---------|-|-|-@----------|--------------@---X-|-|-|-|-------|-X---------|-|-|-@----------|-M[39999993]-
                                  | | | |       | |         | | | |          |                    | | | |       | |         | | | |          |
q67: -QUBIT_COORDS(4,7)-R---X-----|-|-|-|-X-----|-|---------X-|-|-X---MR[33]-|--------------X-----|-|-|-|-X-----|-|---------X-|-|-X---MR[73]-|-------------
                            |     | | | | |     | |           | |            |              |     | | | | |     | |           | |            |
q68: -QUBIT_COORDS(5,7)-R---@-----X-|-|-|-|-----|-|-X---------|-|-@----------|--------------@-----X-|-|-|-|-----|-|-X---------|-|-@----------|-M[39999994]-
                                    | | | |     | | |         | | |          |                      | | | |     | | |         | | |          |
q69: -QUBIT_COORDS(6,7)-R---X-------|-|-|-|-X---|-|-|---------X-|-X---MR[34]-|--------------X-------|-|-|-|-X---|-|-|---------X-|-X---MR[74]-|-------------
                            |       | | | | |   | | |           |            |              |       | | | | |   | | |           |            |
q70: -QUBIT_COORDS(7,7)-R---@-------X-|-|-|-|---|-|-|-X---------|-@----------|--------------@-------X-|-|-|-|---|-|-|-X---------|-@----------|-M[39999995]-
                                      | | | |   | | | |         | |          |                        | | | |   | | | |         | |          |
q71: -QUBIT_COORDS(8,7)-R-------------|-|-|-|-X-|-|-|-|---------X-X---MR[35]-|------------------------|-|-|-|-X-|-|-|-|---------X-X---MR[75]-|-------------
                                      | | | | | | | | |                      |                        | | | | | | | | |                      |
q72: -QUBIT_COORDS(0,8)-R-------------@-|-|-|-|-|-|-|-|-----------X----------|------------------------@-|-|-|-|-|-|-|-|-----------X----------|-M[39999996]-
                                        | | | | | | | |           |          |                          | | | | | | | |           |          |
q73: -QUBIT_COORDS(1,8)-R-H-@-----------|-|-|-|-@-|-|-|-----------@-H-MR[36]-|------------H-@-----------|-|-|-|-@-|-|-|-----------@-H-MR[76]-|-------------
                            |           | | | |   | | |                      |              |           | | | |   | | |                      |
q74: -QUBIT_COORDS(2,8)-R---X-----------@-|-|-|---|-|-|-----------X----------|--------------X-----------@-|-|-|---|-|-|-----------X----------|-M[39999997]-
                                          | | |   | | |           |          |                            | | |   | | |           |          |
q75: -QUBIT_COORDS(3,8)-R-H-@-------------|-|-|---@-|-|-----------@-H-MR[37]-|------------H-@-------------|-|-|---@-|-|-----------@-H-MR[77]-|-------------
                            |             | | |     | |                      |              |             | | |     | |                      |
q76: -QUBIT_COORDS(4,8)-R---X-------------@-|-|-----|-|-----------X----------|--------------X-------------@-|-|-----|-|-----------X----------|-M[39999998]-
                                            | |     | |           |          |                              | |     | |           |          |
q77: -QUBIT_COORDS(5,8)-R-H-@---------------|-|-----@-|-----------@-H-MR[38]-|------------H-@---------------|-|-----@-|-----------@-H-MR[78]-|-------------
                            |               | |       |                      |              |               | |       |                      |
q78: -QUBIT_COORDS(6,8)-R---X---------------@-|-------|-----------X----------|--------------X---------------@-|-------|-----------X----------|-M[39999999]-
                                              |       |           |          |                                |       |           |          |
q79: -QUBIT_COORDS(7,8)-R-H-@-----------------|-------@-----------@-H-MR[39]-|------------H-@-----------------|-------@-----------@-H-MR[79]-|-------------
                            |                 |                              |              |                 |                              |
q80: -QUBIT_COORDS(8,8)-R---X-----------------@------------------------------|--------------X-----------------@------------------------------|-M[40000000]-
      \-----------------/     \---------------/ \---------------/            \                \---------------/ \---------------/            /

Strilanc avatar Aug 06 '22 05:08 Strilanc