polarize M
polarize(M, VariableBaseName => "x")
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 Computations in algebraic geometry with Macaulay 2. See https://macaulay2.com/Book/ComputationsBook/chapters/monomialIdeals/chapter-wrapper.pdf for the chapter PDF, and https://macaulay2.com/Book/ for more information on this book.
|
|
|
By default, the variables in the new rings are named $z_{i,j}$. To use a different letter (or longer string) instead of z, use the VariableBaseName option.
|
|
|
|
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.
|
|
|
|
The object polarize is a method function with options.
The source of this document is in Macaulay2Doc/functions/polarize-doc.m2:64:0.