Class IstatesConditionalSameAverage

java.lang.Object
com.polytechnik.utils.IstatesConditionalSameAverage

public class IstatesConditionalSameAverage extends Object
Find \( \left|\psi\right> \) state such that execution rate \[ \frac{\left<\psi|I| \psi\right>}{\left<\psi|\psi\right> } \xrightarrow[\psi]{\quad }\max \] is maximal, subject to constraints: \begin{align} 0&=\frac{\left<\psi|pI|\psi\right>}{\left<\psi|I|\psi\right>} -\, \frac{\left<\psi|pJ|\psi\right>}{\left<\psi|J|\psi\right>} \\ 1&=\left<\psi|\psi\right> \end{align} . As \( J \) typically time--averge is used, the constraint means time- and volume- averaged prices to be identical in \( \left|\psi\right> \) state: \( \frac{\left<\psi|pI|\psi\right>}{\left<\psi|I|\psi\right>} = \frac{\left<\psi|p|\psi\right>}{\left<\psi|\psi\right>} \).
See Also:
  • Field Details

    • N_iterations

      private static final int N_iterations
      See Also:
    • i_M

      public final double i_M
      The <psi_M|I|psi_M>.
    • lambda_i_M

      public final double lambda_i_M
      Last value of eigenvalue, in case of algorithm convergence matches to i_M.
    • LagrangeMultiplier_M

      public final double LagrangeMultiplier_M
      Lagrange multiplier value.
    • wr0_M

      public final double wr0_M
      The <psi_M|psi0>^2, a kind of "distance" to "now".
    • psi_M

      public final double[] psi_M
      The state of maxI conditional to <psi|QQpI|psi>/<psi|QQI|psi> - <psi|QQpJ|psi>/<psi|QQJ|psi> = 0.
    • I

      public final EVXData I
      The \( \left|I|\psi\right>=\lambda \left|\psi\right> \) solution.
    • pI_IH

      public final double pI_IH
      Prices (volume- and time- averaged) in initial |psiH> state.
    • pJ_IH

      public final double pJ_IH
      Prices (volume- and time- averaged) in initial |psiH> state.
    • pI_M

      public final double pI_M
      Prices (volume- and time- averaged) in |psi_M> state; must be identical according to constraint.
    • pJ_M

      public final double pJ_M
      Prices (volume- and time- averaged) in |psi_M> state; must be identical according to constraint.
    • flag_solution_found

      public final boolean flag_solution_found
  • Constructor Details

  • Method Details

    • getSeqOfInitFunctions

      private static List<IstatesConditionalSameAverage.GetMaxIState> getSeqOfInitFunctions(int n, List<double[]> bpsiInit, double[] bQQi, double[] bQQI, double[] bQQpI, double[] bQQJ, double[] bQQpJ, List<double[]> tryVariations, double eps)
      Given a sequence of input bpsiInit modify each of them to satisfy the constraint then apply IstatesConditionalSameAverage.GetMaxIState to find the state with maximal <psi|bQQi|psi>.
    • getLagrangeMultiplier

      private static double getLagrangeMultiplier(PsiConstrained bpsi_M, double[] bQQi, double[] bQQc)
      Calculate Lagrange multiplier.
    • printDiag

      static void printDiag(IstatesConditionalSameAverage m)
    • main

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