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 " |

`Q2` |
An object of class " |

### Details

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
```

*dae*version 3.2.28 Index]