File: polarize-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 (63 lines) | stat: -rw-r--r-- 2,333 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
-- date: October 2018
-- author(s): Lily Silverstein
-- notes:

doc ///
  Key
    polarize
    (polarize, MonomialIdeal)
    [polarize, VariableBaseName]
  Headline
    compute the polarization of a monomial ideal
  Usage
    polarize M
    polarize(M, VariableBaseName => "x")
  Inputs
    M: MonomialIdeal
    VariableBaseName => String
     specified letter or string for the new variables
  Outputs
    I: MonomialIdeal
       a squarefree monomial ideal in a new polynomial ring
  Description
    Text
      Polarization takes each minimal generator of a monomial ideal to a squarefree monomial
      in a new ring. The procedure is to define a new variable $z_{i,j}$ for the $j$th power of
      the $i$th variable in the original ring. For instance, polarizing the ideal $I=(x^3, y^2, xy)$, of the ring
      $\mathbb{Q}[x,y]$, results in the ideal $(z_{0,0}z_{0,1}z_{0,2}, z_{1,0}z_{1,1}, z_{0,0}z_{1,0})$ of
      $\mathbb{Q}[z_{0,0},z_{0,1},z_{0,2},z_{1,0},z_{1,1}]$.
      
      This is code adapted from the Monomial Ideals chapter, written by Greg Smith and Serkan Hosten, of
      {\bf Computations in algebraic geometry with Macaulay 2}. See @HREF
      "https://macaulay2.com/Book/ComputationsBook/chapters/monomialIdeals/chapter-wrapper.pdf"@ for
      the chapter PDF, and @HREF"https://macaulay2.com/Book/"@ for more information
      on this book.
    Example
      R = QQ[x,y,z];
      I = monomialIdeal(x^2,y^3,x*y^2*z,y*z^4);
      J = polarize(I)
    Text
      By default, the variables in the new rings are named $z_{i,j}$. To use a different
      letter (or longer string) instead of {\tt z}, use the {\tt VariableBaseName} option.
    Example
      R = QQ[a,b,c];
      I = monomialIdeal(a^2*b^2,b^2*c^2,a*b*c^4);
      J = polarize(I, VariableBaseName => "x")
      J = polarize(I, VariableBaseName => "foo")
    Text      
      Variables are always indexed from 0.
      To use an unindexed variable naming scheme, the polarized ideal 
      can always be mapped to a new ring after it is created. The 
      following code is one way to do this.
    Example
      S = ring J;
      T = QQ[a..h];
      F = map(T, S, first entries vars T);
      F(J)
  SeeAlso
   isSquareFree
   monomialIdeal
   "MinimalPrimes::radical"
   "substitution and maps between rings"
   "working with multiple rings"
///