Class ConstantPopulation

java.lang.Object
jebl.evolution.coalescent.ConstantPopulation
All Implemented Interfaces:
DemographicFunction
Direct Known Subclasses:
ExponentialGrowth

public class ConstantPopulation extends Object implements DemographicFunction
This class models coalescent intervals for a constant population (parameter: N0=present-day population size).
If time units are set to Units.EXPECTED_SUBSTITUTIONS then the N0 parameter will be interpreted as N0 * mu.
Also note that if you are dealing with a diploid population N0 will be out by a factor of 2.
Version:
$Id: ConstantPopulation.java 390 2006-07-20 14:33:51Z rambaut $
Author:
Andrew Rambaut, Alexei Drummond
  • Nested Class Summary

    Nested classes/interfaces inherited from interface jebl.evolution.coalescent.DemographicFunction

    DemographicFunction.Utils
  • Constructor Summary

    Constructors
    Constructor
    Description
    Construct demographic model with default settings
    ConstantPopulation(double N0)
    Construct demographic model with given settings
  • Method Summary

    Modifier and Type
    Method
    Description
    double
    getArgument(int n)
    Returns the value of the nth argument of this function.
    int
    Returns the number of arguments for this function.
    Returns the name of the nth argument of this function.
    double
    getDemographic(double t)
    Gets the value of the demographic function N(t) at time t.
    double
    getIntegral(double start, double finish)
    Calculates the integral 1/N(x) dx between start and finish.
    double
    getIntensity(double t)
    Returns value of demographic intensity function at time t (= integral 1/N(x) dx from 0 to t).
    double
    Returns value of inverse demographic intensity function (returns time, needed for simulation of coalescent intervals).
    double
    Returns the lower bound of the nth argument of this function.
    double
    returns initial population size.
    double
    Returns the upper bound of the nth argument of this function.
    boolean
    returns whether an analytical expression for the integral is implemented
    void
    setArgument(int n, double value)
    Sets the value of the nth argument of this function.
    void
    setN0(double N0)
    sets initial population size.

    Methods inherited from class java.lang.Object

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

    • ConstantPopulation

      public ConstantPopulation()
      Construct demographic model with default settings
    • ConstantPopulation

      public ConstantPopulation(double N0)
      Construct demographic model with given settings
  • Method Details

    • getN0

      public double getN0()
      returns initial population size.
    • setN0

      public void setN0(double N0)
      sets initial population size.
    • getDemographic

      public double getDemographic(double t)
      Description copied from interface: DemographicFunction
      Gets the value of the demographic function N(t) at time t.
      Specified by:
      getDemographic in interface DemographicFunction
    • getIntensity

      public double getIntensity(double t)
      Description copied from interface: DemographicFunction
      Returns value of demographic intensity function at time t (= integral 1/N(x) dx from 0 to t).
      Specified by:
      getIntensity in interface DemographicFunction
    • getInverseIntensity

      public double getInverseIntensity(double x)
      Description copied from interface: DemographicFunction
      Returns value of inverse demographic intensity function (returns time, needed for simulation of coalescent intervals).
      Specified by:
      getInverseIntensity in interface DemographicFunction
    • hasIntegral

      public boolean hasIntegral()
      Description copied from interface: DemographicFunction
      returns whether an analytical expression for the integral is implemented
      Specified by:
      hasIntegral in interface DemographicFunction
      Returns:
      a boolean
    • getIntegral

      public double getIntegral(double start, double finish)
      Calculates the integral 1/N(x) dx between start and finish. The inherited function in DemographicFunction.Abstract calls a numerical integrater which is unecessary.
      Specified by:
      getIntegral in interface DemographicFunction
    • getArgumentCount

      public int getArgumentCount()
      Description copied from interface: DemographicFunction
      Returns the number of arguments for this function.
      Specified by:
      getArgumentCount in interface DemographicFunction
    • getArgumentName

      public String getArgumentName(int n)
      Description copied from interface: DemographicFunction
      Returns the name of the nth argument of this function.
      Specified by:
      getArgumentName in interface DemographicFunction
    • getArgument

      public double getArgument(int n)
      Description copied from interface: DemographicFunction
      Returns the value of the nth argument of this function.
      Specified by:
      getArgument in interface DemographicFunction
    • setArgument

      public void setArgument(int n, double value)
      Description copied from interface: DemographicFunction
      Sets the value of the nth argument of this function.
      Specified by:
      setArgument in interface DemographicFunction
    • getLowerBound

      public double getLowerBound(int n)
      Description copied from interface: DemographicFunction
      Returns the lower bound of the nth argument of this function.
      Specified by:
      getLowerBound in interface DemographicFunction
    • getUpperBound

      public double getUpperBound(int n)
      Description copied from interface: DemographicFunction
      Returns the upper bound of the nth argument of this function.
      Specified by:
      getUpperBound in interface DemographicFunction