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

Description Usage Arguments Value Note Author(s) References See Also Examples

View source: R/tools.R

Description

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

Usage

1
2
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).

Note

The matrix V is assumed to be V = D V_0 D where D is the diagonal matrix with non-zero diagonal elements in diagWeight, and where V_0 is the 3-point structured covariance matrix determined by phy and its branch lengths. Note that D do not correspond to measurement error terms.

The number of rows in P and Q and the length of diagWeight need to be the same as the number of tips in the tree. When Q = NULL, the function only returns 1'V^{-1}1, P'V^{-1}1 and P'V^{-1}P.

Author(s)

Lam Si Tung Ho, Robert Lachlan

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

1
2
3
4
5
6
7
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)

phylolm documentation built on July 2, 2020, 3:44 a.m.