jphase

## Interface ContPhaseVar

- All Superinterfaces:
    JMarkovElement, PhaseVar
  All Known Implementing Classes:
    AbstractContPhaseVar, DenseContPhaseVar, ErlangCoxianVar, HyperErlangVar, HypoExponentialVar, SparseContPhaseVar

      public interface ContPhaseVar
      extends PhaseVar

  This interface defines the methods and attributes that any Continuous Phase-Type distribution should have
  Author:
    Juan F. Perez, German Riano. Universidad de los Andes. (C) 2006

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `ContPhaseVar` | `copy()` Creates a deep copy of the original Phase-Type Variable
    `ContPhaseVar` | `eqResidualTime()` Computes the Equilibrium Residual Distribution
    `ContPhaseVar` | `max(ContPhaseVar B)` Returns the maximum between the variable B and the original: res = max(A,B)
    `ContPhaseVar` | `max(ContPhaseVar B, ContPhaseVar res)` Returns the maximum between the variable B and the original: res = max(A,B)
    `ContPhaseVar` | `min(ContPhaseVar B)` Returns the minimum between the variable B and the original: res = min(A,B)
    `ContPhaseVar` | `min(ContPhaseVar B, ContPhaseVar res)` Returns the minimum between the variable B and the original: res = min(A,B)
    `ContPhaseVar` | `mix(double p, ContPhaseVar B)` Computes the distribution of the mix: res = A*p + B*(1-p)
    `ContPhaseVar` | `mix(double p, ContPhaseVar B, ContPhaseVar res)` Computes the distribution of the mix: res = A*p + B*(1-p)
    `ContPhaseVar` | `newVar(int n)` Creates a new variable of the same class of the original Continuous Phase-Type Variable
    `double` | `pdf(double x)` Evaluates the probability density function at x
    `double[]` | `pdf(int n, double delta)` Evaluates the probability density function at n values of x, starting with x=0, step delta
    `ContPhaseVar` | `residualTime(double x)` Computes the Residual Time Distribution
    `ContPhaseVar` | `residualVar(double a)` Computes the variable (X-a)+, i.e. the distribution takes the value of the original distribution if it is greater or equal to a.
    `ContPhaseVar` | `sum(ContPhaseVar B)` Computes the sum of this variable and B
    `ContPhaseVar` | `sum(ContPhaseVar B, ContPhaseVar res)` Computes the sum of this variable and B
    `ContPhaseVar` | `sumGeom(double p)` Returns the sum of a geometric number of independent copies of this variable
    `ContPhaseVar` | `sumPH(DiscPhaseVar B)` Returns the sum of a Phase-type-distributed number of Continuous Phase-type distributions
    `ContPhaseVar` | `sumPH(DiscPhaseVar B, ContPhaseVar res)` Returns the sum of a Phase-type-distributed number of Continuous Phase-type distributions
    `ContPhaseVar` | `times(double c)` Returns a Phase continuous variable that is the original one times c
    `java.lang.String` | `toString()` This method returns a short String used in the user interface to describe this element.
    `ContPhaseVar` | `waitingQ(double rho)` Computes the distribution of the waiting time in queue

    - ### Methods inherited from interface jphase.PhaseVar

      `cdf, cdf, CV, expectedValue, getMat0, getMat0Array, getMatrix, getMatrixArray, getNumPhases, getVec0, getVector, getVectorArray, lossFunction1, lossFunction2, median, moment, prob, quantil, setMatrix, setVector, stdDeviation, survival, survival, variance`

    - ### Methods inherited from interface jmarkov.basic.JMarkovElement

      `description, equals, label`

- - ### Method Detail

    - #### sumPH

          ContPhaseVar sumPH(DiscPhaseVar B,
                           ContPhaseVar res)

      Returns the sum of a Phase-type-distributed number of Continuous Phase-type distributions
      Parameters:
        `B` - Discrete-Phase Type Distribution that determines the number of Continuous Phase-Type Distributions to sum
        `res` - Continuous Phase Variable to store the resulting distribution
      Returns:
        Sum of a Phase number of Continuous Phase-type distributions

    - #### sumPH

          ContPhaseVar sumPH(DiscPhaseVar B)

      Returns the sum of a Phase-type-distributed number of Continuous Phase-type distributions
      Parameters:
        `B` - Discrete-Phase Type Distribution that determines the number of Continuous Phase-Type Distributions to sum
      Returns:
        Sum of a Phase number of Continuous Phase-type distributions

    - #### pdf

          double pdf(double x)

      Evaluates the probability density function at x
      Parameters:
        `x` - Evaluation point
      Returns:
        Probability density function at x

    - #### pdf

          double[] pdf(int n,
                     double delta)

      Evaluates the probability density function at n values of x, starting with x=0, step delta
      Parameters:
        `n` - number of evaluation points
        `delta` - distance between evaluation points
      Returns:
        Evaluation of the probability density function at x = 0,d,2d,..,(n-1)d

    - #### sum

          ContPhaseVar sum(ContPhaseVar B,
                         ContPhaseVar res)

      Computes the sum of this variable and B
      Parameters:
        `B` - Variable to sum to the original
        `res` - Variable to store the result
      Returns:
        Sum of this variable and B

    - #### sum

          ContPhaseVar sum(ContPhaseVar B)

      Computes the sum of this variable and B
      Parameters:
        `B` - Variable to sum to the original
      Returns:
        Sum of this variable and B

    - #### sumGeom

          ContPhaseVar sumGeom(double p)

      Returns the sum of a geometric number of independent copies of this variable
      Parameters:
        `p` - Parameter of the geometric variable
      Returns:
        Sum of a geometric number of independent copies of this variable

    - #### mix

          ContPhaseVar mix(double p,
                         ContPhaseVar B,
                         ContPhaseVar res)

      Computes the distribution of the mix: res = A*p + B*(1-p)
      Parameters:
        `B` - Variable to mix with the original
        `p` - Portion of this variable in the mix (0<=p<=1)
        `res` - Variable to store the resulting distribution with the same number of phases of the original distribution
      Returns:
        Distribution of the mix: res = A*p + B*(1-p)

    - #### mix

          ContPhaseVar mix(double p,
                         ContPhaseVar B)

      Computes the distribution of the mix: res = A*p + B*(1-p)
      Parameters:
        `B` - Variable to mix with the original
        `p` - Portion of this variable in the mix (0<=p<=1)
      Returns:
        Distribution of the mix: res = A*p + B*(1-p)

    - #### min

          ContPhaseVar min(ContPhaseVar B,
                         ContPhaseVar res)

      Returns the minimum between the variable B and the original: res = min(A,B)
      Parameters:
        `B` - Variable to compare with the original
        `res` - Variable to store the resulting distribution
      Returns:
        res = min(A,B)

    - #### min

          ContPhaseVar min(ContPhaseVar B)

      Returns the minimum between the variable B and the original: res = min(A,B)
      Parameters:
        `B` - Variable to compare with the original
      Returns:
        res = min(A,B)

    - #### max

          ContPhaseVar max(ContPhaseVar B,
                         ContPhaseVar res)

      Returns the maximum between the variable B and the original: res = max(A,B)
      Parameters:
        `B` - Variable to compare with the original
        `res` - Variable to store the resulting distribution
      Returns:
        res = max(A,B)

    - #### max

          ContPhaseVar max(ContPhaseVar B)

      Returns the maximum between the variable B and the original: res = max(A,B)
      Parameters:
        `B` - Variable to compare with the original
      Returns:
        res = max(A,B)

    - #### times

          ContPhaseVar times(double c)

      Returns a Phase continuous variable that is the original one times c
      Parameters:
        `c` - Scale factor to be applied to the original Phase continuous distribution
      Returns:
        Phase continuous variable that is the original one times c

    - #### residualTime

          ContPhaseVar residualTime(double x)

      Computes the Residual Time Distribution
      Parameters:
        `x` - evaluation point
      Returns:
        Distribution of P(X - tau <= x | X > tau

    - #### eqResidualTime

          ContPhaseVar eqResidualTime()

      Computes the Equilibrium Residual Distribution
      Returns:
        Fo(x) = integ(0,t,(1 - F(t))) / E(X)

    - #### waitingQ

          ContPhaseVar waitingQ(double rho)

      Computes the distribution of the waiting time in queue
      Parameters:
        `rho` - Server utilization
      Returns:
        Phase Variable that describes the waiting time in Queue

    - #### residualVar

          ContPhaseVar residualVar(double a)

      Computes the variable (X-a)+, i.e. the distribution takes the value of the original distribution if it is greater or equal to a. Otherwise, it is equal to null.
      Parameters:
        `a` - Parameter for determining loss variable
      Returns:
        Phase Variable that describes (X-a)+

    - #### copy

          ContPhaseVar copy()

      Creates a deep copy of the original Phase-Type Variable
      Specified by:
        `copy` in interface `PhaseVar`
      Returns:
        A deep copy of the original Phase-Type Variable

    - #### newVar

          ContPhaseVar newVar(int n)

      Creates a new variable of the same class of the original Continuous Phase-Type Variable
      Parameters:
        `n` - number of Phases of the new Variable
      Returns:
        A new variable of the same class of the original Continuous Phase-Type Variable

    - #### toString

          java.lang.String toString()

      Description copied from interface: `JMarkovElement`
      This method returns a short String used in the user interface to describe this element. It is highly recommended that every class calls label(), using the following code:

           public final String toString() {
               return label();
           }

      Specified by:
        `toString` in interface `JMarkovElement`
      Overrides:
        `toString` in class `java.lang.Object`
      Returns:
        A String label.
      See Also:
        `JMarkovElement.label()`