"phylo" object in stochastic character map (e.g., make.simmap) format.
sim.history(tree, Q, anc=NULL, nsim=1, ...)"phylo".fitDiscrete in the geiger package or make.simmap in phytools; that is to say the transition rate from i -> j should be given by Q[j,i]. However, if your matrix is properly conformed (i.e., rows or columns sum to 0), then sim.history will attempt to transpose your matrix correctly & will return an informative message (if message=TRUE, see below).NULL, a random state will be assigned. anc can be a vector of states, in which one of the states will be chosen randomly for each simulation. anc can be a vector of probabilities with names, in which case a state will be chosen in proportion to the given probabilities.message, a logical value indicating whether or not to turn on informational messages (defaults to message=TRUE)."phylo" (or a modified "multiPhylo" object, for nsim > 1) with the following additional elements:make.simmap, read.simmap, plotSimmap, sim.rates