fixDependence {mgcv} | R Documentation |

## Detect linear dependencies of one matrix on another

### Description

Identifies columns of a matrix `X2`

which are linearly
dependent on columns of a matrix `X1`

. Primarily of use in setting up
identifiability constraints for nested GAMs.

### Usage

```
fixDependence(X1,X2,tol=.Machine$double.eps^.5,rank.def=0,strict=FALSE)
```

### Arguments

`X1` |
A matrix. |

`X2` |
A matrix, the columns of which may be partially linearly
dependent on the columns of |

`tol` |
The tolerance to use when assessing linear dependence. |

`rank.def` |
If the degree of rank deficiency in |

`strict` |
if |

### Details

The algorithm uses a simple approach based on QR decomposition: see Wood (2017, section 5.6.3) for details.

### Value

A vector of the columns of `X2`

which are linearly dependent on
columns of `X1`

(or which need to be deleted to acheive independence and full rank
if `strict==FALSE`

). `NULL`

if the two matrices are independent.

### Author(s)

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

### References

Wood S.N. (2017) Generalized Additive Models: An Introduction with R (2nd edition). Chapman and Hall/CRC Press.

### Examples

```
library(mgcv)
n<-20;c1<-4;c2<-7
X1<-matrix(runif(n*c1),n,c1)
X2<-matrix(runif(n*c2),n,c2)
X2[,3]<-X1[,2]+X2[,4]*.1
X2[,5]<-X1[,1]*.2+X1[,2]*.04
fixDependence(X1,X2)
fixDependence(X1,X2,strict=TRUE)
```

*mgcv*version 1.9-0 Index]