GHZ with patch rotations

The four GHZ patches pass through rotation blocks before reaching their output Ports. These blocks change patch boundary orientation during the computation, rather than rotating a whole module instance.

Block graph

BLOG source

BLOG 1.0

module main {
  out q0: data = 8
  out q1: data = 9
  out q2: data = 10
  out q3: data = 11

  0: ZXZ [0, 0, 0]
  1: ZXZ [1, 0, 0]
  2: ZXZ [2, 0, 0]
  3: ZXZ [3, 0, 0]
  4: rotate Z [0, 0, 1] -> [0, 1, 2]
  5: rotate Z [1, 0, 1] -> [1, 1, 2]
  6: rotate Z [2, 0, 1] -> [2, 1, 2]
  7: rotate Z [3, 0, 1] -> [3, 1, 2]
  8: Port [0, 1, 3]
  9: Port [1, 1, 3]
  10: Port [2, 1, 3]
  11: Port [3, 1, 3]
  0 -> +X
  0 -> +Z
  1 -> +X
  1 -> +Z
  2 -> +X
  2 -> +Z
  3 -> +Z
  [0, 1, 2] -> +Z
  [1, 1, 2] -> +Z
  [2, 1, 2] -> +Z
  [3, 1, 2] -> +Z

}

See BLOG Format for the syntax or return to all examples.