Learn R Programming

BioGeoBEARS (version 0.2.1)

mapply_likelihoods_prebyte: Use mapply on matrix exponentiations -- pre-byte-compiling

Description

During the likelihood calculations from the tips to the root of a tree, the transition matrix Qmat needs to be exponentiated for each branch length in the tree. This is the slowest step of the likelihood calculation, especially for large matrices. This function performs this with mapply.

Usage

mapply_likelihoods_prebyte(Qmat, phy2, transpose_needed)

Arguments

Qmat
an input Q transition matrix.
phy2
A phylogenetic tree.
transpose_needed
If TRUE (default), matrix will be transposed (apparently EXPOKIT needs the input matrix to be transposed compared to normal).

Value

independent_likelihoods_on_each_branch The output matrix of the likelihoods for each state on each branch.

Details

Byte-compiling is supposed to speed up functions; this is an attempt to do this on the rexpokit function expokit_dgpadm_Qmat. It is also possible to byte-compile everything during package installation (via ByteCompile: true in the DESCRIPTION file), which is implemented in BioGeoBEARS, so this may be redundant.

mapply_likelihoods_prebyte gets byte-compiled into mapply_likelihoods.

See http://dirk.eddelbuettel.com/blog/2011/04/12/ for discussion of the compile package.

References

http://phylo.wikidot.com/matzke-2013-international-biogeography-society-poster

Matzke_2012_IBS

See Also

mapply, expokit_dgpadm_Qmat, expokit_dgpadm_Qmat2, compile, cmpfun

Examples

Run this code
testval=1

Run the code above in your browser using DataLab