File: kernel-doc.m2

package info (click to toggle)
macaulay2 1.25.05%2Bds-2
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 172,152 kB
  • sloc: cpp: 107,824; ansic: 16,193; javascript: 4,189; makefile: 3,899; lisp: 702; yacc: 604; sh: 476; xml: 177; perl: 114; lex: 65; python: 33
file content (79 lines) | stat: -rw-r--r-- 2,246 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
-- -*- coding: utf-8 -*-
--- status: TODO
--- author(s): 
--- notes: 

undocumented {
    [kernel, DegreeLimit],
    [kernel, Strategy],
}

doc ///
Node
  Key
    kernel
  Headline
    kernel of a map
  SeeAlso
    source
///

document { 
     Key => (kernel,RingMap),
     Headline => "kernel of a ringmap",
     Usage => "kernel f",
     Inputs => {
	  "f" => {TT "R", " --> ", TT "S"},
	  SubringLimit => ZZ => "stop the computation after this many elements of the kernel have been found"
	  },
     Outputs => {
	  Ideal => {"an ideal of ", TT "R"}
	  },
     EXAMPLE lines ///
	  R = QQ[a..d];
	  S = QQ[s,t];
	  F = map(S,R,{s^3, s^2*t, s*t^2, t^3})
	  ker F
	  G = map(S,R,{s^5, s^3*t^2-t, s*t-s, t^5})
	  ker(G, SubringLimit=>1)
	  ///,
     "In the case when everything is homogeneous, Hilbert functions are
     used to speed up the computations.",
     Caveat => {"It should be possible to interrupt the computation and restart it, but this has
	  not yet been implemented."},
     SeeAlso => {"substitution and maps between rings", "elimination of variables", monomialCurveIdeal},
     Subnodes => { TO [kernel, SubringLimit] },
     }

document { 
     Key => {(kernel,Matrix),
	  (kernel, RingElement)},
     Headline => "kernel of a matrix",
     Usage => "kernel f",
     Inputs => {
	  "f" => {"a map of modules ", TT "M --> N"}
	  },
     Outputs => {
	  Module => {"the kernel of f, a submodule of M"}
	  },
     "If f is ", ofClass RingElement, ", then it will be interpreted as a one by one matrix.",
     PARA{},
     "The kernel is the submodule of M of all elements mapping to zero under ", TT "f", ".
     Over polynomial rings, this is computed using a Gröbner basis computation.",
     EXAMPLE lines ///
     	  R = ZZ/32003[vars(0..10)]
	  M = genericSkewMatrix(R,a,5)
	  ker M
	  ///,
     SeeAlso => {syz, 
	  -- Mike wanted this: "kernel, cokernel and image of a map of modules",
	  genericSkewMatrix}
     }

document {
    Key => [kernel, SubringLimit],
    Headline => "stop after finding enough elements of a subring",
    TT "SubringLimit => n", " -- an option for ", TO "kernel", " which
    causes the computation of the kernel of a ring map to stop after ", TT "n", "
    elements have been discovered."
}