C++ Implementations of Phylogenetic Cladogenesis Calculations
Phylogenetic probability calculations using Rcpp
Convert a list of areas to a list of geographic ranges (states); origi...
Calculate the number of states, given a certain number of areas
Make a list of 0-based indices of possible combinations of input areas
Calculate probability of ancestral states below a speciation event, gi...
Faster version of rcpp_calc_anclikes_sp
Even faster version of rcpp_calc_anclikes_sp
Calculate probability of ancestral states below a speciation event, gi...
Calculate the number of cladogenesis events of nonzero probability for...
Calculate ancestral likelihoods given a COO-like probability matrix
Calculate sum of weights for each ancestral state
Calculate the split likelihoods using COO_weights_columnar
Get all the combinations of descendent state pairs, in 0-based index f...
Run C++ version of convolve(x,y, conj=TRUE, type="open")
Get the product of multiplying each pair of values in a vector (cross-...
C++ conversion of a states list to a dispersal-extinction matrix (DEma...
String splitting shortcut
Various cladogenesis-related calculations that are slow in pure R are implemented in C++ with Rcpp. These include the calculation of the probability of various scenarios for the inheritance of geographic range at the divergence events on a phylogenetic tree, and other calculations necessary for models which are not continuous-time markov chains (CTMC), but where change instead occurs instantaneously at speciation events. Typically these models must assess the probability of every possible combination of (ancestor state, left descendent state, right descendent state). This means that there are up to (# of states)^3 combinations to investigate, and in biogeographical models, there can easily be hundreds of states, so calculation time becomes an issue. C++ implementation plus clever tricks (many combinations can be eliminated a priori) can greatly speed the computation time over naive R implementations. CITATION INFO: This package is the result of my Ph.D. research, please cite the package if you use it! Type: citation(package="cladoRcpp") to get the citation information.