For two matrices A and B checks whether the null space of A is a subspace
of the null space of B, in other words, if \(Ax=0\) entails Bx=0.
Usage
isKerAinKerB(A, B, tol = .Machine$double.eps)
Arguments
A
a matrix; if A is a vector, A is coerced to a matrix by as.matrix.
B
a matrix; if B is a vector, B is coerced to a matrix by as.matrix.
tol
the tolerance for detecting linear dependencies in the
columns of a and up to which the two projectors are seen as equal (see below).
Value
logical
Details
via calls to svd, the projectors \(\pi_A\) and \(\pi_B\)
onto the respective orthogonal complements of \({\rm ker}(A)\) and
\({\rm ker}(B)\) are calculated and then is checked whether
\(\pi_B\pi_A=\pi_B\).
# NOT RUN {ma <- cbind(1,1,c(1,1,7))
D <- t(ma %*% c(0,1,-1))
## IGNORE_RDIFF_BEGIN## note that results may vary according to BLASisKerAinKerB(D,ma)
isKerAinKerB(ma,D)
## IGNORE_RDIFF_END# }