Learn R Programming

pracma (version 1.8.8)

nullspace: 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.

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)

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.

References

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

See Also

Rank, orth, MASS::Null

Examples

Run this code
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

Run the code above in your browser using DataLab