formXtViX {mgcv} | R Documentation |

## Form component of GAMM covariance matrix

### Description

This is a service routine for `gamm`

. Given,
`V`

, an estimated covariance matrix obtained using `extract.lme.cov2`

this
routine forms a matrix square root of ` X^TV^{-1}X`

as efficiently as possible, given
the structure of `V`

(usually sparse).

### Usage

```
formXtViX(V,X)
```

### Arguments

`V` |
A data covariance matrix list returned from |

`X` |
A model matrix. |

### Details

The covariance matrix returned by `extract.lme.cov2`

may
be in a packed and re-ordered format, since it is usually sparse. Hence a
special service routine is required to form the required products involving
this matrix.

### Value

A matrix, R such that `crossprod(R)`

gives ` X^TV^{-1}X`

.

### Author(s)

Simon N. Wood simon.wood@r-project.org

### References

For `lme`

see:

Pinheiro J.C. and Bates, D.M. (2000) Mixed effects Models in S and S-PLUS. Springer

For details of how GAMMs are set up for estimation using `lme`

see:

Wood, S.N. (2006) Low rank scale invariant tensor product smooths for Generalized Additive Mixed Models. Biometrics 62(4):1025-1036

https://www.maths.ed.ac.uk/~swood34/

### See Also

### Examples

```
require(mgcv)
library(nlme)
data(ergoStool)
b <- lme(effort ~ Type, data=ergoStool, random=~1|Subject)
V1 <- extract.lme.cov(b, ergoStool)
V2 <- extract.lme.cov2(b, ergoStool)
X <- model.matrix(b, data=ergoStool)
crossprod(formXtViX(V2, X))
t(X)
```

*mgcv*version 1.9-1 Index]