Class LinearConstraintsKraus

java.lang.Object
com.polytechnik.kgo.LinearConstraintsKraus

public class LinearConstraintsKraus extends Object
A class to calculated linear constraints for Kraus operators.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    (package private) static double[][]
    getAllCombinedConstraintsAsTest(int nS, int nC, int nX, double[] b)
    Combined constraints.
    (package private) static double[][]
    getCanonicalKrausOffdiag0(int nS, int nC, int nX, double[] b)
    Kraus canonical form constraints.
    static double[][]
    getOrthogonalOffdiag0DiagEq(int nS, int nC, int nX, double[] b)
    Zero offdiagonal and all equal diagonal elements of the matrix \( \mathrm{Herm}\left(\sum\limits_{k=0}^{nX-1}u_{jk}v_{ik}\right) \), there are (nC-1)*(nC+2)/2 linearized constraints in total.
    static double[][]
    getTracePreservingConstraints(int nS, int nC, int nX, double[] b)
    Spur-preserving constraints, zero offdiagonal and all equal diagonal elements of the matrix \( \delta_{kk^{\prime}}= \sum\limits_{s=0}^{nS-1} \sum\limits_{j=0}^{nC-1} b_{s,jk}b^*_{s,jk^{\prime}} \), there are (nX-1)*(nX+2)/2 linearized constraints in total.
    static double[][]
    getTracePreservingConstraintsM(int nC, int nX, double[] M)
    Spur-preserving constraints for a matrix \( \mathcal{M}_{jk} \) describing a quantum channel (this is not \(u_{jk}\)!), \( 1= \sum\limits_{j=0}^{nC-1} \mathcal{M}_{jk}\mathcal{M}^*_{jk} \), there are (nX-1) linearized constraints in total.
    static void
    main(String[] args)
    A unit test.
    (package private) static void
    runMultiTest(String name, int nTest, Random r, double eps)
     
    (package private) static void
    testBasic(int nS, int nC, int nX, Random r, double eps)
    One solution test.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • LinearConstraintsKraus

      public LinearConstraintsKraus()
  • Method Details

    • getOrthogonalOffdiag0DiagEq

      public static double[][] getOrthogonalOffdiag0DiagEq(int nS, int nC, int nX, double[] b)
      Zero offdiagonal and all equal diagonal elements of the matrix \( \mathrm{Herm}\left(\sum\limits_{k=0}^{nX-1}u_{jk}v_{ik}\right) \), there are (nC-1)*(nC+2)/2 linearized constraints in total.
    • getTracePreservingConstraints

      public static double[][] getTracePreservingConstraints(int nS, int nC, int nX, double[] b)
      Spur-preserving constraints, zero offdiagonal and all equal diagonal elements of the matrix \( \delta_{kk^{\prime}}= \sum\limits_{s=0}^{nS-1} \sum\limits_{j=0}^{nC-1} b_{s,jk}b^*_{s,jk^{\prime}} \), there are (nX-1)*(nX+2)/2 linearized constraints in total.
    • getTracePreservingConstraintsM

      public static double[][] getTracePreservingConstraintsM(int nC, int nX, double[] M)
      Spur-preserving constraints for a matrix \( \mathcal{M}_{jk} \) describing a quantum channel (this is not \(u_{jk}\)!), \( 1= \sum\limits_{j=0}^{nC-1} \mathcal{M}_{jk}\mathcal{M}^*_{jk} \), there are (nX-1) linearized constraints in total.
    • getCanonicalKrausOffdiag0

      static double[][] getCanonicalKrausOffdiag0(int nS, int nC, int nX, double[] b)
      Kraus canonical form constraints. there are nS*(nS-1)/2 linearized constraints in total.
    • getAllCombinedConstraintsAsTest

      static double[][] getAllCombinedConstraintsAsTest(int nS, int nC, int nX, double[] b)
      Combined constraints.
    • testBasic

      static void testBasic(int nS, int nC, int nX, Random r, double eps)
      One solution test.
    • runMultiTest

      static void runMultiTest(String name, int nTest, Random r, double eps)
    • main

      public static void main(String[] args)
      A unit test.