proj2.combine {dae} | R Documentation |

## Compute the projection and Residual operators for two, possibly nonorthogonal, projectors

### Description

The canonical relationship between a pair of projectors is established by decomposing the range of Q1 into a part that pertains to Q2 and a part that is orthogonal to Q2. It also produces the nonzero canonical efficiency factors for the joint decomposition of Q1 and Q and the corresponding eigenvectors of Q1 (James and Wilkinson, 1971). Q1 and Q2 may be nonorthogonal.

### Usage

`proj2.combine(Q1, Q2)`

### Arguments

`Q1` |
A symmetric |

`Q2` |
A symmetric |

### Details

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 eigenvectors are 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.

Qres is computed using equation 4.10 from James and Wilkinson (1971), if the number of distinct
canonical efficiency factors is less than 10. If this fails to produce a projector or the number of distinct canonical efficiency factors is 10 or more, equation 5.3 of Payne and Tobias (1992) is used to obtain Qres. In this latter case, `Qres = Q1 - Q1 %*% ginv(Q2 %*% Q1 %*% Q2) %*% Q1`

. Qconf is obtained by subtracting Qres from Q1.

### Value

A `list`

with the following components:

**efficiencies:**a`vector`

containing the nonzero canonical efficiency factors;**eigenvectors:**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.**Qconf:**a`projector`

onto the part of the range of Q1 with which Q2 is confounded;**Qres:**a`projector`

onto the part of the range of Q1 that is orthogonal to the range of Q2.

### 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.

Payne, R. W. and R. D. Tobias (1992). General balance, combination of
information and the analysis of covariance.
*Scandinavian Journal of Statistics*, **19**, 3–23.

### See Also

`proj2.eigen`

, `proj2.efficiency`

, `decomp.relate`

in package dae.

`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 the projection operators for the interblock analysis
PBIBD2.Bops <- proj2.combine(unit.struct$Q[["Unit[Block]"]], trt.struct$Q[["trt"]])
Q.B.T <- PBIBD2.Bops$Qconf
Q.B.res <- PBIBD2.Bops$Qres
## demonstrate their orthogonality
is.allzero(Q.B.T %*% Q.B.res)
```

*dae*version 3.2.28 Index]