Macaulay2 » Documentation
Packages » NumericalLinearAlgebra :: numericalKernel
next | previous | forward | backward | up | index | toc

# numericalKernel -- approximate kernel of a matrix

- Usage:
    `V = numericalKernel(M)`
- Inputs:
  - M, a matrix,
- Optional inputs:
  - Tolerance => ..., default value null, the tolerance of a numerical computation
- Outputs:
  - V, a matrix,

## Description

Computes the kernel of a matrix M numerically using singular value decomposition.

    i1 : M = matrix {{1., 1, 1}}

    o1 = | 1 1 1 |

                    1         3
    o1 : Matrix RR    <-- RR
                  53        53

    i2 : numericalKernel(M, Tolerance=>0.01)

    o2 = | -.57735  -.57735  |
         | .788675  -.211325 |
         | -.211325 .788675  |

                    3         2
    o2 : Matrix RR    <-- RR
                  53        53

Singular values less than the tolerance are treated as zero.

    i3 : M = matrix {{1., 1}, {1.001, 1}}

    o3 = | 1     1 |
         | 1.001 1 |

                    2         2
    o3 : Matrix RR    <-- RR
                  53        53

    i4 : numericalKernel(M, Tolerance=>0.01)

    o4 = | .70693   |
         | -.707284 |

                    2         1
    o4 : Matrix RR    <-- RR
                  53        53

## Ways to use numericalKernel:

- `numericalKernel(Matrix)`

## For the programmer

The object numericalKernel is a method function with options.

The source of this document is in /build/macaulay2-88fgJW/macaulay2-1.25.11+ds/M2/Macaulay2/packages/NumericalLinearAlgebra.m2:240:0.