nullspace: Kernel or Nullspace

View source: R/rank.R

nullspaceR Documentation

Kernel or Nullspace

Description

Kernel of the linear map defined by matrix M.

Usage

nullspace(M)
null(M)

Arguments

M

Numeric matrix; vectors will be considered as column vectors.

Details

The kernel (aka null space/nullspace) of a matrix M is the set of all vectors x for which Ax=0. It is computed from the QR-decomposition of the matrix.

null is simply an alias for nullspace – and the Matlab name.

Value

If M is an n-by-m (operating from left on m-dimensional column vectors), then N=nullspace(M) is a m-by-k matrix whose columns define a (linearly independent) basis of the k-dimensional kernel in R^m.

If the kernel is only the null vector (0 0 ... 0), then NULL will be returned.

As the rank of a matrix is also the dimension of its image, the following relation is true:

m = dim(nullspace(M)) + rank(M)

Note

The image of M can be retrieved from orth().

References

Trefethen, L. N., and D. Bau III. (1997). Numerical Linear Algebra. SIAM, Philadelphia.

See Also

Rank, orth, MASS::Null

Examples

M <- matrix(1:12, 3, 4)
Rank(M)                 #=> 2
N <- nullspace(M)
#           [,1]       [,2]      [,3]
# [1,] 0.4082483 -0.8164966 0.4082483
M 

M1 <- matrix(1:6, 2, 3)  # of rank 2
M2 <- t(M1)
nullspace(M1)            # corresponds to 1 -2  1
nullspace(M2)            # NULL, i.e. 0 0

M <- magic(5)
Rank(M)                 #=> 5
nullspace(M)             #=> NULL, i.e. 0 0 0 0 0

pracma documentation built on Nov. 10, 2023, 1:14 a.m.