pal.coalescent
Class ExpandingPopulation

java.lang.Object
  |
  +--pal.coalescent.DemographicModel
        |
        +--pal.coalescent.ConstantPopulation
              |
              +--pal.coalescent.ExponentialGrowth
                    |
                    +--pal.coalescent.ExpandingPopulation
All Implemented Interfaces:
java.lang.Cloneable, Parameterized, Report, java.io.Serializable, Summarizable, Units

public class ExpandingPopulation
extends ExponentialGrowth
implements Report, Parameterized, java.io.Serializable

This class models a population that grows exponentially from an inital population size alpha N0 to a present-day size N0. (Parameters: N0=present-day population size; r=growth rate; alpha: ratio of population sizes). This model is nested with the exponential-growth model (alpha -> 0).

See Also:
Serialized Form

Field Summary
 double alpha
          ratio of pop. sizes
 double alphaSE
          standard error of time alpha
 
Fields inherited from class pal.coalescent.ExponentialGrowth
r, rSE
 
Fields inherited from class pal.coalescent.ConstantPopulation
N0, N0SE
 
Fields inherited from class pal.coalescent.DemographicModel
fo
 
Fields inherited from interface pal.misc.Units
DAYS, EXPECTED_SUBSTITUTIONS, GENERATIONS, MONTHS, YEARS
 
Constructor Summary
ExpandingPopulation(double size, double growth, double ratio, int units)
          Construct demographic model of an expanding population
ExpandingPopulation(int units)
          Construct demographic model with default settings
 
Method Summary
 java.lang.Object clone()
           
 double getDefaultValue(int k)
          get default value of parameter
 double getDemographic(double t)
          Gets the value of the demographic function N(t) at time t.
 double getIntensity(double t)
          Returns value of demographic intensity function at time t (= integral 1/N(x) dx from 0 to t).
 double getInverseIntensity(double x)
          Returns value of inverse demographic intensity function (returns time, needed for simulation of coalescent intervals).
 double getLowerLimit(int k)
          get lower parameter limit
 int getNumParameters()
          get number of parameters
 double getParameter(int k)
          get model parameter
 double getRatio()
          returns ratio of population sizes
 double getUpperLimit(int k)
          get upper parameter limit
 void report(java.io.PrintWriter out)
          print human readable report (e.g., on parameters and associated model)
 void setParameter(double value, int k)
          set model parameter
 void setParameterSE(double value, int k)
          set standard errors for model parameter
 java.lang.String toString()
           
 
Methods inherited from class pal.coalescent.ExponentialGrowth
getGrowthRate, getSummaryTypes, getSummaryValue
 
Methods inherited from class pal.coalescent.ConstantPopulation
getN0
 
Methods inherited from class pal.coalescent.DemographicModel
computeLogLikelihood, computeLogLikelihood, getIntegral, getLogL, getSimulatedInterval, getUnits, setLogL, setUnits
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

alpha

public double alpha
ratio of pop. sizes

alphaSE

public double alphaSE
standard error of time alpha
Constructor Detail

ExpandingPopulation

public ExpandingPopulation(int units)
Construct demographic model with default settings

ExpandingPopulation

public ExpandingPopulation(double size,
                           double growth,
                           double ratio,
                           int units)
Construct demographic model of an expanding population
Method Detail

clone

public java.lang.Object clone()
Overrides:
clone in class ExponentialGrowth

getRatio

public double getRatio()
returns ratio of population sizes

getDemographic

public double getDemographic(double t)
Description copied from class: DemographicModel
Gets the value of the demographic function N(t) at time t.
Overrides:
getDemographic in class ExponentialGrowth

getIntensity

public double getIntensity(double t)
Description copied from class: DemographicModel
Returns value of demographic intensity function at time t (= integral 1/N(x) dx from 0 to t).
Overrides:
getIntensity in class ExponentialGrowth

getInverseIntensity

public double getInverseIntensity(double x)
Description copied from class: DemographicModel
Returns value of inverse demographic intensity function (returns time, needed for simulation of coalescent intervals).
Overrides:
getInverseIntensity in class ExponentialGrowth

getNumParameters

public int getNumParameters()
Description copied from interface: Parameterized
get number of parameters
Specified by:
getNumParameters in interface Parameterized
Overrides:
getNumParameters in class ExponentialGrowth
Following copied from interface: pal.misc.Parameterized
Returns:
number of parameters

getParameter

public double getParameter(int k)
Description copied from interface: Parameterized
get model parameter
Specified by:
getParameter in interface Parameterized
Overrides:
getParameter in class ExponentialGrowth
Following copied from interface: pal.misc.Parameterized
Parameters:
n - parameter number
Returns:
parameter value

getUpperLimit

public double getUpperLimit(int k)
Description copied from interface: Parameterized
get upper parameter limit
Specified by:
getUpperLimit in interface Parameterized
Overrides:
getUpperLimit in class ExponentialGrowth
Following copied from interface: pal.misc.Parameterized
Parameters:
n - parameter number
Returns:
upper bound

getLowerLimit

public double getLowerLimit(int k)
Description copied from interface: Parameterized
get lower parameter limit
Specified by:
getLowerLimit in interface Parameterized
Overrides:
getLowerLimit in class ExponentialGrowth
Following copied from interface: pal.misc.Parameterized
Parameters:
n - parameter number
Returns:
lower bound

getDefaultValue

public double getDefaultValue(int k)
Description copied from interface: Parameterized
get default value of parameter
Specified by:
getDefaultValue in interface Parameterized
Overrides:
getDefaultValue in class ExponentialGrowth
Following copied from interface: pal.misc.Parameterized
Parameters:
n - parameter number
Returns:
default value

setParameter

public void setParameter(double value,
                         int k)
Description copied from interface: Parameterized
set model parameter
Specified by:
setParameter in interface Parameterized
Overrides:
setParameter in class ExponentialGrowth
Following copied from interface: pal.misc.Parameterized
Parameters:
param - parameter value
n - parameter number

setParameterSE

public void setParameterSE(double value,
                           int k)
Description copied from interface: Parameterized
set standard errors for model parameter
Specified by:
setParameterSE in interface Parameterized
Overrides:
setParameterSE in class ExponentialGrowth
Following copied from interface: pal.misc.Parameterized
Parameters:
paramSE - standard error of parameter value
n - parameter number

toString

public java.lang.String toString()
Overrides:
toString in class ExponentialGrowth

report

public void report(java.io.PrintWriter out)
Description copied from interface: Report
print human readable report (e.g., on parameters and associated model)
Specified by:
report in interface Report
Overrides:
report in class ExponentialGrowth
Following copied from interface: pal.misc.Report
Parameters:
out - output stream