Learn R Programming

phylolm (version 2.1)

three.point.compute: Computations with a (generalized) three-point structured tree

Description

Computes $P'V^{-1}Q$ and the $\log(\det V)$ of a (generalized) three-point structured matrix.

Usage

three.point.compute(phy, P, Q = NULL, diagWeight = NULL, 
            check.pruningwise = TRUE, check.names = TRUE)

Arguments

phy
a rooted phylogenetic tree of type phylo with branch lengths, to represent the 3-point structured matrix $V_0$. Note that the matrix of interest is $V = D V_0 D$.
P,Q
two matrices.
diagWeight
a vector containing the diagonal elements of the diagonal matrix $D$ if $V$ has a generalized 3-point structure: $V = D V_0 D$
check.pruningwise
If FALSE, the tree is assumed to be in pruningwise order.
check.names
if FALSE, the row names of P, Q, and the names of diagWeight are assumed to be the same as the labels of the tips in the tree.

Value

  • vec11$1'V^{-1}1$.
  • P1$P'V^{-1}1$.
  • PP$P'V^{-1}P$.
  • Q1$Q'V^{-1}1$.
  • QQ$Q'V^{-1}Q$.
  • PQ$P'V^{-1}Q$.
  • logd$\log(\det V)$.

encoding

latin1

References

Ho, L. S. T. and An�, C. (2014). "A linear-time algorithm for Gaussian and non-Gaussian trait evolution models". Systematic Biology 63(3):397-408.

See Also

transf.branch.lengths.

Examples

Run this code
tre1 = rtree(500)
tre2 = transf.branch.lengths(phy=tre1, model="OUrandomRoot",
                             parameters = list(alpha = 0.5))
Q = rTrait(n=2,tre1)
y = rTrait(n=1,tre1)
P = cbind(1,y)
three.point.compute(tre2$tree,P,Q,tre2$diagWeight)

Run the code above in your browser using DataLab