pal.substmodel
Interface NeoRateMatrix

All Superinterfaces:
java.io.Serializable
All Known Implementing Classes:
GeneralPoissonRateMatrix, GeneralREVRateMatrix

public interface NeoRateMatrix
extends java.io.Serializable

The new RateMatrix class. Replaces the old RateMatrix, and will in turn be renamed to RateMatrix at a later point. A NeoRateMatix object should be stateless (with regard to parameters used in likelihood searching). State is given by the parameter values which are administered externally.

Version:
$Id: NeoRateMatrix.java,v 1.3 2004/08/15 03:00:37 matt Exp $
Author:
Matthew Goode

Method Summary
 void createRelativeRates(double[][] rateStore, double[] rateParameters, int startIndex)
          Create the relative rates array
 void getDefaultRateParameters(double[] parameterStore, int startIndex)
           
 int getDimension()
           
 int getNumberOfRateParameters()
           
 double getRateParameterLowerBound(int parameter)
           
 double getRateParameterUpperBound(int parameter)
           
 java.lang.String getUniqueName()
           
 boolean isDataTypeCompatible(DataType dt)
          Check the compatibility of a data type to be used with the rate matrix
 boolean isReversible()
          Is the relative rate matrix described by this rate matrix meant to represent a reversible process? If true only the upper part of the rate matrix needs to be filled in (eg in matrix[i][j], for all where j > i );
 

Method Detail

getUniqueName

java.lang.String getUniqueName()
Returns:
a short unique human-readable identifier for this rate matrix.

isReversible

boolean isReversible()
Is the relative rate matrix described by this rate matrix meant to represent a reversible process? If true only the upper part of the rate matrix needs to be filled in (eg in matrix[i][j], for all where j > i );

Returns:
true if reversible

getDimension

int getDimension()
Returns:
the dimension of this rate matrix.

isDataTypeCompatible

boolean isDataTypeCompatible(DataType dt)
Check the compatibility of a data type to be used with the rate matrix

Parameters:
dt - the data type to test
Returns:
true if data type compatible (false otherwise)

createRelativeRates

void createRelativeRates(double[][] rateStore,
                         double[] rateParameters,
                         int startIndex)
Create the relative rates array

Parameters:
rateStore - The place where the relative rates are stored (should be assumed to be large enough - based on dimension)
rateParameters - The parameters to be used to construct the rate store
startIndex - The index into the rateParameters to start reading parameters

getNumberOfRateParameters

int getNumberOfRateParameters()

getRateParameterLowerBound

double getRateParameterLowerBound(int parameter)

getRateParameterUpperBound

double getRateParameterUpperBound(int parameter)

getDefaultRateParameters

void getDefaultRateParameters(double[] parameterStore,
                              int startIndex)