Documentation

LCS.Pauli

def I2 :
Matrix (Fin 2) (Fin 2)
Equations
  • I2 = !![1, 0; 0, 1]
Instances For
    def X :
    Matrix (Fin 2) (Fin 2)
    Equations
    • X = !![0, 1; 1, 0]
    Instances For
      def Y :
      Matrix (Fin 2) (Fin 2)
      Equations
      Instances For
        def Z :
        Matrix (Fin 2) (Fin 2)
        Equations
        • Z = !![1, 0; 0, -1]
        Instances For
          theorem I2_eq_one :
          I2 = 1
          theorem I2_comm_left (P : Matrix (Fin 2) (Fin 2) ) :
          theorem I2_comm_right (P : Matrix (Fin 2) (Fin 2) ) :
          theorem I2_sq :
          I2 * I2 = 1
          theorem X_sq :
          X * X = 1
          theorem Y_sq :
          Y * Y = 1
          theorem Z_sq :
          Z * Z = 1
          theorem XY_anticomm :
          X * Y = -(Y * X)
          theorem XZ_anticomm :
          X * Z = -(Z * X)
          theorem YZ_anticomm :
          Y * Z = -(Z * Y)
          theorem kronecker_comm_of_comm {A B C D : Matrix (Fin 2) (Fin 2) } (hAC : Commute A C) (hBD : Commute B D) :
          Commute (Matrix.kroneckerMap (fun (x1 x2 : ) => x1 * x2) A B) (Matrix.kroneckerMap (fun (x1 x2 : ) => x1 * x2) C D)
          theorem kronecker_comm_of_anticomm {A B C D : Matrix (Fin 2) (Fin 2) } (hAC : A * C = -(C * A)) (hBD : B * D = -(D * B)) :
          Commute (Matrix.kroneckerMap (fun (x1 x2 : ) => x1 * x2) A B) (Matrix.kroneckerMap (fun (x1 x2 : ) => x1 * x2) C D)
          theorem kronecker_observable {A B : Matrix (Fin 2) (Fin 2) } (hA : IsObservable A) (hB : IsObservable B) :
          IsObservable (Matrix.kroneckerMap (fun (x1 x2 : ) => x1 * x2) A B)