File: isHomogeneous-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 (87 lines) | stat: -rw-r--r-- 2,438 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
80
81
82
83
84
85
86
87
--- status: DRAFT
--- author(s): MES
--- notes: some changes Sept 2018 LS

undocumented {
    (isHomogeneous, Number),
}

document { 
     Key => {isHomogeneous,
	  (isHomogeneous,Ring),
	  (isHomogeneous,QuotientRing),
	  (isHomogeneous,PolynomialRing),
	  (isHomogeneous,Matrix),
	  (isHomogeneous,RingElement),
	  (isHomogeneous,Module),
	  (isHomogeneous,RingMap),
	  (isHomogeneous,Vector),
	  (isHomogeneous,Ideal)},
     Headline => "whether something is homogeneous (graded)",
     Usage => "isHomogeneous x",
     Inputs => {
	  "x" => {"a ", TO Ring, ", ",
	       TO RingElement, ", ",
	       TO Vector, ", ",
	       TO Matrix, ", ",
	       TO Ideal, ", ",
	       TO Module, ", or ",
	       TO RingMap
               }
	  },
     Outputs => {
	  Boolean => {"whether ", TT "x", " is homogeneous."}
	  },
     EXAMPLE {
	  "isHomogeneous(ZZ)",
	  "isHomogeneous(ZZ[x,y])",
	  "isHomogeneous(ZZ[x,y]/(x^3-x^2*y+3*y^3))",
	  "isHomogeneous(ZZ[x,y]/(x^3-y-3))"
	  },
     PARA{},
     "Quotients of multigraded rings are homogeneous, if the ideal is homogeneous.",
     EXAMPLE {
          "R = QQ[a,b,c,Degrees=>{{1,1},{1,0},{0,1}}];",
	  "I = ideal(a-b*c);",
	  "isHomogeneous I",
	  "isHomogeneous(R/I)",
	  "isHomogeneous(R/(a-b))"
	  },
     PARA{},
     "Polynomial rings over polynomial rings are multigraded.",
     EXAMPLE lines ///
	  A = QQ[a]
	  B = A[x]
	  degree x
	  degree a_B
     	  isHomogeneous B
     ///,
     PARA{},
     "A matrix is homogeneous if each entry is homogeneous of such a degree that the matrix has a well-defined degree.",
     EXAMPLE {
	  "S = QQ[a,b];",
	  "F = S^{-1,2}",
     	  "isHomogeneous F",
	  "G = S^{1,2}",
	  "phi = random(G,F)",
	  "isHomogeneous phi",
	  "degree phi"
	  },
     PARA{},
     "Modules are homogeneous if their generator and relation matrices are homogeneous.",
     EXAMPLE {
	  "M = coker phi",
	  "isHomogeneous(a*M)",
     	  "isHomogeneous((a+1)*M)"
	  },
     PARA{},
    "Note that no implicit simplification is done. Consider the following cautionary example.",
     EXAMPLE {
	 "R = QQ[x]",
	 "isHomogeneous ideal(x+x^2, x^2)"
	 },
     Caveat => {"No computation on the generators and relations is performed.
	 For example, if inhomogeneous generators of a homogeneous ideal are given, then the return value is ", TO false, "."},
     PARA{},
     SeeAlso => {degree, degrees, homogenize, "graded and multigraded polynomial rings", prune}
     }