## Calculate the number of cladogenesis events of nonzero probability for each ancestral state

### Description

This function takes the list of possible states (l), and the parameters of a cladogenesis model (s, v, j, y) (which are the relative weights of each of type of cladogenic range inheritance event) and, for each ancestral state, sums the weights of allowed descendant events. Dividing the weights in each row, by the sum of the weights for that row, provides the absolute probabilities of each transition, conditional on the ancestral state for that row.

### Usage

rcpp_calc_anclikes_sp_rowsums(Rcpp_leftprobs, Rcpp_rightprobs, l, s = 1,
v = 1, j = 0, y = 1, dmat = NULL, maxent01s = NULL,
maxent01v = NULL, maxent01j = NULL, maxent01y = NULL,
max_minsize_as_function_of_ancsize = NULL, printmat = TRUE)


### Arguments

 Rcpp_leftprobs Probabilities of the states at the base of the left descendant branch Rcpp_rightprobs Probabilities of the states at the base of the right descendant branch l List of state indices (0-based) s Relative weight of sympatric "subset" speciation. Default s=1 mimics LAGRANGE model. v Relative weight of vicariant speciation. Default v=1 mimics LAGRANGE model. j Relative weight of "founder event speciation"/jump speciation. Default j=0 mimics LAGRANGE model. y Relative weight of fully sympatric speciation (range-copying). Default y=1 mimics LAGRANGE model. dmat If given, a matrix of rank numareas giving multipliers for the probability of each dispersal event between areas. Default NULL, which sets every cell of the dmat matrix to value 1. Users may construct their own parameterized dmat (for example, making dmat a function of distance) for inclusion in ML or Bayesian analyses. maxent01s Matrix giving the relative weight of each possible descendant rangesize for the smaller range, for a given ancestral rangesize, for a subset-sympatric speciation event. Default is NULL, which means the script will set up the LAGRANGE model (one descendent always has range size 1). maxent01v Matrix giving the relative weight of each possible descendant rangesize for the smaller range, for a given ancestral rangesize, for a vicariance speciation event. Default is NULL, which means the script will set up the LAGRANGE model (one descendent always has range size 1). maxent01j Matrix giving the relative weight of each possible descendant rangesize for the smaller range, for a given ancestral rangesize, for a founder-event speciation event. Default is NULL, which means the script will set up the LAGRANGE model (one descendent always has range size 1). maxent01y Matrix giving the relative weight of each possible descendant rangesize for the smaller range, for a given ancestral rangesize, for a full-sympatric (range-copying) speciation event. Default is NULL, which means the script will set up the LAGRANGE model (one descendent always has range size 1). max_minsize_as_function_of_ancsize If given, any state with a range larger that this value will be given a probability of zero (for the branch with the smaller rangesize). This means that not every possible combination of ranges has to be checked, which can get very slow for large state spaces. printmat Should the probability matrix output be printed to screen? (useful for debugging, but can be dramatically slow in R.app for some reason for even moderate numbers of states; perhaps overrunning the line length...)

### Details

The inputs Rcpp_leftprobs and Rcpp_rightprobs are basically irrelevant here, but retained for symmetry with the other functions. In effect, this function is identical with rcpp_calc_anclikes_sp except that Rcpp_leftprobs and Rcpp_rightprobs are arrays of 1s of length(l), i.e. length(number_of_states).

This function is no longer used in BioGeoBEARS, but has been retained to enable easy counting of the number of events. When all nonzero-probability events are of equal probability (e.g. as in LAGRANGE; Ree & Smith 2008) the function could be used for normalization, but it is safer to use rcpp_calc_anclikes_sp or one of the faster COO-like equivalents.

### Value

Rsp_rowsums A vector of size (numstates) giving the number of events of nonzero probability for each ancestral states.

### Author(s)

Nicholas Matzke matzke@berkeley.edu

rcpp_calc_anclikes_sp, rcpp_calc_anclikes_sp_COOprobs, rcpp_calc_anclikes_sp_COOweights_faster #bibliography /Dropbox/_njm/__packages/cladoRcpp_setup/cladoRcpp_refs.bib @cite Matzke_2013 @cite Matzke_2014 @cite ReeSmith2008

### Examples

# For the basic logic of a probablistic cladogenesis model, see
?rcpp_calc_anclikes_sp

# For examples of running the functions, see the comparison of all functions at: