Macaulay2 » Documentation
Packages » Macaulay2Doc » modules » matrices to and from modules » kernel(Matrix)
next | previous | forward | backward | up | index | toc

# kernel(Matrix) -- kernel of a matrix

- Function: kernel
- Usage:
    `kernel f`
- Inputs:
  - f, a matrix, a map of modules M --> N
- Optional inputs:
  - DegreeLimit (missing documentation) => ..., default value {},
  - Strategy (missing documentation) => ..., default value {},
  - SubringLimit => ..., default value infinity, stop after finding enough elements of a subring
- Outputs:
  - a module, the kernel of f, a submodule of M

## Description

If f is a ring element, then it will be interpreted as a one by one matrix.

The kernel is the submodule of M of all elements mapping to zero under f. Over polynomial rings, this is computed using a Gröbner basis computation.

    i1 : R = ZZ/32003[vars(0..10)]

    o1 = R

    o1 : PolynomialRing

    i2 : M = genericSkewMatrix(R,a,5)

    o2 = | 0  a  b  c  d |
         | -a 0  e  f  g |
         | -b -e 0  h  i |
         | -c -f -h 0  j |
         | -d -g -i -j 0 |

                 5      5
    o2 : Matrix R  <-- R

    i3 : ker M

    o3 = image {1} | gh-fi+ej  |
               {1} | -dh+ci-bj |
               {1} | df-cg+aj  |
               {1} | -de+bg-ai |
               {1} | ce-bf+ah  |

                                 5
    o3 : R-module, submodule of R

## See also

- syz -- the syzygy matrix
- genericSkewMatrix -- make a generic skew symmetric matrix of variables

## Ways to use this method:

- kernel(Matrix) -- kernel of a matrix
- `kernel(RingElement)`

The source of this document is in /build/macaulay2-88fgJW/macaulay2-1.25.11+ds/M2/Macaulay2/packages/Macaulay2Doc/functions/kernel-doc.m2:72:0.