fixDependence
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 [email protected]
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)
Copyright (©) 1999–2012 R Foundation for Statistical Computing.
Licensed under the GNU General Public License.