Quantum superdense coding
In the Quantum teleportation section, we saw that two classical bits are used to transfer a quantum state from Alice to Bob. In superdense coding, we use a single quantum state to send two classical bits.
Let's look at the Silq implementation of superdense coding to understand this protocol better:
def main() {
  return SuperDenseCoding();
}
def SuperDenseCoding(){
  a:=0:
;
  b:=0:
;
 Â
  // Bell State Preparation
  a:=H(a);
  if a{
    b := X(b);
  }
  // Alice's Operation - 11 is sent
  a:=Z(a);
  a:=X(a);
  // Bob's Operation
  if a{
    b := X(b);
  }
  a:=H(a);
  return(a,b);
}
Observe in the preceding code that the classical bits 11 are sent by Alice because she applies a ZX operation. The output of the code is shown in Figure 7.16...