proj2.eigen {dae} R Documentation

## Canonical efficiency factors and eigenvectors in joint decomposition of two projectors

### Description

Computes the canonical efficiency factors for the joint decomposition of two projectors and the eigenvectors corresponding to the first projector (James and Wilkinson, 1971).

### Usage

proj2.eigen(Q1, Q2)

### Arguments

 Q1 An object of class "projector". Q2 An object of class "projector".

The component efficiencies is a vector containing the nonzero canonical efficiency factors for the joint decomposition of the two projectors. The nonzero canonical efficiency factors are the nonzero eigenvalues of Q1 %*% Q2 %*% Q1 (James and Wilkinson, 1971). An eigenvalue is regarded as zero if it is less than daeTolerance, which is initially set to .Machine$double.eps ^ 0.5 (about 1.5E-08). The function set.daeTolerance can be used to change daeTolerance. The component eigenvectors is an n x r matrix, where n is the order of the projectors and r is the number of nonzero canonical efficiency factors; it contains the eigenvectors of Q1 corresponding to the nonzero canonical efficiency factors. The eigenvectors for Q2 can be obtained by premultiplying those for Q1 by Q2. ### Value A list with components efficiencies and eigenvectors. ### Author(s) Chris Brien ### References James, A. T. and Wilkinson, G. N. (1971) Factorization of the residual operator and canonical decomposition of nonorthogonal factors in the analysis of variance. Biometrika, 58, 279-294. ### See Also proj2.efficiency, proj2.combine in package dae, eigen. projector for further information about this class. ### Examples ## PBIBD(2) from p. 379 of Cochran and Cox (1957) Experimental Designs. ## 2nd edn Wiley, New York PBIBD2.unit <- list(Block = 6, Unit = 4) PBIBD2.nest <- list(Unit = "Block") trt <- factor(c(1,4,2,5, 2,5,3,6, 3,6,1,4, 4,1,5,2, 5,2,6,3, 6,3,4,1)) PBIBD2.lay <- designRandomize(allocated = trt, recipient = PBIBD2.unit, nested.recipients = PBIBD2.nest) ## obtain sets of projectors unit.struct <- pstructure(~ Block/Unit, data = PBIBD2.lay) trt.struct <- pstructure(~ trt, data = PBIBD2.lay) ## obtain intra- and inter-block decompositions decomp.inter <- proj2.eigen(unit.struct$Q[["Block"]], trt.struct$Q[["trt"]]) decomp.intra <- proj2.eigen(unit.struct$Q[["Unit[Block]"]], trt.struct$Q[["trt"]]) #extract intrablock efficiencies decomp.intra$efficiencies


[Package dae version 3.2.28 Index]