Class AdjustToOrthogonalKraus

java.lang.Object
com.polytechnik.kgo.AdjustToOrthogonalKraus

public class AdjustToOrthogonalKraus extends Object
Adjust Kraus operators to orthogonal form \( \delta_{jj^{\prime}}= \sum\limits_{s=0}^{nS-1} \sum\limits_{k=0}^{nX-1}b_{s,jk}b_{s,j^{\prime}k} \).
  • Constructor Details

    • AdjustToOrthogonalKraus

      public AdjustToOrthogonalKraus()
  • Method Details

    • getGramMatrixJJ

      static double[] getGramMatrixJJ(int nS, int nC, int nX, double[] b)
      Calculate \( G_{jj^{\prime}}= \sum\limits_{s=0}^{nS-1} \sum\limits_{k=0}^{nX-1}b_{s,jk}b_{s,j^{\prime}k} \) for a given unorthogonalized \( b_{s,jk} \).
    • evaluateF

      static double evaluateF(int nS, int nC, int nX, double[] SK, double[] b)
    • evaluateAMatrB

      static double evaluateAMatrB(int nS, int nC, int nX, double[] a, double[] b, double[] SK)
    • scaleByKrausIndex

      static double[] scaleByKrausIndex(int nS, int nC, int nX, double[] b, double[] scalesKraus)
    • adjustToOrthogonalWithEigenproblem

      public static AdjustToOrthogonalKraus.UAdjustmentJJ adjustToOrthogonalWithEigenproblem(int nS, int nC, int nX, double[] b)
      Adjust b such that they become orthogonal, a trabsform may decrese the \(\mathcal{F}\).
    • 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.