
$l2h_cache_key = q/$x_1 x_1 x_1 > x_1 x_2 x_3 > x_3 x_2 x_1 > x_2 x_2 > x_1 x_3 > x_2 x_3 > x_3 x_1 > x_1 > x_2 > x_3 x_3 x_3 > x_3$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $x_1 x_1 x_1 > x_1 x_2 x_3 > x_3 x_2 x_1 > x_2 x_2 > x_1 x_3 > x_2 x_3 > x_3 x_1 > x_1 > x_2 > x_3 x_3 x_3 > x_3$
 -->
<SPAN CLASS="MATH">397#397</SPAN>|;

$l2h_cache_key = q/$partial_t$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">704#704</SPAN>|;

$l2h_cache_key = q/A monomial ordering (term ordering) on $K[x_1, \ldots, x_n]$ is
a total ordering $<$ on the
set of monomials (power products) $\{x^\alpha \mid \alpha \in \bf{N}^n\}$
which is compatible with the
natural semigroup structure, i.e., $x^\alpha < x^\beta$ implies $x^\gamma
x^\alpha < x^\gamma x^\beta$ for any $\gamma \in \bf{N}^n$.
We do not require
$<$ to be  a wellordering./;
$l2h_cache{$l2h_cache_key} = q|A monomial ordering (term ordering) on <!-- MATH
 $K[x_1, \ldots, x_n]$
 -->
<SPAN CLASS="MATH">62#62</SPAN> is
a total ordering <SPAN CLASS="MATH">226#226</SPAN> on the
set of monomials (power products) <!-- MATH
 $\{x^\alpha \mid \alpha \in \bf {N}^n\}$
 -->
<SPAN CLASS="MATH">541#541</SPAN>
which is compatible with the
natural semigroup structure, i.e., <!-- MATH
 $x^\alpha < x^\beta$
 -->
<SPAN CLASS="MATH">542#542</SPAN> implies <!-- MATH
 $x^\gamma
x^\alpha < x^\gamma x^\beta$
 -->
<SPAN CLASS="MATH">543#543</SPAN> for any <!-- MATH
 $\gamma \in \bf {N}^n$
 -->
<SPAN CLASS="MATH">544#544</SPAN>.
We do not require
<SPAN CLASS="MATH">226#226</SPAN> to be  a wellordering.|;

$l2h_cache_key = q/    \phantom{$x^\alpha < x^\beta \Leftrightarrow $}$ \deg(x^\alpha) =
    \deg(x^\beta)$ and $\exists\ 1 \le i \le n: \alpha_n = \beta_n,
    \ldots, \alpha_{i+1} = \beta_{i+1}, \alpha_i > \beta_i.$/;
$l2h_cache{$l2h_cache_key} = q|    <!-- MATH
 $\deg(x^\alpha) =
    \deg(x^\beta)$
 -->
<SPAN CLASS="MATH">556#556</SPAN> and <!-- MATH
 $\exists\ 1 \le i \le n: \alpha_n = \beta_n,
    \ldots, \alpha_{i+1} = \beta_{i+1}, \alpha_i > \beta_i.$
 -->
<SPAN CLASS="MATH">557#557</SPAN>|;

$l2h_cache_key = q/The ideal $I$ is generated by binomials of type $X^a-X^b$ (multiindex notation)
in the surrounding polynomial ring $K[X]=K[X_1,...,X_n]$. The binomials
represent a congruence on the monoid ${Z}^n$ with residue monoid $M$.
Let $N$ be the image of $M$ in gp($M$)\/torsion. Then $N$ is universal in the
sense that every homomorphism from $M$ to an affine monoid factors through $N$.
If $I$ is a prime ideal, then $K[N]= K[X]\/I$. In general, $K[N]=K[X]\/P$ where
$P$ is the unique minimal prime ideal of $I$ generated by binomials of type
$X^a-X^b$.

The function computes the normalization of $K[N]$ and returns a newly created
polynomial ring of the same Krull dimension, whose variables are
$x(1),...,x(n-r)$, where $r$ is the rank of the matrix with rows $a-b$.
(In general there is no canonical choice for such an embedding.)
Inside this polynomial ring there is an ideal $I$ which lists the algebra
generators of the normalization of $K[N]$./;
$l2h_cache{$l2h_cache_key} = q|The ideal <SPAN CLASS="MATH">251#251</SPAN> is generated by binomials of type <SPAN CLASS="MATH">1017#1017</SPAN> (multiindex notation)
in the surrounding polynomial ring <!-- MATH
 $K[X]=K[X_1,...,X_n]$
 -->
<SPAN CLASS="MATH">1018#1018</SPAN>. The binomials
represent a congruence on the monoid <SPAN CLASS="MATH">1019#1019</SPAN> with residue monoid <SPAN CLASS="MATH">13#13</SPAN>.
Let <SPAN CLASS="MATH">418#418</SPAN> be the image of <SPAN CLASS="MATH">13#13</SPAN> in gp(<SPAN CLASS="MATH">13#13</SPAN>)/torsion. Then <SPAN CLASS="MATH">418#418</SPAN> is universal in the
sense that every homomorphism from <SPAN CLASS="MATH">13#13</SPAN> to an affine monoid factors through <SPAN CLASS="MATH">418#418</SPAN>.
If <SPAN CLASS="MATH">251#251</SPAN> is a prime ideal, then <SPAN CLASS="MATH">1020#1020</SPAN>. In general, <SPAN CLASS="MATH">1021#1021</SPAN> where
<SPAN CLASS="MATH">1022#1022</SPAN> is the unique minimal prime ideal of <SPAN CLASS="MATH">251#251</SPAN> generated by binomials of type
<SPAN CLASS="MATH">1017#1017</SPAN>.

<P>
The function computes the normalization of <SPAN CLASS="MATH">1023#1023</SPAN> and returns a newly created
polynomial ring of the same Krull dimension, whose variables are
<!-- MATH
 $x(1),...,x(n-r)$
 -->
<SPAN CLASS="MATH">1024#1024</SPAN>, where <SPAN CLASS="MATH">299#299</SPAN> is the rank of the matrix with rows <SPAN CLASS="MATH">1025#1025</SPAN>.
(In general there is no canonical choice for such an embedding.)
Inside this polynomial ring there is an ideal <SPAN CLASS="MATH">251#251</SPAN> which lists the algebra
generators of the normalization of <SPAN CLASS="MATH">1023#1023</SPAN>.|;

$l2h_cache_key = q/$I \cap K[U]=(0)$,/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $I \cap K[U]=(0)$
 -->
<SPAN CLASS="MATH">137#137</SPAN>,|;

$l2h_cache_key = q/$u < v$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">328#328</SPAN>|;

$l2h_cache_key = q/$\mu_a=a^2+a+3$,/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">51#51</SPAN>,|;

$l2h_cache_key = q/$x z^i y$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">314#314</SPAN>|;

$l2h_cache_key = q/(${\tt L[i]}=M_i$/;
$l2h_cache{$l2h_cache_key} = q|(<!-- MATH
 ${\tt L[i]}=M_i$
 -->
<SPAN CLASS="MATH">136#136</SPAN>|;

$l2h_cache_key = q/$x^\alpha < x^\beta  \Leftrightarrow  \exists\; 1 \le i \le n :
\alpha_1 = \beta_1, \ldots, \alpha_{i-1} = \beta_{i-1}, \alpha_i <
\beta_i$./;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $x^\alpha < x^\beta  \Leftrightarrow  \exists\; 1 \le i \le n :
\alpha_1 = \beta_1, \ldots, \alpha_{i-1} = \beta_{i-1}, \alpha_i <
\beta_i$
 -->
<SPAN CLASS="MATH">551#551</SPAN>.|;

$l2h_cache_key = q/$M$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">13#13</SPAN>|;

$l2h_cache_key = q/$dim_Q Q[x,y]\/j_0$,/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $dim_Q Q[x,y]/j_0$
 -->
<SPAN CLASS="MATH">436#436</SPAN>,|;

$l2h_cache_key = q/{\sc Letterpace}/;
$l2h_cache{$l2h_cache_key} = q|L<SMALL>ETTERPACE</SMALL>|;

$l2h_cache_key = q/  The {\bf error-locator polynomial} is defined by
  $$
    \sigma(Z)=\prod_{l=1}^{t}(Z-z_l).
  $$
  If this product is expanded,
  $$
    \sigma(Z)=Z^t+\sigma_1Z^{t-1}+\dots+\sigma_{t-1}Z+\sigma_t,
  $$
  then the coefficients $\sigma_i$ are the {\bf elementary symmetric functions} in
  the error locations $z_1,\dots,z_t$
  $$
    \sigma_i=(-1)^i\sum_{1\le j_1<j_2<\dots<j_i\le t}z_{j_1}z_{j_2}\dots z_{j_i}, \ 1\le i\le t.
  $$/;
$l2h_cache{$l2h_cache_key} = q|  The <B>error-locator polynomial</B> is defined by
  <DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
\sigma(Z)=\prod_{l=1}^{t}(Z-z_l).
\end{displaymath}
 -->

889#889
</DIV>
If this product is expanded,
  <DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
\sigma(Z)=Z^t+\sigma_1Z^{t-1}+\dots+\sigma_{t-1}Z+\sigma_t,
\end{displaymath}
 -->

890#890
</DIV>
then the coefficients <SPAN CLASS="MATH">891#891</SPAN> are the <B>elementary symmetric functions</B> in
  the error locations <SPAN CLASS="MATH">843#843</SPAN>
  <DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
\sigma_i=(-1)^i\sum_{1\le j_1<j_2<\dots<j_i\le t}z_{j_1}z_{j_2}\dots z_{j_i}, \ 1\le i\le t.
\end{displaymath}
 -->

892#892
</DIV>
|;

$l2h_cache_key = q/Let $I \subset A^r$ be a left $A$-submodule.
A finite set $G\subset I$ is called {\bf a left  Groebner basis} of $I$ if and
only if $L(G)=L(I)$, that is for any $f \in I\setminus \{ 0 \}$ there exists a $g\in G$
satisfying $ \hbox{LM}(g) \mid \hbox{LM}(f)$, i.e., if $\hbox{LM}(f) = x^{\alpha}e_i$, then
$\hbox{LM}(f) = x^{\beta}e_i$ with $\beta_j \leq \alpha_j, \; 1\leq j \leq n$./;
$l2h_cache{$l2h_cache_key} = q|Let <SPAN CLASS="MATH">249#249</SPAN> be a left <SPAN CLASS="MATH">190#190</SPAN>-submodule.
A finite set <SPAN CLASS="MATH">250#250</SPAN> is called <B>a left  Groebner basis</B> of <SPAN CLASS="MATH">251#251</SPAN> if and
only if <SPAN CLASS="MATH">252#252</SPAN>, that is for any <!-- MATH
 $f \in I\setminus \{ 0 \}$
 -->
<SPAN CLASS="MATH">253#253</SPAN> there exists a <SPAN CLASS="MATH">254#254</SPAN>
satisfying <!-- MATH
 $\hbox{LM}(g) \mid \hbox{LM}(f)$
 -->
<SPAN CLASS="MATH">255#255</SPAN>, i.e., if <!-- MATH
 $\hbox{LM}(f) = x^{\alpha}e_i$
 -->
<SPAN CLASS="MATH">256#256</SPAN>, then
<!-- MATH
 $\hbox{LM}(f) = x^{\beta}e_i$
 -->
<SPAN CLASS="MATH">257#257</SPAN> with <!-- MATH
 $\beta_j \leq \alpha_j, \; 1\leq j \leq n$
 -->
<SPAN CLASS="MATH">258#258</SPAN>.|;

$l2h_cache_key = q/$\exists u\in \langle X\rangle\setminus\{1\}:\;au=b$ or/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $\exists u\in \langle X\rangle\setminus\{1\}:\;au=b$
 -->
<SPAN CLASS="MATH">336#336</SPAN> or|;

$l2h_cache_key = q/\noindent
Let $0 \rightarrow\ \bigoplus_a K[x]e_{a,n}\ \rightarrow\ \dots
  \rightarrow\ \bigoplus_a K[x]e_{a,0}\ \rightarrow\
  I\ \rightarrow\ 0$
be a minimal resolution of I considered with homogeneous maps of degree 0.
The regularity is the smallest number $s$ with the property deg($e_{a,i})
 \leq s+i$ for all $i$./;
$l2h_cache{$l2h_cache_key} = q|Let <!-- MATH
 $0 \rightarrow\ \bigoplus_a K[x]e_{a,n}\ \rightarrow\ \dots
  \rightarrow\ \bigoplus_a K[x]e_{a,0}\ \rightarrow\
  I\ \rightarrow\ 0$
 -->
<SPAN CLASS="MATH">176#176</SPAN>
be a minimal resolution of I considered with homogeneous maps of degree 0.
The regularity is the smallest number <SPAN CLASS="MATH">177#177</SPAN> with the property deg(<!-- MATH
 $e_{a,i})
 \leq s+i$
 -->
<SPAN CLASS="MATH">178#178</SPAN> for all <SPAN CLASS="MATH">57#57</SPAN>.|;

$l2h_cache_key = q/  $z^i$/;
$l2h_cache{$l2h_cache_key} = q|  <SPAN CLASS="MATH">106#106</SPAN>|;

$l2h_cache_key = q/$dim_{Q(t)}Q(t)[x,y]\/j$./;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $dim_{Q(t)}Q(t)[x,y]/j$
 -->
<SPAN CLASS="MATH">434#434</SPAN>.|;

$l2h_cache_key = q/$f_r \not= 0$./;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">526#526</SPAN>.|;

$l2h_cache_key = q/to $n\/2$ Groebner basis
computations. It needs no auxiliary variables, but a supplementary
precondition; namely, the existence of a vector without zero components
in the kernel of $A$.

The main idea comes from the following observation:

Let $B$ be an integer matrix, $u_1,\ldots,u_r$ a lattice basis of the
integer kernel of $B$. Assume that all components of $u_1$ are
positive. Then
$$ I_B=<x^{u_i^+}-x^{u_i^-}|i=1,\ldots,r>, $$
i.e., the ideal on the right is already saturated w.r.t. all variables.

The algorithm starts by finding a lattice basis $v_1,\ldots,v_r$ of the
kernel of $A$ such that $v_1$ has no zero component. Let
$\{i_1,\ldots,i_l\}$ be the set of indices $i$ with
$v_{1,i}<0$. Multiplying the components $i_1,\ldots,i_l$ of
$v_1,\ldots,v_r$ and the columns $i_1,\ldots,i_l$ of $A$ by $-1$ yields
a matrix $B$ and a lattice basis $u_1,\ldots,u_r$ of the kernel of $B$
that fulfill the assumption of the observation above. It is then possible
to compute a generating set of $I_A$ by applying the following
``variable flip'' successively to $i=i_1,\ldots,i_l$:

Let $>$ be an elimination ordering for $x_i$. Let $A_i$ be the matrix
obtained by multiplying the $i$-th column of $A$ by $-1$. Let
$$\{x_i^{r_j} x^{a_j} - x^{b_j} | j\in J \}$$
be a Groebner basis of $I_{A_i}$ w.r.t. $>$ (where $x_i$ is neither
involved in $x^{a_j}$ nor in $x^{b_j}$). Then
$$\{x^{a_j} - x_i^{r_j} x^{b_j} | j\in J \}$$
is a generating set for $I_A$./;
$l2h_cache{$l2h_cache_key} = q|to <SPAN CLASS="MATH">770#770</SPAN> Groebner basis
computations. It needs no auxiliary variables, but a supplementary
precondition; namely, the existence of a vector without zero components
in the kernel of <SPAN CLASS="MATH">190#190</SPAN>.

<P>
The main idea comes from the following observation:

<P>
Let <SPAN CLASS="MATH">195#195</SPAN> be an integer matrix, <!-- MATH
 $u_1,\ldots,u_r$
 -->
<SPAN CLASS="MATH">771#771</SPAN> a lattice basis of the
integer kernel of <SPAN CLASS="MATH">195#195</SPAN>. Assume that all components of <SPAN CLASS="MATH">772#772</SPAN> are
positive. Then
<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
I_B=<x^{u_i^+}-x^{u_i^-}\|i=1,\ldots,r>,
\end{displaymath}
 -->

773#773
</DIV>
i.e., the ideal on the right is already saturated w.r.t. all variables.

<P>
The algorithm starts by finding a lattice basis <!-- MATH
 $v_1,\ldots,v_r$
 -->
<SPAN CLASS="MATH">585#585</SPAN> of the
kernel of <SPAN CLASS="MATH">190#190</SPAN> such that <SPAN CLASS="MATH">774#774</SPAN> has no zero component. Let
<!-- MATH
 $\{i_1,\ldots,i_l\}$
 -->
<SPAN CLASS="MATH">775#775</SPAN> be the set of indices <SPAN CLASS="MATH">57#57</SPAN> with
<SPAN CLASS="MATH">776#776</SPAN>. Multiplying the components <!-- MATH
 $i_1,\ldots,i_l$
 -->
<SPAN CLASS="MATH">777#777</SPAN> of
<!-- MATH
 $v_1,\ldots,v_r$
 -->
<SPAN CLASS="MATH">585#585</SPAN> and the columns <!-- MATH
 $i_1,\ldots,i_l$
 -->
<SPAN CLASS="MATH">777#777</SPAN> of <SPAN CLASS="MATH">190#190</SPAN> by <SPAN CLASS="MATH">778#778</SPAN> yields
a matrix <SPAN CLASS="MATH">195#195</SPAN> and a lattice basis <!-- MATH
 $u_1,\ldots,u_r$
 -->
<SPAN CLASS="MATH">771#771</SPAN> of the kernel of <SPAN CLASS="MATH">195#195</SPAN>
that fulfill the assumption of the observation above. It is then possible
to compute a generating set of <SPAN CLASS="MATH">750#750</SPAN> by applying the following
&ldquo;variable flip&rdquo; successively to <!-- MATH
 $i=i_1,\ldots,i_l$
 -->
<SPAN CLASS="MATH">779#779</SPAN>:

<P>
Let <SPAN CLASS="MATH">431#431</SPAN> be an elimination ordering for <SPAN CLASS="MATH">126#126</SPAN>. Let <SPAN CLASS="MATH">780#780</SPAN> be the matrix
obtained by multiplying the <SPAN CLASS="MATH">57#57</SPAN>-th column of <SPAN CLASS="MATH">190#190</SPAN> by <SPAN CLASS="MATH">778#778</SPAN>. Let
<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
\{x_i^{r_j} x^{a_j} - x^{b_j} \| j\in J \}
\end{displaymath}
 -->

781#781
</DIV>
be a Groebner basis of <SPAN CLASS="MATH">782#782</SPAN> w.r.t. <SPAN CLASS="MATH">431#431</SPAN> (where <SPAN CLASS="MATH">126#126</SPAN> is neither
involved in <SPAN CLASS="MATH">783#783</SPAN> nor in <SPAN CLASS="MATH">784#784</SPAN>). Then
<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
\{x^{a_j} - x_i^{r_j} x^{b_j} \| j\in J \}
\end{displaymath}
 -->

785#785
</DIV>
is a generating set for <SPAN CLASS="MATH">750#750</SPAN>.|;

$l2h_cache_key = q/$A_1$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">166#166</SPAN>|;

$l2h_cache_key = q/$\tilde{E}_6$ on a surface $X\subset{P}^3$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">727#727</SPAN> on a surface <SPAN CLASS="MATH">728#728</SPAN>|;

$l2h_cache_key = q/$K[x]$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">549#549</SPAN>|;

$l2h_cache_key = q/  Then $f_i=\sum_{i=1}^ng_{ij}\xi_j$ span the space $L$, so that $g_{ij}=f_i(P_j)$./;
$l2h_cache{$l2h_cache_key} = q|  Then <!-- MATH
 $f_i=\sum_{i=1}^ng_{ij}\xi_j$
 -->
<SPAN CLASS="MATH">926#926</SPAN> span the space <SPAN CLASS="MATH">912#912</SPAN>, so that <!-- MATH
 $g_{ij}=f_i(P_j)$
 -->
<SPAN CLASS="MATH">927#927</SPAN>.|;

$l2h_cache_key = q/$h = x+y$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">999#999</SPAN>|;

$l2h_cache_key = q/$s$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">177#177</SPAN>|;

$l2h_cache_key = q/$T^1,T_2$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">510#510</SPAN>|;

$l2h_cache_key = q/$<<$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">347#347</SPAN>|;

$l2h_cache_key = q/$$F=R(-2)^2\oplus R(-1)^2\oplus R\,.$$/;
$l2h_cache{$l2h_cache_key} = q|<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
F=R(-2)^2\oplus R(-1)^2\oplus R\,.
\end{displaymath}
 -->

456#456
</DIV>
|;

$l2h_cache_key = q/$>_c$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">791#791</SPAN>|;

$l2h_cache_key = q/\quad \quad $x^a y^b < x^A y^B \Leftrightarrow x^a <_1 x^A $ or ($x^a =
x^A$ and $y^b <_2 y^B$)./;
$l2h_cache{$l2h_cache_key} = q|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<!-- MATH
 $x^a y^b < x^A y^B \Leftrightarrow x^a <_1 x^A$
 -->
<SPAN CLASS="MATH">614#614</SPAN> or (<SPAN CLASS="MATH">615#615</SPAN> and <SPAN CLASS="MATH">616#616</SPAN>).|;

$l2h_cache_key = q/  $(d\times k)$-matrix and $m_{i+1,j}, 0\leq i\leq e, 1\leq j\leq k$,/;
$l2h_cache{$l2h_cache_key} = q|  <SPAN CLASS="MATH">108#108</SPAN>-matrix and <!-- MATH
 $m_{i+1,j}, 0\leq i\leq e, 1\leq j\leq k$
 -->
<SPAN CLASS="MATH">109#109</SPAN>,|;

$l2h_cache_key = q/$Z\/7[x,y,z]$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">33#33</SPAN>|;

$l2h_cache_key = q/$\partial_t$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">704#704</SPAN>|;

$l2h_cache_key = q/Let $I=(g_1,...,g_s)\subseteq R^r$ and $M= R^r\/I$.
A {\bf free resolution of $M$} is a long exact sequence
$$...\longrightarrow F_2 \buildrel{A_2}\over{\longrightarrow} F_1
\buildrel{A_1}\over{\longrightarrow} F_0\longrightarrow M\longrightarrow
0,$$/;
$l2h_cache{$l2h_cache_key} = q|Let <!-- MATH
 $I=(g_1,...,g_s)\subseteq R^r$
 -->
<SPAN CLASS="MATH">662#662</SPAN> and <SPAN CLASS="MATH">663#663</SPAN>.
A <B>free resolution of <SPAN CLASS="MATH">13#13</SPAN></B> is a long exact sequence
<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
...\longrightarrow F_2 \buildrel{A_2}\over{\longrightarrow} F_1
\buildrel{A_1}\over{\longrightarrow} F_0\longrightarrow M\longrightarrow
0,
\end{displaymath}
 -->

664#664
</DIV>
|;

$l2h_cache_key = q/$K[x,y,z]\/\hbox{\rm jacob}(f)$./;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $K[x,y,z]/\hbox{\rm jacob}(f)$
 -->
<SPAN CLASS="MATH">7#7</SPAN>.|;

$l2h_cache_key = q/len:$ \langle X\rangle\rightarrow N_0$/;
$l2h_cache{$l2h_cache_key} = q|len:<!-- MATH
 $\langle X\rangle\rightarrow N_0$
 -->
<SPAN CLASS="MATH">344#344</SPAN>|;

$l2h_cache_key = q/$\mu(f)$, the geometric genus $p_g(f)$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">729#729</SPAN>, the geometric genus <SPAN CLASS="MATH">730#730</SPAN>|;

$l2h_cache_key = q/$(f_1,\dots,f_n) = (g_1,\dots,g_s)$,/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $(f_1,\dots,f_n) = (g_1,\dots,g_s)$
 -->
<SPAN CLASS="MATH">141#141</SPAN>,|;

$l2h_cache_key = q/$f\in k[x_1,\ldots,x_n,t]$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $f\in k[x_1,\ldots,x_n,t]$
 -->
<SPAN CLASS="MATH">500#500</SPAN>|;

$l2h_cache_key = q/ Let $K$ be a field, and let a $K$-algebra $A$ be generated by
variables $x_1, \ldots ,x_n$ subject to some relations.
We call $A$ an algebra with {\bf PBW basis} (Poincar\'e-Birkhoff-Witt basis), if a $K$-basis of
$A$ is Mon$(x_1,\dots,x_n)=\{x^{a_1}_1 x^{a_2}_2 \dots x^{a_n}_n \mid a_i \in N \cup \{0\} \}$,
where a power-product $x^{a_1}_1 x^{a_2}_2 \dots x^{a_n}_n$ (in this particular order) is called
{\bf a monomial}. For example, $x_1 x_2$ is a monomial, while $x_2 x_1$ is, in general, not
a monomial./;
$l2h_cache{$l2h_cache_key} = q| Let <SPAN CLASS="MATH">50#50</SPAN> be a field, and let a <SPAN CLASS="MATH">50#50</SPAN>-algebra <SPAN CLASS="MATH">190#190</SPAN> be generated by
variables <!-- MATH
 $x_1, \ldots ,x_n$
 -->
<SPAN CLASS="MATH">219#219</SPAN> subject to some relations.
We call <SPAN CLASS="MATH">190#190</SPAN> an algebra with <B>PBW basis</B> (Poincaré-Birkhoff-Witt basis), if a <SPAN CLASS="MATH">50#50</SPAN>-basis of
<SPAN CLASS="MATH">190#190</SPAN> is Mon<!-- MATH
 $(x_1,\dots,x_n)=\{x^{a_1}_1 x^{a_2}_2 \dots x^{a_n}_n \mid a_i \in N \cup \{0\} \}$
 -->
<SPAN CLASS="MATH">220#220</SPAN>,
where a power-product <!-- MATH
 $x^{a_1}_1 x^{a_2}_2 \dots x^{a_n}_n$
 -->
<SPAN CLASS="MATH">221#221</SPAN> (in this particular order) is called
<B>a monomial</B>. For example, <SPAN CLASS="MATH">222#222</SPAN> is a monomial, while <SPAN CLASS="MATH">223#223</SPAN> is, in general, not
a monomial.|;

$l2h_cache_key = q/$A$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">190#190</SPAN>|;

$l2h_cache_key = q/$C$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">78#78</SPAN>|;

$l2h_cache_key = q/$\sum_{j=1}^m \sum_k  \ell_{jk} \epsilon_j r_{jk}
\mapsto \sum_{j=1}^m \sum_k \ell_{jk} g_j r_{jk}.
$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $\sum_{j=1}^m \sum_k  \ell_{jk} \epsilon_j r_{jk}
\mapsto \sum_{j=1}^m \sum_k \ell_{jk} g_j r_{jk}.$
 -->
<SPAN CLASS="MATH">417#417</SPAN>|;

$l2h_cache_key = q/$I \subset R$ is the ideal generated by $f_1,...,f_s$, then any infinitesimal
deformation of $R\/I$ over $K[\varepsilon]\/(\varepsilon^2)$ is given
by $f+\varepsilon g$,
where $f=(f_1,...,f_s)$, and where $g$ is a $K$-linear combination of
the $h_i$./;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">513#513</SPAN> is the ideal generated by <SPAN CLASS="MATH">514#514</SPAN>, then any infinitesimal
deformation of <SPAN CLASS="MATH">475#475</SPAN> over <!-- MATH
 $K[\varepsilon]/(\varepsilon^2)$
 -->
<SPAN CLASS="MATH">515#515</SPAN> is given
by <!-- MATH
 $f+\varepsilon g$
 -->
<SPAN CLASS="MATH">516#516</SPAN>,
where <!-- MATH
 $f=(f_1,...,f_s)$
 -->
<SPAN CLASS="MATH">517#517</SPAN>, and where <SPAN CLASS="MATH">149#149</SPAN> is a <SPAN CLASS="MATH">50#50</SPAN>-linear combination of
the <SPAN CLASS="MATH">518#518</SPAN>.|;

$l2h_cache_key = q/$x_1,x_2,x_3$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">35#35</SPAN>|;

$l2h_cache_key = q/$1 < j <= n$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">389#389</SPAN>|;

$l2h_cache_key = q/$<_m = (c, <)$ denotes the module ordering (giving priority to the component):/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">583#583</SPAN> denotes the module ordering (giving priority to the component):|;

$l2h_cache_key = q/$N = R^n\/M$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">531#531</SPAN>|;

$l2h_cache_key = q/  The general error-locator polynomial  actually is an element of the reduced Gr\"obner basis of $\langle F'_C \rangle$. Having this polynomial,
  decoding of the cyclic code $C$ reduces to univariate factorization./;
$l2h_cache{$l2h_cache_key} = q|  The general error-locator polynomial  actually is an element of the reduced Gröbner basis of <!-- MATH
 $\langle F'_C \rangle$
 -->
<SPAN CLASS="MATH">875#875</SPAN>. Having this polynomial,
  decoding of the cyclic code <SPAN CLASS="MATH">78#78</SPAN> reduces to univariate factorization.|;

$l2h_cache_key = q/$gen(i)$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">524#524</SPAN>|;

$l2h_cache_key = q/$T := K\langle x_1,\dots,x_n \rangle$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $T := K\langle x_1,\dots,x_n \rangle$
 -->
<SPAN CLASS="MATH">400#400</SPAN>|;

$l2h_cache_key = q/$f=(f_1,\ldots,f_n):k^r\rightarrow k^n$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $f=(f_1,\ldots,f_n):k^r\rightarrow k^n$
 -->
<SPAN CLASS="MATH">447#447</SPAN>|;

$l2h_cache_key = q/$f:(k^r,0)\rightarrow(k^n,0)$,/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $f:(k^r,0)\rightarrow(k^n,0)$
 -->
<SPAN CLASS="MATH">451#451</SPAN>,|;

$l2h_cache_key = q/$|a|,|b|<=\sqrt{(N-1)\/2}$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $\|a\|,\|b\|<=\sqrt{(N-1)/2}$
 -->
<SPAN CLASS="MATH">125#125</SPAN>|;

$l2h_cache_key = q/$$J=(x_1-f_1(t_1,\ldots,t_r),\ldots,x_n-f_n(t_1,\ldots,t_r))\subseteq
k[t_1,\ldots,t_r,x_1,\ldots,x_n]$$/;
$l2h_cache{$l2h_cache_key} = q|<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
J=(x_1-f_1(t_1,\ldots,t_r),\ldots,x_n-f_n(t_1,\ldots,t_r))\subseteq
k[t_1,\ldots,t_r,x_1,\ldots,x_n]
\end{displaymath}
 -->

449#449
</DIV>
|;

$l2h_cache_key = q/$S$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">247#247</SPAN>|;

$l2h_cache_key = q/$Z\/p \rightarrow Q,
\quad
[i]_p \mapsto i \in [-p\/2, \, p\/2]
\subseteq Z$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $Z/p \rightarrow Q,
\quad
[i]_p \mapsto i \in [-p/2, \, p/2]
\subseteq Z$
 -->
<SPAN CLASS="MATH">84#84</SPAN>|;

$l2h_cache_key = q/  $(d\times 1)$-matrix and $m_{i+1,j}, 0\leq i\leq e$,/;
$l2h_cache{$l2h_cache_key} = q|  <SPAN CLASS="MATH">104#104</SPAN>-matrix and <!-- MATH
 $m_{i+1,j}, 0\leq i\leq e$
 -->
<SPAN CLASS="MATH">105#105</SPAN>,|;

$l2h_cache_key = q/nrows($v_i$)./;
$l2h_cache{$l2h_cache_key} = q|nrows(<SPAN CLASS="MATH">530#530</SPAN>).|;

$l2h_cache_key = q/$\{b \in R^n \mid bJ \subset M\}$./;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $\{b \in R^n \mid bJ \subset M\}$
 -->
<SPAN CLASS="MATH">175#175</SPAN>.|;

$l2h_cache_key = q/\quad \quad   $x^\alpha e_i <_m x^\beta e_j \Leftrightarrow i > j$ or ($
i = j $ and $ x^\alpha < x^\beta $)./;
$l2h_cache{$l2h_cache_key} = q|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<!-- MATH
 $x^\alpha e_i <_m x^\beta e_j \Leftrightarrow i > j$
 -->
<SPAN CLASS="MATH">584#584</SPAN> or (<SPAN CLASS="MATH">580#580</SPAN> and <!-- MATH
 $x^\alpha < x^\beta$
 -->
<SPAN CLASS="MATH">542#542</SPAN>).|;

$l2h_cache_key = q/  $K\cdot A=M$./;
$l2h_cache{$l2h_cache_key} = q|  <SPAN CLASS="MATH">122#122</SPAN>.|;

$l2h_cache_key = q/$R \langle X \rangle \otimes R \langle X \rangle,$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $R \langle X \rangle \otimes R \langle X \rangle,$
 -->
<SPAN CLASS="MATH">423#423</SPAN>|;

$l2h_cache_key = q/$I = \{ e^2, f \}$./;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $I = \{ e^2, f \}$
 -->
<SPAN CLASS="MATH">521#521</SPAN>.|;

$l2h_cache_key = q/$j=J \cap k[x_1,\ldots,x_n]$,/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $j=J \cap k[x_1,\ldots,x_n]$
 -->
<SPAN CLASS="MATH">448#448</SPAN>,|;

$l2h_cache_key = q/A map $\hbox{NF} : A^r \times \{G \mid G\ \hbox{ a (left) Groebner
basis}\} \to A^r, (f|G) \mapsto \hbox{NF}(f|G)$, is called a {\bf (left) normal form}
on $A^r$ if for any $f \in A^r$ and any left Groebner basis $G$ the following
holds:

(i) $\hbox{NF}(0|G) = 0$,

(ii)  if $\hbox{NF}(f|G) \not= 0$ then $\hbox{LM}(g)$ does not divide
$\hbox{LM}(\hbox{NF}(f|G))$ for all $g \in G$,

(iii) $f - \hbox{NF}(f|G)\in {}_{A}\langle G \rangle$.

\noindent
$\hbox{NF}(f|G)$ is called a {\bf left normal form of} $f$ {\bf with
respect to} $G$ (note that such a map is not unique)./;
$l2h_cache{$l2h_cache_key} = q|A map <!-- MATH
 $\hbox{NF} : A^r \times \{G \mid G\ \hbox{ a (left) Groebner
basis}\} \to A^r, (f\|G) \mapsto \hbox{NF}(f\|G)$
 -->
<SPAN CLASS="MATH">267#267</SPAN>, is called a <B>(left) normal form</B>
on <SPAN CLASS="MATH">240#240</SPAN> if for any <SPAN CLASS="MATH">264#264</SPAN> and any left Groebner basis <SPAN CLASS="MATH">189#189</SPAN> the following
holds:

<P>
(i) <!-- MATH
 $\hbox{NF}(0\|G) = 0$
 -->
<SPAN CLASS="MATH">268#268</SPAN>,

<P>
(ii)  if <!-- MATH
 $\hbox{NF}(f\|G) \not= 0$
 -->
<SPAN CLASS="MATH">269#269</SPAN> then <SPAN CLASS="MATH">270#270</SPAN> does not divide
<!-- MATH
 $\hbox{LM}(\hbox{NF}(f\|G))$
 -->
<SPAN CLASS="MATH">271#271</SPAN> for all <SPAN CLASS="MATH">254#254</SPAN>,

<P>
(iii) <!-- MATH
 $f - \hbox{NF}(f\|G)\in {}_{A}\langle G \rangle$
 -->
<SPAN CLASS="MATH">272#272</SPAN>.

<P>
<!-- MATH
 $\hbox{NF}(f\|G)$
 -->
<SPAN CLASS="MATH">273#273</SPAN> is called a <B>left normal form of</B> <SPAN CLASS="MATH">265#265</SPAN> <B>with
respect to</B> <SPAN CLASS="MATH">189#189</SPAN> (note that such a map is not unique).|;

$l2h_cache_key = q/$x_1 x_1 x_1$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">356#356</SPAN>|;

$l2h_cache_key = q/$R= K[x_1, \ldots, x_n]$,/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $R= K[x_1, \ldots, x_n]$
 -->
<SPAN CLASS="MATH">231#231</SPAN>,|;

$l2h_cache_key = q/$K=Z\/7[a]$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">48#48</SPAN>|;

$l2h_cache_key = q/  $K\cdot A$/;
$l2h_cache{$l2h_cache_key} = q|  <SPAN CLASS="MATH">123#123</SPAN>|;

$l2h_cache_key = q/$\quad$ (dp(3), wp(1,2,3)):
$\left(\matrix{
1&  1&  1&  0&  0&  0 \cr
0&  0&  -1&  0&  0&  0 \cr
0&  -1&  0&  0&  0&  0 \cr
0&  0&  0&  1&  2&  3 \cr
0&  0&  0&  0&  0&  -1 \cr
0&  0&  0&  0&  -1&  0 \cr
 }\right)$

$\quad$ (Dp(3), ds(3)):
$\left(\matrix{
1&  1&  1&  0&  0&  0 \cr
1&  0&  0&  0&  0&  0 \cr
0&  1&  0&  0&  0&  0 \cr
0&  0&  0&  -1&  -1&  -1 \cr
0&  0&  0&  0&  0&  -1 \cr
0&  0&  0&  0&  -1&  0 \cr
 }\right)$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">594#594</SPAN> (dp(3), wp(1,2,3)):
<!-- MATH
 $\left(\matrix{
1&  1&  1&  0&  0&  0 \cr
0&  0&  -1&  0&  0&  0 \cr
0&  -1&  0&  0&  0&  0 \cr
0&  0&  0&  1&  2&  3 \cr
0&  0&  0&  0&  0&  -1 \cr
0&  0&  0&  0&  -1&  0 \cr
 }\right)$
 -->
<SPAN CLASS="MATH">605#605</SPAN>

<P>
<SPAN CLASS="MATH">594#594</SPAN> (Dp(3), ds(3)):
<!-- MATH
 $\left(\matrix{
1&  1&  1&  0&  0&  0 \cr
1&  0&  0&  0&  0&  0 \cr
0&  1&  0&  0&  0&  0 \cr
0&  0&  0&  -1&  -1&  -1 \cr
0&  0&  0&  0&  0&  -1 \cr
0&  0&  0&  0&  -1&  0 \cr
 }\right)$
 -->
<SPAN CLASS="MATH">606#606</SPAN>|;

$l2h_cache_key = q/Output: $g_1,\dots,g_s$ with $s \leq n$ and the properties/;
$l2h_cache{$l2h_cache_key} = q|Output: <SPAN CLASS="MATH">139#139</SPAN> with <SPAN CLASS="MATH">140#140</SPAN> and the properties|;

$l2h_cache_key = q/$0$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">2#2</SPAN>|;

$l2h_cache_key = q/A discrete monomial valuation $v$ on $R = K[X_1 ,\ldots,X_n]$ is determined by
the values $v(X_j)$ of the indeterminates. This function computes the
subalgebra $S = \{ f \in R : v_i ( f ) \geq 0,\ i = 1,\ldots,r\}$ for several
such valuations $v_i$, $i=1,\ldots,r$. It needs the matrix $V = (v_i(X_j))$ as
its input.

This function simultaneously determines the $S$-submodule
$M = \{ f \in R : v_i(f) \geq w_i ,\ i = 1,\ldots,r\}$ for integers
$w_1,\ldots\,w_r$. (If $w_i \geq 0$ for all $i$, $M$ is an ideal of $S$.)
The numbers $w_i$ form the $(n+1)$th column of the input matrix./;
$l2h_cache{$l2h_cache_key} = q|A discrete monomial valuation <SPAN CLASS="MATH">331#331</SPAN> on <!-- MATH
 $R = K[X_1 ,\ldots,X_n]$
 -->
<SPAN CLASS="MATH">1028#1028</SPAN> is determined by
the values <SPAN CLASS="MATH">1052#1052</SPAN> of the indeterminates. This function computes the
subalgebra <!-- MATH
 $S = \{ f \in R : v_i ( f ) \geq 0,\ i = 1,\ldots,r\}$
 -->
<SPAN CLASS="MATH">1053#1053</SPAN> for several
such valuations <SPAN CLASS="MATH">530#530</SPAN>, <SPAN CLASS="MATH">1030#1030</SPAN>. It needs the matrix <!-- MATH
 $V = (v_i(X_j))$
 -->
<SPAN CLASS="MATH">1054#1054</SPAN> as
its input.

<P>
This function simultaneously determines the <SPAN CLASS="MATH">247#247</SPAN>-submodule
<!-- MATH
 $M = \{ f \in R : v_i(f) \geq w_i ,\ i = 1,\ldots,r\}$
 -->
<SPAN CLASS="MATH">1055#1055</SPAN> for integers
<!-- MATH
 $w_1,\ldots\,w_r$
 -->
<SPAN CLASS="MATH">1056#1056</SPAN>. (If <SPAN CLASS="MATH">1057#1057</SPAN> for all <SPAN CLASS="MATH">57#57</SPAN>, <SPAN CLASS="MATH">13#13</SPAN> is an ideal of <SPAN CLASS="MATH">247#247</SPAN>.)
The numbers <SPAN CLASS="MATH">1058#1058</SPAN> form the <SPAN CLASS="MATH">1059#1059</SPAN>th column of the input matrix.|;

$l2h_cache_key = q/  {\bf Generic decoding}: Solve some system $S(C)$ and obtain some "closed" formulas $CF$. Evaluating these formulas
  at data specific to a received word ${\bf r}$ should yield a solution to the decoding problem. For example for
  $f\in CF: f(syndrome({\bf r}),x)=poly(x)$. The roots of $poly(x)=0$ yield error positions, see the section on the
  general error-locator polynomial./;
$l2h_cache{$l2h_cache_key} = q|  <B>Generic decoding</B>: Solve some system <SPAN CLASS="MATH">824#824</SPAN> and obtain some "closed" formulas <SPAN CLASS="MATH">825#825</SPAN>. Evaluating these formulas
  at data specific to a received word <SPAN CLASS="MATH">826#826</SPAN> should yield a solution to the decoding problem. For example for
  <!-- MATH
 $f\in CF: f(syndrome({\bf r}),x)=poly(x)$
 -->
<SPAN CLASS="MATH">827#827</SPAN>. The roots of <SPAN CLASS="MATH">828#828</SPAN> yield error positions, see the section on the
  general error-locator polynomial.|;

$l2h_cache_key = q/$G(d)$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">409#409</SPAN>|;

$l2h_cache_key = q/  $wt({\bf e})=t$ and the solution is unique and of multiplicity one satisfying ${\bf u}={\bf u}({\bf e})$./;
$l2h_cache{$l2h_cache_key} = q|  <SPAN CLASS="MATH">981#981</SPAN> and the solution is unique and of multiplicity one satisfying <!-- MATH
 ${\bf u}={\bf u}({\bf e})$
 -->
<SPAN CLASS="MATH">982#982</SPAN>.|;

$l2h_cache_key = q/nrows($M$)/;
$l2h_cache{$l2h_cache_key} = q|nrows(<SPAN CLASS="MATH">13#13</SPAN>)|;

$l2h_cache_key = q/$y z^i x$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">313#313</SPAN>|;

$l2h_cache_key = q/$w$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">346#346</SPAN>|;

$l2h_cache_key = q/$\hbox{Ext}^1(M,M)$, resp.\ $\hbox{Ext}^2(M,M)$,/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $\hbox{Ext}^1(M,M)$
 -->
<SPAN CLASS="MATH">458#458</SPAN>, resp. <!-- MATH
 $\hbox{Ext}^2(M,M)$
 -->
<SPAN CLASS="MATH">459#459</SPAN>,|;

$l2h_cache_key = q/dim$(R^n\/M)$, resp.@: dim$_k(R^n\/M)$/;
$l2h_cache{$l2h_cache_key} = q|dim<SPAN CLASS="MATH">534#534</SPAN>, resp.@: dim<SPAN CLASS="MATH">535#535</SPAN>|;

$l2h_cache_key = q/$Z\/p \rightarrow  (Z\/p)(a, \ldots)$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $Z/p \rightarrow  (Z/p)(a, \ldots)$
 -->
<SPAN CLASS="MATH">79#79</SPAN>|;

$l2h_cache_key = q/Let $I={}_{A}\langle g_1,\dots ,g_s\rangle \subseteq A^r$ and $M= A^r\/I$.
A {\bf free resolution of $M$} is a long exact sequence
$$\dots \longrightarrow F_2 \buildrel{B_2}\over{\longrightarrow} F_1
 \buildrel{B_1}\over{\longrightarrow} F_0\longrightarrow M\longrightarrow
0,$$/;
$l2h_cache{$l2h_cache_key} = q|Let <!-- MATH
 $I={}_{A}\langle g_1,\dots ,g_s\rangle \subseteq A^r$
 -->
<SPAN CLASS="MATH">288#288</SPAN> and <SPAN CLASS="MATH">289#289</SPAN>.
A <B>free resolution of <SPAN CLASS="MATH">13#13</SPAN></B> is a long exact sequence
<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
\dots \longrightarrow F_2 \buildrel{B_2}\over{\longrightarrow} F_1
 \buildrel{B_1}\over{\longrightarrow} F_0\longrightarrow M\longrightarrow
0,
\end{displaymath}
 -->

290#290
</DIV>
|;

$l2h_cache_key = q/$m > 0$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">297#297</SPAN>|;

$l2h_cache_key = q/$G(2d-1)=G(d)$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">410#410</SPAN>|;

$l2h_cache_key = q/$<_m = (<,c)$ denotes the module ordering (giving priority to the coefficients):/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">581#581</SPAN> denotes the module ordering (giving priority to the coefficients):|;

$l2h_cache_key = q/Let $<$ be the lexicographical ordering on $R=K[x_1,...,x_n]$ with $x_1
< ... < x_n$.
For $f \in R$ let lvar($f$) (the leading variable of $f$) be the largest
variable in $f$,
i.e., if $f=a_s(x_1,...,x_{k-1})x_k^s+...+a_0(x_1,...,x_{k-1})$ for some
$k \leq n$ then lvar$(f)=x_k$.

Moreover, let
\hbox{ini}$(f):=a_s(x_1,...,x_{k-1})$. The pseudoremainder
$r=\hbox{prem}(g,f)$ of $g$ with respect to $f$ is
defined by the equality $\hbox{ini}(f)^a\cdot g = qf+r$ with
$\hbox{deg}_{lvar(f)}(r)<\hbox{deg}_{lvar(f)}(f)$ and $a$
minimal.

A set $T=\{f_1,...,f_r\} \subset R$ is called triangular if
$\hbox{lvar}(f_1)<...<\hbox{lvar}(f_r)$. Moreover, let $ U \subset T $,
then $(T,U)$ is called a triangular system, if $T$ is a triangular set
such that $\hbox{ini}(T)$ does not vanish on $V(T) \setminus V(U)
(=:V(T\setminus U))$.

$T$ is called irreducible if for every $i$ there are no
$d_i$,$f_i'$,$f_i''$ such that
$$   \hbox{lvar}(d_i)<\hbox{lvar}(f_i) =
\hbox{lvar}(f_i')=\hbox{lvar}(f_i''),$$
$$   0 \not\in \hbox{prem}(\{ d_i, \hbox{ini}(f_i'),
\hbox{ini}(f_i'')\},\{ f_1,...,f_{i-1}\}),$$
$$\hbox{prem}(d_if_i-f_i'f_i'',\{f_1,...,f_{i-1}\})=0.$$
Furthermore, $(T,U)$ is called irreducible if $T$ is irreducible.

The main result on triangular sets is the following: Let
$G=\{g_1,...,g_s\} \subset R$, then there are irreducible triangular sets $T_1,...,T_l$
such that $V(G)=\bigcup_{i=1}^{l}(V(T_i\setminus I_i))$
where $I_i=\{\hbox{ini}(f) \mid f \in T_i \}$. Such a set
$\{T_1,...,T_l\}$ is called an {\bf irreducible characteristic series} of
the ideal $(G)$./;
$l2h_cache{$l2h_cache_key} = q|Let <SPAN CLASS="MATH">226#226</SPAN> be the lexicographical ordering on <!-- MATH
 $R=K[x_1,...,x_n]$
 -->
<SPAN CLASS="MATH">672#672</SPAN> with <!-- MATH
 $x_1
< ... < x_n$
 -->
<SPAN CLASS="MATH">673#673</SPAN>.
For <SPAN CLASS="MATH">674#674</SPAN> let lvar(<SPAN CLASS="MATH">265#265</SPAN>) (the leading variable of <SPAN CLASS="MATH">265#265</SPAN>) be the largest
variable in <SPAN CLASS="MATH">265#265</SPAN>,
i.e., if <!-- MATH
 $f=a_s(x_1,...,x_{k-1})x_k^s+...+a_0(x_1,...,x_{k-1})$
 -->
<SPAN CLASS="MATH">675#675</SPAN> for some
<SPAN CLASS="MATH">676#676</SPAN> then lvar<SPAN CLASS="MATH">677#677</SPAN>.

<P>
Moreover, let
ini<!-- MATH
 $(f):=a_s(x_1,...,x_{k-1})$
 -->
<SPAN CLASS="MATH">678#678</SPAN>. The pseudoremainder
<!-- MATH
 $r=\hbox{prem}(g,f)$
 -->
<SPAN CLASS="MATH">679#679</SPAN> of <SPAN CLASS="MATH">149#149</SPAN> with respect to <SPAN CLASS="MATH">265#265</SPAN> is
defined by the equality <!-- MATH
 $\hbox{ini}(f)^a\cdot g = qf+r$
 -->
<SPAN CLASS="MATH">680#680</SPAN> with
<!-- MATH
 $\hbox{deg}_{lvar(f)}(r)<\hbox{deg}_{lvar(f)}(f)$
 -->
<SPAN CLASS="MATH">681#681</SPAN> and <SPAN CLASS="MATH">4#4</SPAN>
minimal.

<P>
A set <!-- MATH
 $T=\{f_1,...,f_r\} \subset R$
 -->
<SPAN CLASS="MATH">682#682</SPAN> is called triangular if
<!-- MATH
 $\hbox{lvar}(f_1)<...<\hbox{lvar}(f_r)$
 -->
<SPAN CLASS="MATH">683#683</SPAN>. Moreover, let <SPAN CLASS="MATH">684#684</SPAN>,
then <SPAN CLASS="MATH">685#685</SPAN> is called a triangular system, if <SPAN CLASS="MATH">277#277</SPAN> is a triangular set
such that <SPAN CLASS="MATH">686#686</SPAN> does not vanish on <!-- MATH
 $V(T) \setminus V(U)
(=:V(T\setminus U))$
 -->
<SPAN CLASS="MATH">687#687</SPAN>.

<P>
<SPAN CLASS="MATH">277#277</SPAN> is called irreducible if for every <SPAN CLASS="MATH">57#57</SPAN> there are no
<SPAN CLASS="MATH">688#688</SPAN>,<SPAN CLASS="MATH">689#689</SPAN>,<SPAN CLASS="MATH">690#690</SPAN> such that
<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
\hbox{lvar}(d_i)<\hbox{lvar}(f_i) =
\hbox{lvar}(f_i')=\hbox{lvar}(f_i''),
\end{displaymath}
 -->

691#691
</DIV>

<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
0 \not\in \hbox{prem}(\{ d_i, \hbox{ini}(f_i'),
\hbox{ini}(f_i'')\},\{ f_1,...,f_{i-1}\}),
\end{displaymath}
 -->

692#692
</DIV>

<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
\hbox{prem}(d_if_i-f_i'f_i'',\{f_1,...,f_{i-1}\})=0.
\end{displaymath}
 -->

693#693
</DIV>
Furthermore, <SPAN CLASS="MATH">685#685</SPAN> is called irreducible if <SPAN CLASS="MATH">277#277</SPAN> is irreducible.

<P>
The main result on triangular sets is the following: Let
<!-- MATH
 $G=\{g_1,...,g_s\} \subset R$
 -->
<SPAN CLASS="MATH">694#694</SPAN>, then there are irreducible triangular sets <SPAN CLASS="MATH">695#695</SPAN>
such that <!-- MATH
 $V(G)=\bigcup_{i=1}^{l}(V(T_i\setminus I_i))$
 -->
<SPAN CLASS="MATH">696#696</SPAN>
where <!-- MATH
 $I_i=\{\hbox{ini}(f) \mid f \in T_i \}$
 -->
<SPAN CLASS="MATH">697#697</SPAN>. Such a set
<!-- MATH
 $\{T_1,...,T_l\}$
 -->
<SPAN CLASS="MATH">698#698</SPAN> is called an <B>irreducible characteristic series</B> of
the ideal <SPAN CLASS="MATH">699#699</SPAN>.|;

$l2h_cache_key = q/$A$
is left and right noetherian,/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">190#190</SPAN>
is left and right noetherian,|;

$l2h_cache_key = q/$G$-algebras $A$ and $B$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">189#189</SPAN>-algebras <SPAN CLASS="MATH">190#190</SPAN> and <SPAN CLASS="MATH">195#195</SPAN>|;

$l2h_cache_key = q/$\forall i<j$, $c_{ij} = n$,/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">212#212</SPAN>, <SPAN CLASS="MATH">213#213</SPAN>,|;

$l2h_cache_key = q/$x_1 x_2 x_3 > x_2 x_2 > x_3 x_2 x_1 > x_1 x_1 x_1 > x_2 x_3 > x_3 x_3 x_3 > x_1 x_3 > x_2 > x_3 x_1 > x_1 > x_3$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $x_1 x_2 x_3 > x_2 x_2 > x_3 x_2 x_1 > x_1 x_1 x_1 > x_2 x_3 > x_3 x_3 x_3 > x_1 x_3 > x_2 > x_3 x_1 > x_1 > x_3$
 -->
<SPAN CLASS="MATH">368#368</SPAN>|;

$l2h_cache_key = q/$(k-1)$-st/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">660#660</SPAN>-st|;

$l2h_cache_key = q/$M_1, \ldots, M_n$ the rows of $M$./;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $M_1, \ldots, M_n$
 -->
<SPAN CLASS="MATH">588#588</SPAN> the rows of <SPAN CLASS="MATH">13#13</SPAN>.|;

$l2h_cache_key = q/be the matrices of size $l \times k$, resp.\ $l \times m$, having the
generators of $h_1$, resp.\ $h_2$,/;
$l2h_cache{$l2h_cache_key} = q|be the matrices of size <SPAN CLASS="MATH">160#160</SPAN>, resp. <SPAN CLASS="MATH">161#161</SPAN>, having the
generators of <SPAN CLASS="MATH">155#155</SPAN>, resp. <SPAN CLASS="MATH">156#156</SPAN>,|;

$l2h_cache_key = q/$coker(A_1)=F_0\/M$
$$...\longrightarrow F_2 \buildrel{A_2}\over{\longrightarrow} F_1 \buildrel{A_1}\over{\longrightarrow} F_0\longrightarrow F_0\/M\longrightarrow 0,$$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $coker(A_1)=F_0/M$
 -->
<SPAN CLASS="MATH">169#169</SPAN>
<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
...\longrightarrow F_2 \buildrel{A_2}\over{\longrightarrow} F_1 \buildrel{A_1}\over{\longrightarrow} F_0\longrightarrow F_0/M\longrightarrow 0,
\end{displaymath}
 -->

165#165
</DIV>
|;

$l2h_cache_key = q/ Let $K$ be a field, and let a $K$-algebra $A$ be given in terms of generators subject to the following relations:

$A= K \langle x_1, \ldots ,x_n \mid \{ x_j x_i=c_{ij} \cdot x_i x_j + d_{ij}\}, 1 \leq i <j \leq n \rangle$,
where $c_{ij} \in K^{*}, d_{ij} \in K[x_1, \ldots, x_n]$.

 $A$ is called \textbf{a $G$--algebra}, if the following conditions hold:/;
$l2h_cache{$l2h_cache_key} = q| Let <SPAN CLASS="MATH">50#50</SPAN> be a field, and let a <SPAN CLASS="MATH">50#50</SPAN>-algebra <SPAN CLASS="MATH">190#190</SPAN> be given in terms of generators subject to the following relations:

<P>
<!-- MATH
 $A= K \langle x_1, \ldots ,x_n \mid \{ x_j x_i=c_{ij} \cdot x_i x_j + d_{ij}\}, 1 \leq i <j \leq n \rangle$
 -->
<SPAN CLASS="MATH">224#224</SPAN>,
where <!-- MATH
 $c_{ij} \in K^{*}, d_{ij} \in K[x_1, \ldots, x_n]$
 -->
<SPAN CLASS="MATH">225#225</SPAN>.

<P>
<SPAN CLASS="MATH">190#190</SPAN> is called <SPAN  CLASS="textbf">a <SPAN CLASS="MATH">189#189</SPAN>&ndash;algebra</SPAN>, if the following conditions hold:|;

$l2h_cache_key = q/$GR-$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">188#188</SPAN>|;

$l2h_cache_key = q/$<_m = (C, <)$ denotes the module ordering (giving priority to the component):/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">578#578</SPAN> denotes the module ordering (giving priority to the component):|;

$l2h_cache_key = q/$K^3$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">455#455</SPAN>|;

$l2h_cache_key = q/$\hbox{Loc}_{(x)}K[x_1,\ldots,x_n]$,/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $\hbox{Loc}_{(x)}K[x_1,\ldots,x_n]$
 -->
<SPAN CLASS="MATH">494#494</SPAN>,|;

$l2h_cache_key = q/$${\rm contract}(x^A ,  x^B) := \cases{ x^{(B-A)}, &if $B\ge A$
componentwise\cr 0,&otherwise.\cr}$$/;
$l2h_cache{$l2h_cache_key} = q|<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
{\rm contract}(x^A ,  x^B) := \cases{ x^{(B-A)}, &if $B\ge A$
componentwise\cr 0,&otherwise.\cr}
\end{displaymath}
 -->

124#124
</DIV>
|;

$l2h_cache_key = q/  Then the number of solutions of $J_C(w)$ is equal to $w!$ times the number of codewords of weight $w$. And for $1\le w\le d$, either $J_C(w)$
  has no solutions, which is equivalent to $w<d$, or $J_C(w)$ has some solutions, which is equivalent to $w=d$./;
$l2h_cache{$l2h_cache_key} = q|  Then the number of solutions of <SPAN CLASS="MATH">878#878</SPAN> is equal to <SPAN CLASS="MATH">885#885</SPAN> times the number of codewords of weight <SPAN CLASS="MATH">346#346</SPAN>. And for <SPAN CLASS="MATH">886#886</SPAN>, either <SPAN CLASS="MATH">878#878</SPAN>
  has no solutions, which is equivalent to <SPAN CLASS="MATH">887#887</SPAN>, or <SPAN CLASS="MATH">878#878</SPAN> has some solutions, which is equivalent to <SPAN CLASS="MATH">888#888</SPAN>.|;

$l2h_cache_key = q/$< x_1$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">300#300</SPAN>|;

$l2h_cache_key = q/$w_1,\ldots,w_n$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $w_1,\ldots,w_n$
 -->
<SPAN CLASS="MATH">559#559</SPAN>|;

$l2h_cache_key = q/$f$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">265#265</SPAN>|;

$l2h_cache_key = q/Generalizing this to quasihomogeneous modules we get
$$\hbox{HP}_M(t)={Q(t)\over {\Pi_{i=1}^n(1-t^{w_i})}}$$
where $Q(t)$ is a polynomial in ${\bf Z}[t]$.
$Q(t)$ is called the {\bf first (weighted) Hilbert series} of M./;
$l2h_cache{$l2h_cache_key} = q|Generalizing this to quasihomogeneous modules we get
<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
\hbox{HP}_M(t)={Q(t)\over {\Pi_{i=1}^n(1-t^{w_i})}}
\end{displaymath}
 -->

656#656
</DIV>
where <SPAN CLASS="MATH">648#648</SPAN> is a polynomial in <SPAN CLASS="MATH">650#650</SPAN>.
<SPAN CLASS="MATH">648#648</SPAN> is called the <B>first (weighted) Hilbert series</B> of M.|;

$l2h_cache_key = q/D. Kozen, S. Landau: Polynomial Decomposition Algorithms, \par
  \quad \qquad          J. Symb. Comp. (1989), 7, 445-456. \par
J. von zu Gathen: Functional Decomposition of Polynomials: the Tame Case,\par
  \quad \qquad          J. Symb. Comp. (1990), 9, 281-299. \par
 J. von zur Gathen, J. Gerhard:  Modern computer algebra,  \par
  \quad \qquad          Cambridge University Press, Cambridge, 2003./;
$l2h_cache{$l2h_cache_key} = q|D. Kozen, S. Landau: Polynomial Decomposition Algorithms, 
<P>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;J. Symb. Comp. (1989), 7, 445-456. 
<P>
J. von zu Gathen: Functional Decomposition of Polynomials: the Tame Case,
<P>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;J. Symb. Comp. (1990), 9, 281-299. 
<P>
J. von zur Gathen, J. Gerhard:  Modern computer algebra,  
<P>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cambridge University Press, Cambridge, 2003.|;

$l2h_cache_key = q/$R(i)[x,y,z]$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">56#56</SPAN>|;

$l2h_cache_key = q/  $\sum_{i=1}^k m_i\cdot a_i\cdot x^{e_i}$,/;
$l2h_cache{$l2h_cache_key} = q|  <!-- MATH
 $\sum_{i=1}^k m_i\cdot a_i\cdot x^{e_i}$
 -->
<SPAN CLASS="MATH">117#117</SPAN>,|;

$l2h_cache_key = q/$n\times n$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">234#234</SPAN>|;

$l2h_cache_key = q/$x_1 x_1 x_1 > x_3 x_2 x_1 > x_1 x_2 x_3 > x_3 x_3 x_3 > x_3 x_1 > x_2 x_2 > x_1 x_3 > x_2 x_3 > x_1 > x_2 > x_3$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $x_1 x_1 x_1 > x_3 x_2 x_1 > x_1 x_2 x_3 > x_3 x_3 x_3 > x_3 x_1 > x_2 x_2 > x_1 x_3 > x_2 x_3 > x_1 > x_2 > x_3$
 -->
<SPAN CLASS="MATH">365#365</SPAN>|;

$l2h_cache_key = q/$N$./;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">418#418</SPAN>.|;

$l2h_cache_key = q/{\sc Sca}/;
$l2h_cache{$l2h_cache_key} = q|S<SMALL>CA</SMALL>|;

$l2h_cache_key = q/$Q \rightarrow  C$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $Q \rightarrow  C$
 -->
<SPAN CLASS="MATH">77#77</SPAN>|;

$l2h_cache_key = q/$(p-1)x^p y + xy^p$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $(p-1)x^p y + xy^p$
 -->
<SPAN CLASS="MATH">1016#1016</SPAN>|;

$l2h_cache_key = q/$\{ a \mid ar^3 \in U \}$./;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $\{ a \mid ar^3 \in U \}$
 -->
<SPAN CLASS="MATH">15#15</SPAN>.|;

$l2h_cache_key = q/$(x,y,z)$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">38#38</SPAN>|;

$l2h_cache_key = q/$M_i={\tt module}(A_i)$, i=1..k./;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $M_i={\tt module}(A_i)$
 -->
<SPAN CLASS="MATH">135#135</SPAN>, i=1..k.|;

$l2h_cache_key = q/$K[x_1,x_2,\ldots,x_r]$,/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $K[x_1,x_2,\ldots,x_r]$
 -->
<SPAN CLASS="MATH">151#151</SPAN>,|;

$l2h_cache_key = q/  $(dk\times s)$-matrix and $m_{(j-1)d+i+1,r}, 0\leq i\leq e, 1\leq j\leq k, 1\leq r\leq s$,/;
$l2h_cache{$l2h_cache_key} = q|  <SPAN CLASS="MATH">114#114</SPAN>-matrix and <!-- MATH
 $m_{(j-1)d+i+1,r}, 0\leq i\leq e, 1\leq j\leq k, 1\leq r\leq s$
 -->
<SPAN CLASS="MATH">115#115</SPAN>,|;

$l2h_cache_key = q/Let $A$ denote an $m\times n$ matrix with integral coefficients. For $u
\in Z\!\!\! Z^n$, we define $u^+,u^-$ to be the uniquely determined
vectors with nonnegative coefficients and disjoint support (i.e.,
$u_i^+=0$ or $u_i^-=0$ for each component $i$) such that
$u=u^+-u^-$. For $u\geq 0$ component-wise, let $x^u$ denote the monomial
$x_1^{u_1}\cdot\ldots\cdot x_n^{u_n}\in K[x_1,\ldots,x_n]$.

The ideal
$$ I_A:=(x^{u^+}-x^{u^-} | u\in\ker(A)\cap Z\!\!\! Z^n)\ \subset
K[x_1,\ldots,x_n] $$
is called a \bf toric ideal. \rm

The first problem in computing toric ideals is to find a finite
generating set: Let $v_1,\ldots,v_r$ be a lattice basis of $\ker(A)\cap
Z\!\!\! Z^n$ (i.e, a basis of the $Z\!\!\! Z$-module). Then
$$ I_A:=I:(x_1\cdot\ldots\cdot x_n)^\infty $$
where
$$ I=<x^{v_i^+}-x^{v_i^-}|i=1,\ldots,r> $$/;
$l2h_cache{$l2h_cache_key} = q|Let <SPAN CLASS="MATH">190#190</SPAN> denote an <SPAN CLASS="MATH">68#68</SPAN> matrix with integral coefficients. For <!-- MATH
 $u
\in Z\!\!\! Z^n$
 -->
<SPAN CLASS="MATH">737#737</SPAN>, we define <SPAN CLASS="MATH">738#738</SPAN> to be the uniquely determined
vectors with nonnegative coefficients and disjoint support (i.e.,
<SPAN CLASS="MATH">739#739</SPAN> or <SPAN CLASS="MATH">740#740</SPAN> for each component <SPAN CLASS="MATH">57#57</SPAN>) such that
<SPAN CLASS="MATH">741#741</SPAN>. For <SPAN CLASS="MATH">742#742</SPAN> component-wise, let <SPAN CLASS="MATH">743#743</SPAN> denote the monomial
<!-- MATH
 $x_1^{u_1}\cdot\ldots\cdot x_n^{u_n}\in K[x_1,\ldots,x_n]$
 -->
<SPAN CLASS="MATH">744#744</SPAN>.

<P>
The ideal
<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
I_A:=(x^{u^+}-x^{u^-} \| u\in\ker(A)\cap Z\!\!\! Z^n)\ \subset
K[x_1,\ldots,x_n]
\end{displaymath}
 -->

745#745
</DIV>
is called a <B>toric ideal. </B>
<P>
The first problem in computing toric ideals is to find a finite
generating set: Let <!-- MATH
 $v_1,\ldots,v_r$
 -->
<SPAN CLASS="MATH">585#585</SPAN> be a lattice basis of <!-- MATH
 $\ker(A)\cap
Z\!\!\! Z^n$
 -->
<SPAN CLASS="MATH">746#746</SPAN> (i.e, a basis of the <SPAN CLASS="MATH">747#747</SPAN>-module). Then
<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
I_A:=I:(x_1\cdot\ldots\cdot x_n)^\infty
\end{displaymath}
 -->

748#748
</DIV>
where
<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
I=<x^{v_i^+}-x^{v_i^-}\|i=1,\ldots,r>
\end{displaymath}
 -->

749#749
</DIV>
|;

$l2h_cache_key = q/$w(x_i)=w_i$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">341#341</SPAN>|;

$l2h_cache_key = q/$R\/I$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">475#475</SPAN>|;

$l2h_cache_key = q/$u$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">330#330</SPAN>|;

$l2h_cache_key = q/{\sc Singular:Letterplace}/;
$l2h_cache{$l2h_cache_key} = q|S<SMALL>INGULAR:</SMALL>L<SMALL>ETTERPLACE</SMALL>|;

$l2h_cache_key = q/$(n \times n)$-matrix/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">473#473</SPAN>-matrix|;

$l2h_cache_key = q/$\{g_1, \dots , g_s\}$,/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $\{g_1, \dots , g_s\}$
 -->
<SPAN CLASS="MATH">287#287</SPAN>,|;

$l2h_cache_key = q/$C \rightarrow R, \quad$ by taking the real part/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $C \rightarrow R, \quad$
 -->
<SPAN CLASS="MATH">86#86</SPAN> by taking the real part|;

$l2h_cache_key = q/$K^3$./;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">455#455</SPAN>.|;

$l2h_cache_key = q/$A e_1 A \oplus \ldots \oplus A e_r A$,/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $A e_1 A \oplus \ldots \oplus A e_r A$
 -->
<SPAN CLASS="MATH">412#412</SPAN>,|;

$l2h_cache_key = q/     $g\circ h  = g(x\/c -d) \circ c(h(x)+d)$./;
$l2h_cache{$l2h_cache_key} = q|     <!-- MATH
 $g\circ h  = g(x/c -d) \circ c(h(x)+d)$
 -->
<SPAN CLASS="MATH">988#988</SPAN>.|;

$l2h_cache_key = q/$x^w$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">796#796</SPAN>|;

$l2h_cache_key = q/${\tt ws}(w_1, \ldots, w_n),\; w_1$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 ${\tt ws}(w_1, \ldots, w_n),\; w_1$
 -->
<SPAN CLASS="MATH">567#567</SPAN>|;

$l2h_cache_key = q/$x_1> x_2 > $/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">333#333</SPAN>|;

$l2h_cache_key = q/Already Feynman and Rota encoded
the monomials (words) of the free algebra
$x_{i_1} x_{i_2} \dots x_{i_m} \in K\langle x_1,\ldots,x_n \rangle$
via the double-indexed letterplace
(that is encoding the letter (= variable) and its place in the word) monomials
$x(i_1 | 1) x(i_2 | 2) \dots x(i_m | m) \in K[X\times N]$, where $X=\{x_1,\ldots,x_n\}$
and $N$ is the semigroup of natural numbers, starting with 1 as the first possible place.
Note, that the letterplace algebra $K[X \times N]$ is an infinitely generated commutative polynomial $K$-algebra.
Since $K\langle x_1,\ldots,x_n \rangle$ is not Noetherian, it is common to perform the computations with
its ideals and modules up to a given degree bound./;
$l2h_cache{$l2h_cache_key} = q|Already Feynman and Rota encoded
the monomials (words) of the free algebra
<!-- MATH
 $x_{i_1} x_{i_2} \dots x_{i_m} \in K\langle x_1,\ldots,x_n \rangle$
 -->
<SPAN CLASS="MATH">424#424</SPAN>
via the double-indexed letterplace
(that is encoding the letter (= variable) and its place in the word) monomials
<!-- MATH
 $x(i_1 \| 1) x(i_2 \| 2) \dots x(i_m \| m) \in K[X\times N]$
 -->
<SPAN CLASS="MATH">425#425</SPAN>, where <!-- MATH
 $X=\{x_1,\ldots,x_n\}$
 -->
<SPAN CLASS="MATH">426#426</SPAN>
and <SPAN CLASS="MATH">418#418</SPAN> is the semigroup of natural numbers, starting with 1 as the first possible place.
Note, that the letterplace algebra <SPAN CLASS="MATH">427#427</SPAN> is an infinitely generated commutative polynomial <SPAN CLASS="MATH">50#50</SPAN>-algebra.
Since <!-- MATH
 $K\langle x_1,\ldots,x_n \rangle$
 -->
<SPAN CLASS="MATH">428#428</SPAN> is not Noetherian, it is common to perform the computations with
its ideals and modules up to a given degree bound.|;

$l2h_cache_key = q/$\deg(f)$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">995#995</SPAN>|;

$l2h_cache_key = q/$\deg(g), \deg(h)>1$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $\deg(g), \deg(h)>1$
 -->
<SPAN CLASS="MATH">987#987</SPAN>|;

$l2h_cache_key = q/$\hbox{Ext}^1$, $\hbox{Ext}^2$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">460#460</SPAN>, <SPAN CLASS="MATH">461#461</SPAN>|;

$l2h_cache_key = q/$Q \rightarrow  Q(a, \ldots)$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $Q \rightarrow  Q(a, \ldots)$
 -->
<SPAN CLASS="MATH">75#75</SPAN>|;

$l2h_cache_key = q/$M$ in $GL(n,R)$,/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">13#13</SPAN> in <SPAN CLASS="MATH">545#545</SPAN>,|;

$l2h_cache_key = q/    $x^\alpha < x^\beta \Leftrightarrow \deg(x^\alpha) > \deg(x^\beta)$ or/;
$l2h_cache{$l2h_cache_key} = q|    <!-- MATH
 $x^\alpha < x^\beta \Leftrightarrow \deg(x^\alpha) > \deg(x^\beta)$
 -->
<SPAN CLASS="MATH">566#566</SPAN> or|;

$l2h_cache_key = q/$<2x,3y>$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">308#308</SPAN>|;

$l2h_cache_key = q/$Z\/ma$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">31#31</SPAN>|;

$l2h_cache_key = q/$w_2,\ldots,w_n$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $w_2,\ldots,w_n$
 -->
<SPAN CLASS="MATH">568#568</SPAN>|;

$l2h_cache_key = q/{\sc Singular:SCA}/;
$l2h_cache{$l2h_cache_key} = q|S<SMALL>INGULAR:</SMALL>SCA|;

$l2h_cache_key = q/(in $k^n$)/;
$l2h_cache{$l2h_cache_key} = q|(in <SPAN CLASS="MATH">506#506</SPAN>)|;

$l2h_cache_key = q/$\hbox{depth}(\hbox{D}_k(R))\geq m(m+1)\/2 + m-1$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $\hbox{depth}(\hbox{D}_k(R))\geq m(m+1)/2 + m-1$
 -->
<SPAN CLASS="MATH">474#474</SPAN>|;

$l2h_cache_key = q/If the principal part of $f$ is $C$-nondegenerate, one can compute the spectrum using the library {\tt spectrum.lib}.
In this case, the V-filtration on $H''$ coincides with the Newton-filtration on $H''$ which allows to compute the spectrum more efficiently./;
$l2h_cache{$l2h_cache_key} = q|If the principal part of <SPAN CLASS="MATH">265#265</SPAN> is <SPAN CLASS="MATH">78#78</SPAN>-nondegenerate, one can compute the spectrum using the library <SPAN style="font-family:monospace">spectrum.lib</SPAN>.
In this case, the V-filtration on <SPAN CLASS="MATH">726#726</SPAN> coincides with the Newton-filtration on <SPAN CLASS="MATH">726#726</SPAN> which allows to compute the spectrum more efficiently.|;

$l2h_cache_key = q/Let $<$ be a fixed monomial well-ordering on the $G$-algebra $A$ with the Poincar@'e-Birkhoff-Witt (PBW) basis
$\{x^{\alpha} = x^{a_1}_1 x^{a_2}_2 \dots x^{a_n}_n\}$.
For a given free module $A^r$ with the basis $\{e_1,\ldots, e_r\}$, $<$ denotes also a
fixed module ordering on the set of monomials $\{x^{\alpha} e_i \mid \alpha\in {\bf N}^n, 1\leq i\leq r \}$./;
$l2h_cache{$l2h_cache_key} = q|Let <SPAN CLASS="MATH">226#226</SPAN> be a fixed monomial well-ordering on the <SPAN CLASS="MATH">189#189</SPAN>-algebra <SPAN CLASS="MATH">190#190</SPAN> with the Poincar@'e-Birkhoff-Witt (PBW) basis
<!-- MATH
 $\{x^{\alpha} = x^{a_1}_1 x^{a_2}_2 \dots x^{a_n}_n\}$
 -->
<SPAN CLASS="MATH">242#242</SPAN>.
For a given free module <SPAN CLASS="MATH">240#240</SPAN> with the basis <!-- MATH
 $\{e_1,\ldots, e_r\}$
 -->
<SPAN CLASS="MATH">243#243</SPAN>, <SPAN CLASS="MATH">226#226</SPAN> denotes also a
fixed module ordering on the set of monomials <!-- MATH
 $\{x^{\alpha} e_i \mid \alpha\in {\bf N}^n, 1\leq i\leq r \}$
 -->
<SPAN CLASS="MATH">244#244</SPAN>.|;

$l2h_cache_key = q/$$
\hbox{\tt modulo}(A,B)=\hbox{ker}(R^r
\buildrel{A}\over{\longrightarrow}R^m\/\hbox{Im}(B)) \; .
$$/;
$l2h_cache{$l2h_cache_key} = q|<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
\hbox{\tt modulo}(A,B)=\hbox{ker}(R^r
\buildrel{A}\over{\longrightarrow}R^m/\hbox{Im}(B)) \; .
\end{displaymath}
 -->

480#480
</DIV>
|;

$l2h_cache_key = q/$T_n$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">1007#1007</SPAN>|;

$l2h_cache_key = q/$M = r^3\/U$,/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">12#12</SPAN>,|;

$l2h_cache_key = q/$Z\/p \rightarrow Z\/p^\prime,
\quad
[i]_p \mapsto i \in [-p\/2, \, p\/2] \subseteq Z, \;
i \mapsto [i]_{p^\prime} \in Z\/p^\prime$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $Z/p \rightarrow Z/p^\prime,
\quad
[i]_p \mapsto i \in [-p/2, \, p/2] \subseteq Z, \;
i \mapsto [i]_{p^\prime} \in Z/p^\prime$
 -->
<SPAN CLASS="MATH">85#85</SPAN>|;

$l2h_cache_key = q/$L(g_i)$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">144#144</SPAN>|;

$l2h_cache_key = q/$x^3+y^3+z^3$./;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">734#734</SPAN>.|;

$l2h_cache_key = q/$R=Z$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">432#432</SPAN>|;

$l2h_cache_key = q/$(n \times n)$-matrix./;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">473#473</SPAN>-matrix.|;

$l2h_cache_key = q/The entry d of the intmat at place (i,j) is the minimal number of
generators in degree i+j of the j-th syzygy module (= module of
relations) of $R^n\/M$, i.e. the 0th (resp.\ 1st) syzygy module of $R^n\/M$ is
$R^n$ (resp.\ $M$)./;
$l2h_cache{$l2h_cache_key} = q|The entry d of the intmat at place (i,j) is the minimal number of
generators in degree i+j of the j-th syzygy module (= module of
relations) of <SPAN CLASS="MATH">92#92</SPAN>, i.e. the 0th (resp. 1st) syzygy module of <SPAN CLASS="MATH">92#92</SPAN> is
<SPAN CLASS="MATH">90#90</SPAN> (resp. <SPAN CLASS="MATH">13#13</SPAN>).|;

$l2h_cache_key = q/$h_1$ and $h_2$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">155#155</SPAN> and <SPAN CLASS="MATH">156#156</SPAN>|;

$l2h_cache_key = q/The singularities of type $\tilde{E}_6$ form a
$\mu$-constant one parameter family given by
$x^3+y^3+z^3+\lambda xyz=0,\quad \lambda^3\neq-27$./;
$l2h_cache{$l2h_cache_key} = q|The singularities of type <SPAN CLASS="MATH">727#727</SPAN> form a
<SPAN CLASS="MATH">703#703</SPAN>-constant one parameter family given by
<!-- MATH
 $x^3+y^3+z^3+\lambda xyz=0,\quad \lambda^3\neq-27$
 -->
<SPAN CLASS="MATH">733#733</SPAN>.|;

$l2h_cache_key = q/$Z[x,y]\/<2x,3y,xy>$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $Z[x,y]/<2x,3y,xy>$
 -->
<SPAN CLASS="MATH">312#312</SPAN>|;

$l2h_cache_key = q/$coker(A_1)=F_0\/M$
$$...\longrightarrow F_2 \buildrel{A_2}\over{\longrightarrow} F_1 \buildrel{A_1}\over{\longrightarrow} F_0\longrightarrow F_0\/M\longrightarrow 0.$$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $coker(A_1)=F_0/M$
 -->
<SPAN CLASS="MATH">169#169</SPAN>
<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
...\longrightarrow F_2 \buildrel{A_2}\over{\longrightarrow} F_1 \buildrel{A_1}\over{\longrightarrow} F_0\longrightarrow F_0/M\longrightarrow 0.
\end{displaymath}
 -->

180#180
</DIV>
|;

$l2h_cache_key = q/$Q$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">3#3</SPAN>|;

$l2h_cache_key = q/$i+i+i$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">69#69</SPAN>|;

$l2h_cache_key = q/Note, that the syzygy modules of $I$ depend on a choice of generators $g_1, ..., g_s$.
But one can show that they depend on $I$ uniquely up to direct summands./;
$l2h_cache{$l2h_cache_key} = q|Note, that the syzygy modules of <SPAN CLASS="MATH">251#251</SPAN> depend on a choice of generators <SPAN CLASS="MATH">661#661</SPAN>.
But one can show that they depend on <SPAN CLASS="MATH">251#251</SPAN> uniquely up to direct summands.|;

$l2h_cache_key = q/$R$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">53#53</SPAN>|;

$l2h_cache_key = q/$Z<x,y>\/<2x,3y,yx-xy,xy>$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $Z<x,y>/<2x,3y,yx-xy,xy>$
 -->
<SPAN CLASS="MATH">311#311</SPAN>|;

$l2h_cache_key = q/  choose $s$, such that $q^s\ge n$, and construct $s$ distinct points $P_1,\dots,P_s$ in $F_q^s$./;
$l2h_cache{$l2h_cache_key} = q|  choose <SPAN CLASS="MATH">177#177</SPAN>, such that <SPAN CLASS="MATH">919#919</SPAN>, and construct <SPAN CLASS="MATH">177#177</SPAN> distinct points <SPAN CLASS="MATH">920#920</SPAN> in <SPAN CLASS="MATH">921#921</SPAN>.|;

$l2h_cache_key = q/$3 \times 3$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">1#1</SPAN>|;

$l2h_cache_key = q/$ 2*genus-2 < deg(G) < size(D) $/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $2*genus-2 < deg(G) < size(D)$
 -->
<SPAN CLASS="MATH">1061#1061</SPAN>|;

$l2h_cache_key = q/$
\bigoplus_{j=1}^m A \epsilon_j A \longrightarrow \bigoplus_{i=1}^r A e_i A,
\;
\epsilon_j  \mapsto g_j,
$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $\bigoplus_{j=1}^m A \epsilon_j A \longrightarrow \bigoplus_{i=1}^r A e_i A,
\;
\epsilon_j  \mapsto g_j,$
 -->
<SPAN CLASS="MATH">416#416</SPAN>|;

$l2h_cache_key = q/${3 \over 7}, {4 \over 7}, {5 \over 7}, {6 \over 7}, {1 \over 1},
{8 \over 7}, {9 \over 7}, {10 \over 7}, {11 \over 7}, {12 \over 7},
{13 \over 7}, {2 \over 1}, {15 \over 7}, {16 \over 7}, {17 \over 7},
{18 \over 7}$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 ${3 \over 7}, {4 \over 7}, {5 \over 7}, {6 \over 7}, {1 \over 1},
{8 \over 7}, {9 \over 7}, {10 \over 7}, {11 \over 7}, {12 \over 7},
{13 \over 7}, {2 \over 1}, {15 \over 7}, {16 \over 7}, {17 \over 7},
{18 \over 7}$
 -->
<SPAN CLASS="MATH">732#732</SPAN>|;

$l2h_cache_key = q/$x_3 x_1$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">360#360</SPAN>|;

$l2h_cache_key = q/$R(j)[x,y,z]$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">54#54</SPAN>|;

$l2h_cache_key = q/$v_1, \ldots, v_k$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $v_1, \ldots, v_k$
 -->
<SPAN CLASS="MATH">91#91</SPAN>|;

$l2h_cache_key = q/variable $u$ and one supplementary generator $x_1\cdot\ldots\cdot x_n -
u$ (instead of the generator $t\cdot x_1\cdot\ldots\cdot x_n -1$ in
the algorithm of Pottier). The algorithm uses a quite unusual technique to
get rid of the variable $u$ again./;
$l2h_cache{$l2h_cache_key} = q|variable <SPAN CLASS="MATH">330#330</SPAN> and one supplementary generator <!-- MATH
 $x_1\cdot\ldots\cdot x_n -
u$
 -->
<SPAN CLASS="MATH">786#786</SPAN> (instead of the generator <!-- MATH
 $t\cdot x_1\cdot\ldots\cdot x_n -1$
 -->
<SPAN CLASS="MATH">765#765</SPAN> in
the algorithm of Pottier). The algorithm uses a quite unusual technique to
get rid of the variable <SPAN CLASS="MATH">330#330</SPAN> again.|;

$l2h_cache_key = q/$V$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">322#322</SPAN>|;

$l2h_cache_key = q/computes the permutation {\tt v}
which orders the ideal, resp.\ module, {\tt I} by its initial terms,
starting with the smallest, that is, {\tt I(v[i]) < I(v[i+1])} for all
{\tt i}./;
$l2h_cache{$l2h_cache_key} = q|computes the permutation <SPAN style="font-family:monospace">v</SPAN>
which orders the ideal, resp. module, <SPAN style="font-family:monospace">I</SPAN> by its initial terms,
starting with the smallest, that is, <SPAN style="font-family:monospace">I(v[i]) &lt; I(v[i+1])</SPAN> for all
<SPAN style="font-family:monospace">i</SPAN>.|;

$l2h_cache_key = q/$Q<x,y,z>\/J$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">319#319</SPAN>|;

$l2h_cache_key = q/$\tilde{E}_6$./;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">727#727</SPAN>.|;

$l2h_cache_key = q/For all these orderings, we have Loc $K[x]$ = $K[x]$/;
$l2h_cache{$l2h_cache_key} = q|For all these orderings, we have Loc <SPAN CLASS="MATH">549#549</SPAN> = <SPAN CLASS="MATH">549#549</SPAN>|;

$l2h_cache_key = q/$w_1$, $\ldots$, $w_n$ of $x_1$, $\ldots$, $x_n$./;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">538#538</SPAN>, <SPAN CLASS="MATH">539#539</SPAN>, <SPAN CLASS="MATH">540#540</SPAN> of <SPAN CLASS="MATH">302#302</SPAN>, <SPAN CLASS="MATH">539#539</SPAN>, <SPAN CLASS="MATH">303#303</SPAN>.|;

$l2h_cache_key = q/  $f_u := \sum_{l=1}^e Y_lZ_l^{i_u}-X_u=0, 1\le u\le n-k$;/;
$l2h_cache{$l2h_cache_key} = q|  <!-- MATH
 $f_u := \sum_{l=1}^e Y_lZ_l^{i_u}-X_u=0, 1\le u\le n-k$
 -->
<SPAN CLASS="MATH">846#846</SPAN>;|;

$l2h_cache_key = q/$(x_1,\ldots,x_n)$./;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $(x_1,\ldots,x_n)$
 -->
<SPAN CLASS="MATH">495#495</SPAN>.|;

$l2h_cache_key = q/For weight $v:\langle X\rangle\rightarrow N_0$ determined by $v(x_i)=v_i\in N_0$ with $1\leq i\leq n$ and monomial ordering $\prec$ on $\langle X\rangle$, the $v$\emph{-weight extension} of $\prec$ corresponds to \texttt{(a(v), o)}. As a choice for $\prec$ there are currently two options implemented, which are \texttt{dp} and \texttt{Dp}. Notice that this ordering eliminates $\{x_i\in X\mid v(x_i)\not=0\}$./;
$l2h_cache{$l2h_cache_key} = q|For weight <!-- MATH
 $v:\langle X\rangle\rightarrow N_0$
 -->
<SPAN CLASS="MATH">391#391</SPAN> determined by <!-- MATH
 $v(x_i)=v_i\in N_0$
 -->
<SPAN CLASS="MATH">392#392</SPAN> with <SPAN CLASS="MATH">393#393</SPAN> and monomial ordering <SPAN CLASS="MATH">394#394</SPAN> on <!-- MATH
 $\langle X\rangle$
 -->
<SPAN CLASS="MATH">375#375</SPAN>, the <SPAN CLASS="MATH">331#331</SPAN><SPAN  CLASS="textit">-weight extension</SPAN> of <SPAN CLASS="MATH">394#394</SPAN> corresponds to <SPAN  CLASS="texttt">(a(v), o)</SPAN>. As a choice for <SPAN CLASS="MATH">394#394</SPAN> there are currently two options implemented, which are <SPAN  CLASS="texttt">dp</SPAN> and <SPAN  CLASS="texttt">Dp</SPAN>. Notice that this ordering eliminates <!-- MATH
 $\{x_i\in X\mid v(x_i)\not=0\}$
 -->
<SPAN CLASS="MATH">395#395</SPAN>.|;

$l2h_cache_key = q/$g \in K [f_1,\ldots,f_r]$./;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $g \in K [f_1,\ldots,f_r]$
 -->
<SPAN CLASS="MATH">486#486</SPAN>.|;

$l2h_cache_key = q/$m\in Z$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">29#29</SPAN>|;

$l2h_cache_key = q/$(m+1)$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">472#472</SPAN>|;

$l2h_cache_key = q/  In this way we obtain that the code $C$ is the image of the evaluation above, thus $C=C(I,L)$. In the
  same way by considering a parity check matrix instead of a generator matrix we have that the dual code is also an affine variety code.

  The method of decoding is a generalization of CRHT. One needs to add polynomials
  $(g_l(X_{k1},\dots,X_{ks}))_{l=1,\dots,m; k=1,\dots,t}$ for every error position. We also assume that field equations on $X_{ij}$'s are included
  among the polynomials above. Let $C$ be a $q$-ary $[n,k]$ linear code such that its
  dual is written as an affine variety code of the form $C^{\bot}=C(I,L)$.
  Let ${\bf r}={\bf c}+{\bf e}$ as usual and $t\le e$. Then the syndromes are computed by $s_i=\sum_{j=1}^nr_jf_i(P_j)=\sum_{j=1}^ne_jf_i(P_j)
  \hbox{ for } i=1,\dots,n-k$./;
$l2h_cache{$l2h_cache_key} = q|  In this way we obtain that the code <SPAN CLASS="MATH">78#78</SPAN> is the image of the evaluation above, thus <SPAN CLASS="MATH">928#928</SPAN>. In the
  same way by considering a parity check matrix instead of a generator matrix we have that the dual code is also an affine variety code.

<P>
The method of decoding is a generalization of CRHT. One needs to add polynomials
  <!-- MATH
 $(g_l(X_{k1},\dots,X_{ks}))_{l=1,\dots,m; k=1,\dots,t}$
 -->
<SPAN CLASS="MATH">929#929</SPAN> for every error position. We also assume that field equations on <SPAN CLASS="MATH">930#930</SPAN>'s are included
  among the polynomials above. Let <SPAN CLASS="MATH">78#78</SPAN> be a <SPAN CLASS="MATH">798#798</SPAN>-ary <SPAN CLASS="MATH">830#830</SPAN> linear code such that its
  dual is written as an affine variety code of the form <!-- MATH
 $C^{\bot}=C(I,L)$
 -->
<SPAN CLASS="MATH">931#931</SPAN>.
  Let <!-- MATH
 ${\bf r}={\bf c}+{\bf e}$
 -->
<SPAN CLASS="MATH">832#832</SPAN> as usual and <SPAN CLASS="MATH">867#867</SPAN>. Then the syndromes are computed by <!-- MATH
 $s_i=\sum_{j=1}^nr_jf_i(P_j)=\sum_{j=1}^ne_jf_i(P_j)
  \hbox{ for } i=1,\dots,n-k$
 -->
<SPAN CLASS="MATH">932#932</SPAN>.|;

$l2h_cache_key = q/$M$./;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">13#13</SPAN>.|;

$l2h_cache_key = q/(in $(k^n,0)$),/;
$l2h_cache{$l2h_cache_key} = q|(in <SPAN CLASS="MATH">507#507</SPAN>),|;

$l2h_cache_key = q/D$_k$(R)/;
$l2h_cache{$l2h_cache_key} = q|D<SPAN CLASS="MATH">471#471</SPAN>(R)|;

$l2h_cache_key = q/$1 \times 1$-minors,/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">9#9</SPAN>-minors,|;

$l2h_cache_key = q/$b$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">46#46</SPAN>|;

$l2h_cache_key = q/$$K\left\langle x_1, \ldots, x_n; y_1, \ldots, y_m \mid y_j * y_i = - y_i y_j, i<j \right\rangle \/ \left\langle y_1^2, \ldots, y_m^2  \right\rangle.$$/;
$l2h_cache{$l2h_cache_key} = q|<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
K\left\langle x_1, \ldots, x_n; y_1, \ldots, y_m \mid y_j * y_i = - y_i y_j, i<j \right\rangle / \left\langle y_1^2, \ldots, y_m^2  \right\rangle.
\end{displaymath}
 -->

296#296
</DIV>
|;

$l2h_cache_key = q/For a subset $G \subset K\langle x_1,\dots,x_n \rangle$,
define the \textbf{leading ideal} of $G$ to be the two-sided ideal
$LM(G) \; = \; {}_{T} \langle$ $\; \{lm(g) \;|\; g \in G\setminus\{0\} \}$ $\; \rangle_{T} \subseteq T$.


A subset $G \subset I$ is a \textbf{(two-sided) Groebner basis} for the ideal $I$ with respect to $<$, if $LM(G) = LM(I)$.

That is $\forall f\in I\setminus\{0\}$ there exists $g\in G$, such that
$lm(g)$ divides $lm(f)$./;
$l2h_cache{$l2h_cache_key} = q|For a subset <!-- MATH
 $G \subset K\langle x_1,\dots,x_n \rangle$
 -->
<SPAN CLASS="MATH">401#401</SPAN>,
define the <SPAN  CLASS="textbf">leading ideal</SPAN> of <SPAN CLASS="MATH">189#189</SPAN> to be the two-sided ideal
<!-- MATH
 $LM(G) \; = \; {}_{T} \langle$
 -->
<SPAN CLASS="MATH">402#402</SPAN> <!-- MATH
 $\; \{lm(g) \;\|\; g \in G\setminus\{0\} \}$
 -->
<SPAN CLASS="MATH">403#403</SPAN> <!-- MATH
 $\; \rangle_{T} \subseteq T$
 -->
<SPAN CLASS="MATH">404#404</SPAN>.

<P>
A subset <SPAN CLASS="MATH">250#250</SPAN> is a <SPAN  CLASS="textbf">(two-sided) Groebner basis</SPAN> for the ideal <SPAN CLASS="MATH">251#251</SPAN> with respect to <SPAN CLASS="MATH">226#226</SPAN>, if <SPAN CLASS="MATH">405#405</SPAN>.

<P>
That is <!-- MATH
 $\forall f\in I\setminus\{0\}$
 -->
<SPAN CLASS="MATH">406#406</SPAN> there exists <SPAN CLASS="MATH">254#254</SPAN>, such that
<SPAN CLASS="MATH">407#407</SPAN> divides <SPAN CLASS="MATH">408#408</SPAN>.|;

$l2h_cache_key = q/$1 <= m$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">332#332</SPAN>|;

$l2h_cache_key = q/For a standard basis $G$ of $I$ the following holds:
$f \in I$ if and only if $\hbox{NF}(f,G) = 0$./;
$l2h_cache{$l2h_cache_key} = q|For a standard basis <SPAN CLASS="MATH">189#189</SPAN> of <SPAN CLASS="MATH">251#251</SPAN> the following holds:
<SPAN CLASS="MATH">274#274</SPAN> if and only if <!-- MATH
 $\hbox{NF}(f,G) = 0$
 -->
<SPAN CLASS="MATH">634#634</SPAN>.|;

$l2h_cache_key = q/  Adding some more polynomials to $F_C$, thus obtaining some $F'_C$, it is possible to prove the following {\bf Theorem}:/;
$l2h_cache{$l2h_cache_key} = q|  Adding some more polynomials to <SPAN CLASS="MATH">858#858</SPAN>, thus obtaining some <SPAN CLASS="MATH">860#860</SPAN>, it is possible to prove the following <B>Theorem</B>:|;

$l2h_cache_key = q/  Consider the ring $F_q[X_{11},\dots,X_{1s},\ldots,X_{t1},\dots,X_{ts},E_1,\dots,E_t]$, where $(X_{i1},\dots,X_{is})$ correspond to
  the $i$-th error position and $E_i$ to the $i$-th error value. Consider the ideal $Id_C$ generated by
  $$
  \sum_{j=1}^tE_jf_i(X_{j1},\dots,X_{js})-s_i, 1\le i\le n-k,
  $$
  $$
  g_l(X_{j1},\dots,X_{js}), 1\le l\le m,
  $$
  $$
  E_k^{q-1}-1.
  $$/;
$l2h_cache{$l2h_cache_key} = q|  Consider the ring <!-- MATH
 $F_q[X_{11},\dots,X_{1s},\ldots,X_{t1},\dots,X_{ts},E_1,\dots,E_t]$
 -->
<SPAN CLASS="MATH">933#933</SPAN>, where <!-- MATH
 $(X_{i1},\dots,X_{is})$
 -->
<SPAN CLASS="MATH">934#934</SPAN> correspond to
  the <SPAN CLASS="MATH">57#57</SPAN>-th error position and <SPAN CLASS="MATH">935#935</SPAN> to the <SPAN CLASS="MATH">57#57</SPAN>-th error value. Consider the ideal <SPAN CLASS="MATH">936#936</SPAN> generated by
  <DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
\sum_{j=1}^tE_jf_i(X_{j1},\dots,X_{js})-s_i, 1\le i\le n-k,
\end{displaymath}
 -->

937#937
</DIV>

  <DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
g_l(X_{j1},\dots,X_{js}), 1\le l\le m,
\end{displaymath}
 -->

938#938
</DIV>

  <DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
E_k^{q-1}-1.
\end{displaymath}
 -->

939#939
</DIV>
|;

$l2h_cache_key = q/$J$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">276#276</SPAN>|;

$l2h_cache_key = q/$\sum x_i \partial \/\partial x_{i+1}$./;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $\sum x_i \partial /\partial x_{i+1}$
 -->
<SPAN CLASS="MATH">519#519</SPAN>.|;

$l2h_cache_key = q/$x_i>1$ then $x_i$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">127#127</SPAN> then <SPAN CLASS="MATH">126#126</SPAN>|;

$l2h_cache_key = q/$i$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">57#57</SPAN>|;

$l2h_cache_key = q/$[f_1,...,f_n]$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">522#522</SPAN>|;

$l2h_cache_key = q/$f=g_1\circ \dots \circ g_m\circ h$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $f=g_1\circ \dots \circ g_m\circ h$
 -->
<SPAN CLASS="MATH">994#994</SPAN>|;

$l2h_cache_key = q/$x_1 x_1 x_1 > x_1 x_2 x_3 > x_3 x_2 x_1 > x_1 x_3 > x_3 x_1 > x_1 > x_3 x_3 x_3 > x_2 x_2 > x_2 x_3 > x_2 > x_3$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $x_1 x_1 x_1 > x_1 x_2 x_3 > x_3 x_2 x_1 > x_1 x_3 > x_3 x_1 > x_1 > x_3 x_3 x_3 > x_2 x_2 > x_2 x_3 > x_2 > x_3$
 -->
<SPAN CLASS="MATH">396#396</SPAN>|;

$l2h_cache_key = q/A Groebner basis $G\subset A^r$ is called {\bf minimal} (or {\bf reduced}) if $0\notin G$ and if
$\hbox{LM}(g)\notin L(G\setminus \{ g \})$ for all $g\in G$.
Note, that any Groebner basis can be made minimal by deleting successively those
$g$ with $\hbox{LM}(h)\mid \hbox{LM}(g)$ for some $h\in G\setminus\{g \}$.

For $f\in A^r $ and $ G\subset A^r $ we say that $f$ is {\bf completely reduced with
respect to $G$} if no monomial of $f$ is contained in $L(G)$./;
$l2h_cache{$l2h_cache_key} = q|A Groebner basis <SPAN CLASS="MATH">259#259</SPAN> is called <B>minimal</B> (or <B>reduced</B>) if <SPAN CLASS="MATH">260#260</SPAN> and if
<!-- MATH
 $\hbox{LM}(g)\notin L(G\setminus \{ g \})$
 -->
<SPAN CLASS="MATH">261#261</SPAN> for all <SPAN CLASS="MATH">254#254</SPAN>.
Note, that any Groebner basis can be made minimal by deleting successively those
<SPAN CLASS="MATH">149#149</SPAN> with <!-- MATH
 $\hbox{LM}(h)\mid \hbox{LM}(g)$
 -->
<SPAN CLASS="MATH">262#262</SPAN> for some <!-- MATH
 $h\in G\setminus\{g \}$
 -->
<SPAN CLASS="MATH">263#263</SPAN>.

<P>
For <SPAN CLASS="MATH">264#264</SPAN> and <SPAN CLASS="MATH">259#259</SPAN> we say that <SPAN CLASS="MATH">265#265</SPAN> is <B>completely reduced with
respect to <SPAN CLASS="MATH">189#189</SPAN></B> if no monomial of <SPAN CLASS="MATH">265#265</SPAN> is contained in <SPAN CLASS="MATH">266#266</SPAN>.|;

$l2h_cache_key = q/$Z\/p \rightarrow Q, \quad [i]_p \mapsto i \in [-p\/2, \, p\/2] \subseteq Z$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $Z/p \rightarrow Q, \quad [i]_p \mapsto i \in [-p/2, \, p/2] \subseteq Z$
 -->
<SPAN CLASS="MATH">84#84</SPAN>|;

$l2h_cache_key = q/For a $G$-algebra $A$, generated by $n$/;
$l2h_cache{$l2h_cache_key} = q|For a <SPAN CLASS="MATH">189#189</SPAN>-algebra <SPAN CLASS="MATH">190#190</SPAN>, generated by <SPAN CLASS="MATH">17#17</SPAN>|;

$l2h_cache_key = q/  $\lambda_i:=Y_i^{q-1}-1=0, 1\le i\le e$, since $y_l\in F_q \setminus\{0\}$./;
$l2h_cache{$l2h_cache_key} = q|  <!-- MATH
 $\lambda_i:=Y_i^{q-1}-1=0, 1\le i\le e$
 -->
<SPAN CLASS="MATH">851#851</SPAN>, since <!-- MATH
 $y_l\in F_q \setminus\{0\}$
 -->
<SPAN CLASS="MATH">852#852</SPAN>.|;

$l2h_cache_key = q/$C = K \langle x_1, \ldots ,x_n, y_1, \ldots ,y_m \mid$
$\{ x_j x_i=c_{ij} \cdot x_i x_j + d_{ij}, 1 \leq i <j \leq n\}$,
$\{ y_j y_i=q_{ij} \cdot y_i y_j + r_{ij}, 1 \leq i <j \leq m\}$,
$\{ y_j x_i = x_i y_j, 1 \leq j \leq m, 1 \leq i \leq n\}  \rangle$./;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $C = K \langle x_1, \ldots ,x_n, y_1, \ldots ,y_m \mid$
 -->
<SPAN CLASS="MATH">200#200</SPAN>
<!-- MATH
 $\{ x_j x_i=c_{ij} \cdot x_i x_j + d_{ij}, 1 \leq i <j \leq n\}$
 -->
<SPAN CLASS="MATH">201#201</SPAN>,
<!-- MATH
 $\{ y_j y_i=q_{ij} \cdot y_i y_j + r_{ij}, 1 \leq i <j \leq m\}$
 -->
<SPAN CLASS="MATH">202#202</SPAN>,
<!-- MATH
 $\{ y_j x_i = x_i y_j, 1 \leq j \leq m, 1 \leq i \leq n\}  \rangle$
 -->
<SPAN CLASS="MATH">203#203</SPAN>.|;

$l2h_cache_key = q/$(h1+h2)\/h1=h2\/(h1 \cap h2)$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $(h1+h2)/h1=h2/(h1 \cap h2)$
 -->
<SPAN CLASS="MATH">94#94</SPAN>|;

$l2h_cache_key = q/$Z\/p^n$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">67#67</SPAN>|;

$l2h_cache_key = q/$g \in K[f_1,\ldots,f_r]$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $g \in K[f_1,\ldots,f_r]$
 -->
<SPAN CLASS="MATH">486#486</SPAN>|;

$l2h_cache_key = q/$m\times r$ and $m\times s$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">476#476</SPAN> and <SPAN CLASS="MATH">477#477</SPAN>|;

$l2h_cache_key = q/$M_i={\tt module}(A_i)$, $i= 1 \ldots k$./;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $M_i={\tt module}(A_i)$
 -->
<SPAN CLASS="MATH">135#135</SPAN>, <SPAN CLASS="MATH">207#207</SPAN>.|;

$l2h_cache_key = q/there is a monomial well-ordering $<$ on $K[x_1,x_2,\ldots,x_n]$ such that
                        $\forall i<j \;\; \hbox{LM}(d_{ij})< x_i x_j$,/;
$l2h_cache{$l2h_cache_key} = q|there is a monomial well-ordering <SPAN CLASS="MATH">226#226</SPAN> on <!-- MATH
 $K[x_1,x_2,\ldots,x_n]$
 -->
<SPAN CLASS="MATH">227#227</SPAN> such that
                        <!-- MATH
 $\forall i<j \;\; \hbox{LM}(d_{ij})< x_i x_j$
 -->
<SPAN CLASS="MATH">228#228</SPAN>,|;

$l2h_cache_key = q/Let M $=\bigoplus_{i\in Z} M_i$ be a graded module over $K[x_1,..,x_n]$ with
respect to weights $(w_1,..w_n)$.
The {\bf Hilbert function} of $M$, $H_M$, is defined (on the integers) by
$$H_M(k) :=dim_K M_k.$$
The {\bf Hilbert-Poincare series}  of $M$ is the power series
$$\hbox{HP}_M(t) :=\sum_{i=-\infty}^\infty
H_M(i)t^i=\sum_{i=-\infty}^\infty dim_K M_i \cdot t^i.$$
It turns out that $\hbox{HP}_M(t)$ can be written in two useful ways
for weights $(1,..,1)$:
$$\hbox{HP}_M(t)={Q(t)\over (1-t)^n}={P(t)\over (1-t)^{dim(M)}}$$
where $Q(t)$ and $P(t)$ are polynomials in ${\bf Z}[t]$.
$Q(t)$ is called the {\bf first Hilbert series},
and $P(t)$ the {\bf second Hilbert series}.
If \hbox{$P(t)=\sum_{k=0}^N a_k t^k$}, and \hbox{$d = dim(M)$},
then \hbox{$H_M(s)=\sum_{k=0}^N a_k$ ${d+s-k-1}\choose{d-1}$}
(the {\bf Hilbert polynomial}) for $s \ge N$./;
$l2h_cache{$l2h_cache_key} = q|Let M <!-- MATH
 $=\bigoplus_{i\in Z} M_i$
 -->
<SPAN CLASS="MATH">639#639</SPAN> be a graded module over <SPAN CLASS="MATH">640#640</SPAN> with
respect to weights <SPAN CLASS="MATH">641#641</SPAN>.
The <B>Hilbert function</B> of <SPAN CLASS="MATH">13#13</SPAN>, <SPAN CLASS="MATH">642#642</SPAN>, is defined (on the integers) by
<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
H_M(k) :=dim_K M_k.
\end{displaymath}
 -->

643#643
</DIV>
The <B>Hilbert-Poincare series</B>  of <SPAN CLASS="MATH">13#13</SPAN> is the power series
<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
\hbox{HP}_M(t) :=\sum_{i=-\infty}^\infty
H_M(i)t^i=\sum_{i=-\infty}^\infty dim_K M_i \cdot t^i.
\end{displaymath}
 -->

644#644
</DIV>
It turns out that <!-- MATH
 $\hbox{HP}_M(t)$
 -->
<SPAN CLASS="MATH">645#645</SPAN> can be written in two useful ways
for weights <SPAN CLASS="MATH">646#646</SPAN>:
<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
\hbox{HP}_M(t)={Q(t)\over (1-t)^n}={P(t)\over (1-t)^{dim(M)}}
\end{displaymath}
 -->

647#647
</DIV>
where <SPAN CLASS="MATH">648#648</SPAN> and <SPAN CLASS="MATH">649#649</SPAN> are polynomials in <SPAN CLASS="MATH">650#650</SPAN>.
<SPAN CLASS="MATH">648#648</SPAN> is called the <B>first Hilbert series</B>,
and <SPAN CLASS="MATH">649#649</SPAN> the <B>second Hilbert series</B>.
If <!-- MATH
 $P(t)=\sum_{k=0}^N a_k t^k$
 -->
<SPAN CLASS="MATH">651#651</SPAN>, and <SPAN CLASS="MATH">652#652</SPAN>,
then <!-- MATH
 $H_M(s)=\sum_{k=0}^N a_k$
 -->
<SPAN CLASS="MATH">653#653</SPAN> <!-- MATH
 ${d+s-k-1}\choose{d-1}$
 -->
<SPAN CLASS="MATH">654#654</SPAN>
(the <B>Hilbert polynomial</B>) for <SPAN CLASS="MATH">655#655</SPAN>.|;

$l2h_cache_key = q/$M \cdot S \not=0$)./;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $M \cdot S \not=0$
 -->
<SPAN CLASS="MATH">286#286</SPAN>).|;

$l2h_cache_key = q/$epsilon:=[(deg(G)-3*genus+1)\/2]$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $epsilon:=[(deg(G)-3*genus+1)/2]$
 -->
<SPAN CLASS="MATH">1064#1064</SPAN>|;

$l2h_cache_key = q/  Let $C$ be an $F_q$-linear code with parameters $[n,k,d]$. W.l.o.g $n\le q$. $H$ is a check matrix of $C$.
  Let ${\bf h}_1,\dots,{\bf h}_{n-k}$ be the rows of $H$.
  One can express ${\bf h}_i = \sum _{j=1}^n a_{ij}{\bf b}_j$ with some $a_{ij}\in F_q$.
  In other words $H=AB$ where $A$ is the $(n-k) \times n$ matrix with entries $a_{ij}$.

  Let ${\bf r}={\bf c}+{\bf e}$ be a received word with ${\bf c}\in C$ and ${\bf e}$ an error vector.
  The syndromes of ${\bf r}$ and ${\bf e}$ w.r.t $H$ are equal and known:
  $$
    s_i({\bf r}):={\bf h}_i \cdot {\bf r}={\bf h}_i\cdot {\bf e}=s_i({\bf e}).
  $$
  They can be expressed in the unknown syndromes of ${\bf e}$ w.r.t $B$:
  $$
    s_i({\bf r})=s_i({\bf e}) =\sum _{j=1}^n a_{ij}u_j({\bf e})
  $$
  since ${\bf h}_i = \sum _{j=1}^n a_{ij}{\bf b}_j$ and ${\bf b}_j \cdot {\bf e}=u_j({\bf e})$./;
$l2h_cache{$l2h_cache_key} = q|  Let <SPAN CLASS="MATH">78#78</SPAN> be an <SPAN CLASS="MATH">797#797</SPAN>-linear code with parameters <SPAN CLASS="MATH">803#803</SPAN>. W.l.o.g <SPAN CLASS="MATH">957#957</SPAN>. <SPAN CLASS="MATH">804#804</SPAN> is a check matrix of <SPAN CLASS="MATH">78#78</SPAN>.
  Let <!-- MATH
 ${\bf h}_1,\dots,{\bf h}_{n-k}$
 -->
<SPAN CLASS="MATH">958#958</SPAN> be the rows of <SPAN CLASS="MATH">804#804</SPAN>.
  One can express <!-- MATH
 ${\bf h}_i = \sum _{j=1}^n a_{ij}{\bf b}_j$
 -->
<SPAN CLASS="MATH">959#959</SPAN> with some <SPAN CLASS="MATH">960#960</SPAN>.
  In other words <SPAN CLASS="MATH">961#961</SPAN> where <SPAN CLASS="MATH">190#190</SPAN> is the <!-- MATH
 $(n-k) \times n$
 -->
<SPAN CLASS="MATH">962#962</SPAN> matrix with entries <SPAN CLASS="MATH">963#963</SPAN>.

<P>
Let <!-- MATH
 ${\bf r}={\bf c}+{\bf e}$
 -->
<SPAN CLASS="MATH">832#832</SPAN> be a received word with <SPAN CLASS="MATH">833#833</SPAN> and <SPAN CLASS="MATH">834#834</SPAN> an error vector.
  The syndromes of <SPAN CLASS="MATH">826#826</SPAN> and <SPAN CLASS="MATH">834#834</SPAN> w.r.t <SPAN CLASS="MATH">804#804</SPAN> are equal and known:
  <DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
s_i({\bf r}):={\bf h}_i \cdot {\bf r}={\bf h}_i\cdot {\bf e}=s_i({\bf e}).
\end{displaymath}
 -->

964#964
</DIV>
They can be expressed in the unknown syndromes of <SPAN CLASS="MATH">834#834</SPAN> w.r.t <SPAN CLASS="MATH">195#195</SPAN>:
  <DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
s_i({\bf r})=s_i({\bf e}) =\sum _{j=1}^n a_{ij}u_j({\bf e})
\end{displaymath}
 -->

965#965
</DIV>
since <!-- MATH
 ${\bf h}_i = \sum _{j=1}^n a_{ij}{\bf b}_j$
 -->
<SPAN CLASS="MATH">959#959</SPAN> and <!-- MATH
 ${\bf b}_j \cdot {\bf e}=u_j({\bf e})$
 -->
<SPAN CLASS="MATH">966#966</SPAN>.|;

$l2h_cache_key = q/$A^{-1}=U^{-1}\cdot L^{-1}\cdot P$,/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $A^{-1}=U^{-1}\cdot L^{-1}\cdot P$
 -->
<SPAN CLASS="MATH">152#152</SPAN>,|;

$l2h_cache_key = q/    $$\deg(x^\alpha) < \deg(x^\beta) \Rightarrow x^\alpha < x^\beta,$$/;
$l2h_cache{$l2h_cache_key} = q|    <DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
\deg(x^\alpha) < \deg(x^\beta) \Rightarrow x^\alpha < x^\beta,
\end{displaymath}
 -->

619#619
</DIV>
|;

$l2h_cache_key = q/$A^n$./;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">192#192</SPAN>.|;

$l2h_cache_key = q/$f=0$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">502#502</SPAN>|;

$l2h_cache_key = q/$O\/J_f\cong H''\/H'$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $O/J_f\cong H''/H'$
 -->
<SPAN CLASS="MATH">725#725</SPAN>|;

$l2h_cache_key = q/$p+1$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">1067#1067</SPAN>|;

$l2h_cache_key = q/$12-4=8$./;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">8#8</SPAN>.|;

$l2h_cache_key = q/$R^n\/M$, if $R$ denotes the basering,
$M$ is a homogeneous submodule of $R^n$ and the argument represents a
resolution of
$R^n\/M$./;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">92#92</SPAN>, if <SPAN CLASS="MATH">53#53</SPAN> denotes the basering,
<SPAN CLASS="MATH">13#13</SPAN> is a homogeneous submodule of <SPAN CLASS="MATH">90#90</SPAN> and the argument represents a
resolution of
<SPAN CLASS="MATH">92#92</SPAN>.|;

$l2h_cache_key = q/  Let $G$ be the reduced Gr\"obner basis for $Id_C$ with respect to an elimination order $X_{11}<\dots<X_{1s}<E_1$.
  Then we may solve for the error locations and values by applying elimination theory to the polynomials in $G$./;
$l2h_cache{$l2h_cache_key} = q|  Let <SPAN CLASS="MATH">189#189</SPAN> be the reduced Gröbner basis for <SPAN CLASS="MATH">936#936</SPAN> with respect to an elimination order <!-- MATH
 $X_{11}<\dots<X_{1s}<E_1$
 -->
<SPAN CLASS="MATH">940#940</SPAN>.
  Then we may solve for the error locations and values by applying elimination theory to the polynomials in <SPAN CLASS="MATH">189#189</SPAN>.|;

$l2h_cache_key = q/Input: $f_1,\dots,f_n$/;
$l2h_cache{$l2h_cache_key} = q|Input: <SPAN CLASS="MATH">138#138</SPAN>|;

$l2h_cache_key = q/  Given a $q$-ary $[n,k]$ code $C$ with a generator matrix $G=(g_{ij})$:/;
$l2h_cache{$l2h_cache_key} = q|  Given a <SPAN CLASS="MATH">798#798</SPAN>-ary <SPAN CLASS="MATH">830#830</SPAN> code <SPAN CLASS="MATH">78#78</SPAN> with a generator matrix <SPAN CLASS="MATH">918#918</SPAN>:|;

$l2h_cache_key = q/$(z^3,0,-y+4z,x+2z,0)$ and $(-xyz-y^2z-4xz^2+16z^3,-y^2,48z,48z,x+y-z)$./;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $(z^3,0,-y+4z,x+2z,0)$
 -->
<SPAN CLASS="MATH">20#20</SPAN> and <!-- MATH
 $(-xyz-y^2z-4xz^2+16z^3,-y^2,48z,48z,x+y-z)$
 -->
<SPAN CLASS="MATH">21#21</SPAN>.|;

$l2h_cache_key = q/$(N_0,+)$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">339#339</SPAN>|;

$l2h_cache_key = q/$i_1$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">71#71</SPAN>|;

$l2h_cache_key = q/$\tilde{E}_6$ on a septic in $P^3$. But $x^7+y^7+z^7$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">727#727</SPAN> on a septic in <SPAN CLASS="MATH">735#735</SPAN>. But <SPAN CLASS="MATH">736#736</SPAN>|;

$l2h_cache_key = q/  A matrix $H$ with the property ${\bf c}\in C\iff H{\bf c}^T=0$ is the {\bf check matrix}./;
$l2h_cache{$l2h_cache_key} = q|  A matrix <SPAN CLASS="MATH">804#804</SPAN> with the property <!-- MATH
 ${\bf c}\in C\iff H{\bf c}^T=0$
 -->
<SPAN CLASS="MATH">805#805</SPAN> is the <B>check matrix</B>.|;

$l2h_cache_key = q/  $f_j$./;
$l2h_cache{$l2h_cache_key} = q|  <SPAN CLASS="MATH">110#110</SPAN>.|;

$l2h_cache_key = q/$K$-algebra operations of the letterplace algebra \textbf{and} simultaneous shifting of places by any natural number $n$./;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">50#50</SPAN>-algebra operations of the letterplace algebra <SPAN  CLASS="textbf">and</SPAN> simultaneous shifting of places by any natural number <SPAN CLASS="MATH">17#17</SPAN>.|;

$l2h_cache_key = q/$w(a)=w(b)$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">349#349</SPAN>|;

$l2h_cache_key = q/A function $\hbox{NF} : R^r \times \{G \mid G\ \hbox{ a standard
basis}\} \to R^r, (p,G) \mapsto \hbox{NF}(p|G)$, is called a {\bf normal
form} if for any $p \in R^r$ and any standard basis $G$ the following
holds: if $\hbox{NF}(p|G) \not= 0$ then $L(g)$ does not divide
$L(\hbox{NF}(p|G))$ for all $g \in G$.
The function may also be applied to any generating set of an ideal:
the result is then not uniquely defined.

\noindent
$\hbox{NF}(p|G)$ is called a {\bf normal form of} $p$ {\bf with
respect to} $G$/;
$l2h_cache{$l2h_cache_key} = q|A function <!-- MATH
 $\hbox{NF} : R^r \times \{G \mid G\ \hbox{ a standard
basis}\} \to R^r, (p,G) \mapsto \hbox{NF}(p\|G)$
 -->
<SPAN CLASS="MATH">629#629</SPAN>, is called a <B>normal
form</B> if for any <SPAN CLASS="MATH">630#630</SPAN> and any standard basis <SPAN CLASS="MATH">189#189</SPAN> the following
holds: if <!-- MATH
 $\hbox{NF}(p\|G) \not= 0$
 -->
<SPAN CLASS="MATH">631#631</SPAN> then <SPAN CLASS="MATH">148#148</SPAN> does not divide
<!-- MATH
 $L(\hbox{NF}(p\|G))$
 -->
<SPAN CLASS="MATH">632#632</SPAN> for all <SPAN CLASS="MATH">254#254</SPAN>.
The function may also be applied to any generating set of an ideal:
the result is then not uniquely defined.

<P>
<!-- MATH
 $\hbox{NF}(p\|G)$
 -->
<SPAN CLASS="MATH">633#633</SPAN> is called a <B>normal form of</B> <SPAN CLASS="MATH">23#23</SPAN> <B>with
respect to</B> <SPAN CLASS="MATH">189#189</SPAN>|;

$l2h_cache_key = q/Let $w^{(i)}$ be weights uniquely determined by $w^{(i)}(x_j)=\delta_{i,j}$ for $1\leq i,j\leq n$ where $\delta$ denotes the Kronecker delta. Let $<_1$ be the $w^{(1)}$-weight extension of the left lexicographical ordering on $\langle X\rangle$ and inductively $<_i$ be the $w^{(i)}$-weight extension of $<_{i-1}$ for all $1<i\leq n$.
The monomial ordering \texttt{rp} corresponds to $<_n$ and eliminates $\{x_j,\ldots,x_n\}$ for all $1<j\leq n$.
We refer to it as to {\bf right elimination ordering}./;
$l2h_cache{$l2h_cache_key} = q|Let <SPAN CLASS="MATH">369#369</SPAN> be weights uniquely determined by <!-- MATH
 $w^{(i)}(x_j)=\delta_{i,j}$
 -->
<SPAN CLASS="MATH">370#370</SPAN> for <!-- MATH
 $1\leq i,j\leq n$
 -->
<SPAN CLASS="MATH">371#371</SPAN> where <SPAN CLASS="MATH">372#372</SPAN> denotes the Kronecker delta. Let <SPAN CLASS="MATH">379#379</SPAN> be the <SPAN CLASS="MATH">384#384</SPAN>-weight extension of the left lexicographical ordering on <!-- MATH
 $\langle X\rangle$
 -->
<SPAN CLASS="MATH">375#375</SPAN> and inductively <SPAN CLASS="MATH">376#376</SPAN> be the <SPAN CLASS="MATH">369#369</SPAN>-weight extension of <SPAN CLASS="MATH">385#385</SPAN> for all <SPAN CLASS="MATH">386#386</SPAN>.
The monomial ordering <SPAN  CLASS="texttt">rp</SPAN> corresponds to <SPAN CLASS="MATH">373#373</SPAN> and eliminates <!-- MATH
 $\{x_j,\ldots,x_n\}$
 -->
<SPAN CLASS="MATH">387#387</SPAN> for all <SPAN CLASS="MATH">388#388</SPAN>.
We refer to it as to <B>right elimination ordering</B>.|;

$l2h_cache_key = q/$A\otimes_{\bf{K} } B$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $A\otimes_{\bf {K} } B$
 -->
<SPAN CLASS="MATH">204#204</SPAN>|;

$l2h_cache_key = q/$f \circ g$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">89#89</SPAN>|;

$l2h_cache_key = q/  $f = M[1,1]\cdot M[2,1]+\ldots+M[1,n]\cdot M[2,n].$/;
$l2h_cache{$l2h_cache_key} = q|  <!-- MATH
 $f = M[1,1]\cdot M[2,1]+\ldots+M[1,n]\cdot M[2,n].$
 -->
<SPAN CLASS="MATH">102#102</SPAN>|;

$l2h_cache_key = q/$$ I_1=<x^{v_i^+}-x^{v_i^-}|i=1,\ldots,r> $$
is saturated -- as in the algorithm of Conti and Traverso -- by
inversion of all variables: One adds an auxiliary variable $t$ and the
generator $t\cdot x_1\cdot\ldots\cdot x_n -1$ to obtain an ideal $I_2$
in $K[t,x_1,\ldots,x_n]$ from which one computes $I_A$ by elimination of
$t$./;
$l2h_cache{$l2h_cache_key} = q|<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
I_1=<x^{v_i^+}-x^{v_i^-}\|i=1,\ldots,r>
\end{displaymath}
 -->

764#764
</DIV>
is saturated &ndash; as in the algorithm of Conti and Traverso &ndash; by
inversion of all variables: One adds an auxiliary variable <SPAN CLASS="MATH">501#501</SPAN> and the
generator <!-- MATH
 $t\cdot x_1\cdot\ldots\cdot x_n -1$
 -->
<SPAN CLASS="MATH">765#765</SPAN> to obtain an ideal <SPAN CLASS="MATH">761#761</SPAN>
in <!-- MATH
 $K[t,x_1,\ldots,x_n]$
 -->
<SPAN CLASS="MATH">766#766</SPAN> from which one computes <SPAN CLASS="MATH">750#750</SPAN> by elimination of
<SPAN CLASS="MATH">501#501</SPAN>.|;

$l2h_cache_key = q/$v_1, \ldots, v_k$, then/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $v_1, \ldots, v_k$
 -->
<SPAN CLASS="MATH">91#91</SPAN>, then|;

$l2h_cache_key = q/$h_1\/(h_1 \cap h_2) \cong R^k \/ ker(\overline{H_1})$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $h_1/(h_1 \cap h_2) \cong R^k / ker(\overline{H_1})$
 -->
<SPAN CLASS="MATH">162#162</SPAN>|;

$l2h_cache_key = q/$K[x_1,\ldots,x_n]$,/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $K[x_1,\ldots,x_n]$
 -->
<SPAN CLASS="MATH">62#62</SPAN>,|;

$l2h_cache_key = q/$\hbox{Ext}^1(m,m)$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $\hbox{Ext}^1(m,m)$
 -->
<SPAN CLASS="MATH">468#468</SPAN>|;

$l2h_cache_key = q/$h_1,\ldots,h_r$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $h_1,\ldots,h_r$
 -->
<SPAN CLASS="MATH">512#512</SPAN>|;

$l2h_cache_key = q/$Z\/p \rightarrow  R$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $Z/p \rightarrow  R$
 -->
<SPAN CLASS="MATH">82#82</SPAN>|;

$l2h_cache_key = q/{\sc Singular:Plural}/;
$l2h_cache{$l2h_cache_key} = q|S<SMALL>INGULAR:</SMALL>P<SMALL>LURAL</SMALL>|;

$l2h_cache_key = q/$Z\/p \rightarrow  GF(p^n)$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $Z/p \rightarrow  GF(p^n)$
 -->
<SPAN CLASS="MATH">80#80</SPAN>|;

$l2h_cache_key = q/$T^2$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">509#509</SPAN>|;

$l2h_cache_key = q/{\tt vandermonde(p,v,d)} computes the (unique) polynomial of degree
{\tt d} with prescribed values {\tt v[1],...,v[N]} at the points
{\tt p}$^0,\dots,$ {\tt p}$^{N-1}$, {\tt N=(d+1)}$^n$, $n$ the
number of ring variables.

The returned polynomial is $\sum
c_{\alpha_1\ldots\alpha_n}\cdot x_1^{\alpha_1} \cdot \dots \cdot
x_n^{\alpha_n}$, where the coefficients
$c_{\alpha_1\ldots\alpha_n}$ are the solution of the (transposed)
Vandermonde system of linear equations
$$ \sum_{\alpha_1+\ldots+\alpha_n\leq d} c_{\alpha_1\ldots\alpha_n} \cdot
{\tt p}_1^{(k-1)\alpha_1}\cdot\dots\cdot {\tt p}_n^{(k-1)\alpha_n} =
{\tt v}[k], \quad k=1,\dots,{\tt N}.$$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN style="font-family:monospace">vandermonde(p,v,d)</SPAN> computes the (unique) polynomial of degree
<SPAN style="font-family:monospace">d</SPAN> with prescribed values <SPAN style="font-family:monospace">v[1],...,v[N]</SPAN> at the points
<SPAN style="font-family:monospace">p</SPAN><SPAN CLASS="MATH">181#181</SPAN> <SPAN style="font-family:monospace">p</SPAN><SPAN CLASS="MATH">182#182</SPAN>, <SPAN style="font-family:monospace">N=(d+1)</SPAN><SPAN CLASS="MATH">183#183</SPAN>, <SPAN CLASS="MATH">17#17</SPAN> the
number of ring variables.

<P>
The returned polynomial is <!-- MATH
 $\sum
c_{\alpha_1\ldots\alpha_n}\cdot x_1^{\alpha_1} \cdot \dots \cdot
x_n^{\alpha_n}$
 -->
<SPAN CLASS="MATH">184#184</SPAN>, where the coefficients
<!-- MATH
 $c_{\alpha_1\ldots\alpha_n}$
 -->
<SPAN CLASS="MATH">185#185</SPAN> are the solution of the (transposed)
Vandermonde system of linear equations
<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
\sum_{\alpha_1+\ldots+\alpha_n\leq d} c_{\alpha_1\ldots\alpha_n} \cdot
{\tt p}_1^{(k-1)\alpha_1}\cdot\dots\cdot {\tt p}_n^{(k-1)\alpha_n} =
{\tt v}[k], \quad k=1,\dots,{\tt N}.
\end{displaymath}
 -->

186#186
</DIV>
|;

$l2h_cache_key = q/$k_2$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">99#99</SPAN>|;

$l2h_cache_key = q/  {\bf Hamming distance} between {\bf x,y}$\in F_q^n: d(x,y)=\#\{i|x_i\ne y_i\}$.
  {\bf Hamming weight} of {\bf x}$\in F_q^n: wt(x)=\#\{i|x_i\ne 0\}$./;
$l2h_cache{$l2h_cache_key} = q|  <B>Hamming distance</B> between <B>x,y</B><!-- MATH
 $\in F_q^n: d(x,y)=\#\{i\|x_i\ne y_i\}$
 -->
<SPAN CLASS="MATH">800#800</SPAN>.
  <B>Hamming weight</B> of <B>x</B><!-- MATH
 $\in F_q^n: wt(x)=\#\{i\|x_i\ne 0\}$
 -->
<SPAN CLASS="MATH">801#801</SPAN>.|;

$l2h_cache_key = q/$P_n(x+ 1\/x) = x^n+ 1\/x^n$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $P_n(x+ 1/x) = x^n+ 1/x^n$
 -->
<SPAN CLASS="MATH">1010#1010</SPAN>|;

$l2h_cache_key = q/\quad \quad $x^a < x^b \Leftrightarrow \exists\  1 \leq i \leq n :
M_1 a = \; M_1 b, \ldots, M_{i-1} a = \; M_{i-1} b$ and $M_i a < \; M_i b$./;
$l2h_cache{$l2h_cache_key} = q|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<!-- MATH
 $x^a < x^b \Leftrightarrow \exists\  1 \leq i \leq n :
M_1 a = \; M_1 b, \ldots, M_{i-1} a = \; M_{i-1} b$
 -->
<SPAN CLASS="MATH">589#589</SPAN> and <!-- MATH
 $M_i a < \; M_i b$
 -->
<SPAN CLASS="MATH">590#590</SPAN>.|;

$l2h_cache_key = q/$a$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">4#4</SPAN>|;

$l2h_cache_key = q/$Z\/n$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">65#65</SPAN>|;

$l2h_cache_key = q/{\sc Singular}/;
$l2h_cache{$l2h_cache_key} = q|S<SMALL>INGULAR</SMALL>|;

$l2h_cache_key = q/$n \times n$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">234#234</SPAN>|;

$l2h_cache_key = q/$x_4,x_5,x_6$:/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">36#36</SPAN>:|;

$l2h_cache_key = q/$x_0$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">439#439</SPAN>|;

$l2h_cache_key = q/$N$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">418#418</SPAN>|;

$l2h_cache_key = q/$Z$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">30#30</SPAN>|;

$l2h_cache_key = q/(in $P^n$),/;
$l2h_cache{$l2h_cache_key} = q|(in <SPAN CLASS="MATH">505#505</SPAN>),|;

$l2h_cache_key = q/$T_ij$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">422#422</SPAN>|;

$l2h_cache_key = q/  Every cyclic code $C$ possesses a {\bf general error-locator polynomial} $L_C$ from $F_q[X_1,\ldots ,X_{n-k},Z]$ that satisfies the following
  two properties:/;
$l2h_cache{$l2h_cache_key} = q|  Every cyclic code <SPAN CLASS="MATH">78#78</SPAN> possesses a <B>general error-locator polynomial</B> <SPAN CLASS="MATH">861#861</SPAN> from <!-- MATH
 $F_q[X_1,\ldots ,X_{n-k},Z]$
 -->
<SPAN CLASS="MATH">862#862</SPAN> that satisfies the following
  two properties:|;

$l2h_cache_key = q/$A_1$=matrix(M),/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">166#166</SPAN>=matrix(M),|;

$l2h_cache_key = q/$A$ is an integral domain./;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">190#190</SPAN> is an integral domain.|;

$l2h_cache_key = q/$ > x_n$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">334#334</SPAN>|;

$l2h_cache_key = q/  $D=\{d_{ij}, i<j\}$, with polynomial entries $d_{ij}$ from $R$ ($d_{ij}$ for $i\geq j$ will be ignored)./;
$l2h_cache{$l2h_cache_key} = q|  <!-- MATH
 $D=\{d_{ij}, i<j\}$
 -->
<SPAN CLASS="MATH">237#237</SPAN>, with polynomial entries <SPAN CLASS="MATH">211#211</SPAN> from <SPAN CLASS="MATH">53#53</SPAN> (<SPAN CLASS="MATH">211#211</SPAN> for <SPAN CLASS="MATH">236#236</SPAN> will be ignored).|;

$l2h_cache_key = q/$aub < avb$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">329#329</SPAN>|;

$l2h_cache_key = q/$i>=0$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">315#315</SPAN>|;

$l2h_cache_key = q/$R^T$./;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">1026#1026</SPAN>.|;

$l2h_cache_key = q/${\tt Ws}(w_1, \ldots, w_n),\; w_1$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 ${\tt Ws}(w_1, \ldots, w_n),\; w_1$
 -->
<SPAN CLASS="MATH">569#569</SPAN>|;

$l2h_cache_key = q/$i>=2$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">320#320</SPAN>|;

$l2h_cache_key = q/  $(dk\times 1)$-matrix and $m_{(j-1)d+i+1,1}, 0\leq i\leq e, 1\leq j\leq k$,/;
$l2h_cache{$l2h_cache_key} = q|  <SPAN CLASS="MATH">111#111</SPAN>-matrix and <!-- MATH
 $m_{(j-1)d+i+1,1}, 0\leq i\leq e, 1\leq j\leq k$
 -->
<SPAN CLASS="MATH">112#112</SPAN>,|;

$l2h_cache_key = q/$r^3\/MD$./;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">11#11</SPAN>.|;

$l2h_cache_key = q/For a set $S \subset A^r$, define
$L(S)$ to be the $K$-vector space, spanned on the leading monomials
of elements of $S$, $L(S) = \oplus \{K x^{\alpha} e_i \mid \exists s \in S, \hbox{LM(s)}=x^{\alpha}e_i\}$.

We call $L(S)$ the \textbf{span of leading monomials} of $S$./;
$l2h_cache{$l2h_cache_key} = q|For a set <SPAN CLASS="MATH">245#245</SPAN>, define
<SPAN CLASS="MATH">246#246</SPAN> to be the <SPAN CLASS="MATH">50#50</SPAN>-vector space, spanned on the leading monomials
of elements of <SPAN CLASS="MATH">247#247</SPAN>, <!-- MATH
 $L(S) = \oplus \{K x^{\alpha} e_i \mid \exists s \in S, \hbox{LM(s)}=x^{\alpha}e_i\}$
 -->
<SPAN CLASS="MATH">248#248</SPAN>.

<P>
We call <SPAN CLASS="MATH">246#246</SPAN> the <SPAN  CLASS="textbf">span of leading monomials</SPAN> of <SPAN CLASS="MATH">247#247</SPAN>.|;

$l2h_cache_key = q/  $v_1, v_2,\ldots,v_s$/;
$l2h_cache{$l2h_cache_key} = q|  <!-- MATH
 $v_1, v_2,\ldots,v_s$
 -->
<SPAN CLASS="MATH">113#113</SPAN>|;

$l2h_cache_key = q/$R^n$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">90#90</SPAN>|;

$l2h_cache_key = q/$R^n\/M$ (the 0th and 1st syzygy module of $R^n\/M$ is $R^n$ and $M$, resp.)./;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">92#92</SPAN> (the 0th and 1st syzygy module of <SPAN CLASS="MATH">92#92</SPAN> is <SPAN CLASS="MATH">90#90</SPAN> and <SPAN CLASS="MATH">13#13</SPAN>, resp.).|;

$l2h_cache_key = q/$<_n$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">373#373</SPAN>|;

$l2h_cache_key = q/$v_1,\ldots,v_r$
for the integer kernel of $A$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $v_1,\ldots,v_r$
 -->
<SPAN CLASS="MATH">585#585</SPAN>
for the integer kernel of <SPAN CLASS="MATH">190#190</SPAN>|;

$l2h_cache_key = q/$k$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">280#280</SPAN>|;

$l2h_cache_key = q/The entry d of the intmat at place (i, j) is the minimal number of
generators in degree i+j of the j-th syzygy module (= module of
relations) of $R^n\/M$ (the 0th (resp.\ 1st) syzygy module of $R^n\/M$ is
$R^n$ (resp.\ $M$))./;
$l2h_cache{$l2h_cache_key} = q|The entry d of the intmat at place (i, j) is the minimal number of
generators in degree i+j of the j-th syzygy module (= module of
relations) of <SPAN CLASS="MATH">92#92</SPAN> (the 0th (resp. 1st) syzygy module of <SPAN CLASS="MATH">92#92</SPAN> is
<SPAN CLASS="MATH">90#90</SPAN> (resp. <SPAN CLASS="MATH">13#13</SPAN>)).|;

$l2h_cache_key = q/$g = x^2+2x+1$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">998#998</SPAN>|;

$l2h_cache_key = q/$\exists u,\,v,\,w\in \langle X\rangle\;\exists x_i,\,x_j\in X: a=ux_iv,\;b=ux_jw$ and $i<j$ holds./;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $\exists u,\,v,\,w\in \langle X\rangle\;\exists x_i,\,x_j\in X: a=ux_iv,\;b=ux_jw$
 -->
<SPAN CLASS="MATH">337#337</SPAN> and <SPAN CLASS="MATH">338#338</SPAN> holds.|;

$l2h_cache_key = q/Let $A$ be a $G$-algebra. Then/;
$l2h_cache{$l2h_cache_key} = q|Let <SPAN CLASS="MATH">190#190</SPAN> be a <SPAN CLASS="MATH">189#189</SPAN>-algebra. Then|;

$l2h_cache_key = q/$\times$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">93#93</SPAN>|;

$l2h_cache_key = q/$H^i(F(d))$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">1060#1060</SPAN>|;

$l2h_cache_key = q/$$
\hbox{milnor}(f) = \hbox{dim}_K(K[[x_1,\ldots,x_n]]\/\hbox{jacob}(f)),
$$
respectively
$$
\hbox{tjurina}(f) = \hbox{dim}_K(K[[x_1,\ldots,x_n]]\/((f)+\hbox{jacob}(f)))
$$
where/;
$l2h_cache{$l2h_cache_key} = q|<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
\hbox{milnor}(f) = \hbox{dim}_K(K[[x_1,\ldots,x_n]]/\hbox{jacob}(f)),
\end{displaymath}
 -->

492#492
</DIV>
respectively
<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
\hbox{tjurina}(f) = \hbox{dim}_K(K[[x_1,\ldots,x_n]]/((f)+\hbox{jacob}(f)))
\end{displaymath}
 -->

493#493
</DIV>
where|;

$l2h_cache_key = q/$len(x_i)=1$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">345#345</SPAN>|;

$l2h_cache_key = q/$x_3 x_3 x_3 > x_1 x_2 x_3 > x_3 x_2 x_1 > x_2 x_3 > x_1 x_3 > x_3 x_1 > x_3 > x_2 x_2 > x_2 > x_1 x_1 x_1 > x_1$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $x_3 x_3 x_3 > x_1 x_2 x_3 > x_3 x_2 x_1 > x_2 x_3 > x_1 x_3 > x_3 x_1 > x_3 > x_2 x_2 > x_2 > x_1 x_1 x_1 > x_1$
 -->
<SPAN CLASS="MATH">390#390</SPAN>|;

$l2h_cache_key = q/$\hbox{GF}(p^n)$ with $p^n$ elements, where $p^n$ has to be less than or equal to $2^{15}$./;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $\hbox{GF}(p^n)$
 -->
<SPAN CLASS="MATH">25#25</SPAN> with <SPAN CLASS="MATH">26#26</SPAN> elements, where <SPAN CLASS="MATH">26#26</SPAN> has to be less than or equal to <SPAN CLASS="MATH">61#61</SPAN>.|;

$l2h_cache_key = q/$V(\partial f\/\partial x_1,\ldots,\partial f\/\partial x_n)$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $V(\partial f/\partial x_1,\ldots,\partial f/\partial x_n)$
 -->
<SPAN CLASS="MATH">504#504</SPAN>|;

$l2h_cache_key = q/$A:=U(sl_2)$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">520#520</SPAN>|;

$l2h_cache_key = q/$R$./;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">53#53</SPAN>.|;

$l2h_cache_key = q/$x_3>$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">355#355</SPAN>|;

$l2h_cache_key = q/$v_1,...,v_k$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">529#529</SPAN>|;

$l2h_cache_key = q/This function computes the ring of invariants of a finite abelian group $G$
acting diagonally on the surrounding polynomial ring $K[X_1,...,X_n]$. The
group is the direct product of cyclic groups generated by finitely many
elements $g_1,...,g_w$. The element $g_i$ acts on the indeterminate $X_j$ by
$g_i(X_j)=\lambda_i^{u_{ij}}X_j$ where $\lambda_i$ is a primitive root of
unity of order equal to $ord(g_i)$. The ring of invariants is generated by all
monomials satisfying the system
$u_{i1}a_1+\ldots+u_{in} a_n \equiv 0$ mod ord$(g_i)$, $i=1,\ldots,w$.
The input to the function is the $w\times(n+1)$ matrix $U$ with rows
$u_{i1}\ldots u_{in}$ ord$(gi)$, $i=1,\ldots,w$. The output is a monomial ideal
listing the algebra generators of the subalgebra of invariants
{$R^G=\{f\in R : g_i f = f$ for all $i=1,\ldots,w\}$}./;
$l2h_cache{$l2h_cache_key} = q|This function computes the ring of invariants of a finite abelian group <SPAN CLASS="MATH">189#189</SPAN>
acting diagonally on the surrounding polynomial ring <!-- MATH
 $K[X_1,...,X_n]$
 -->
<SPAN CLASS="MATH">1035#1035</SPAN>. The
group is the direct product of cyclic groups generated by finitely many
elements <SPAN CLASS="MATH">1036#1036</SPAN>. The element <SPAN CLASS="MATH">993#993</SPAN> acts on the indeterminate <SPAN CLASS="MATH">1037#1037</SPAN> by
<!-- MATH
 $g_i(X_j)=\lambda_i^{u_{ij}}X_j$
 -->
<SPAN CLASS="MATH">1038#1038</SPAN> where <SPAN CLASS="MATH">1039#1039</SPAN> is a primitive root of
unity of order equal to <SPAN CLASS="MATH">1040#1040</SPAN>. The ring of invariants is generated by all
monomials satisfying the system
<!-- MATH
 $u_{i1}a_1+\ldots+u_{in} a_n \equiv 0$
 -->
<SPAN CLASS="MATH">1041#1041</SPAN> mod ord<SPAN CLASS="MATH">1042#1042</SPAN>, <SPAN CLASS="MATH">1043#1043</SPAN>.
The input to the function is the <SPAN CLASS="MATH">1044#1044</SPAN> matrix <SPAN CLASS="MATH">1045#1045</SPAN> with rows
<!-- MATH
 $u_{i1}\ldots u_{in}$
 -->
<SPAN CLASS="MATH">1046#1046</SPAN> ord<SPAN CLASS="MATH">1047#1047</SPAN>, <SPAN CLASS="MATH">1043#1043</SPAN>. The output is a monomial ideal
listing the algebra generators of the subalgebra of invariants
<!-- MATH
 $R^G=\{f\in R : g_i f = f$
 -->
<SPAN CLASS="MATH">1048#1048</SPAN> for all <!-- MATH
 $i=1,\ldots,w\}$
 -->
<SPAN CLASS="MATH">1049#1049</SPAN>.|;

$l2h_cache_key = q/  $v_r$./;
$l2h_cache{$l2h_cache_key} = q|  <SPAN CLASS="MATH">116#116</SPAN>.|;

$l2h_cache_key = q/$ecart(g_i) > ecart(g_j)$./;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $ecart(g_i) > ecart(g_j)$
 -->
<SPAN CLASS="MATH">147#147</SPAN>.|;

$l2h_cache_key = q/$m$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">295#295</SPAN>|;

$l2h_cache_key = q/$K[x,y,z]$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">43#43</SPAN>|;

$l2h_cache_key = q/$R_f f^s$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">1065#1065</SPAN>|;

$l2h_cache_key = q/  We obtain the following set of polynomials in the variables $X=(X_1,\dots,X_{n-k})$, $Z=(Z_1,\dots,Z_e)$  and  $Y=(Y_1,\dots,Y_e)$:
  $$ F_C=\{f_j,\epsilon_j,\eta_i,\lambda_i:1\le j\le n-k,1\le i\le e\}\subset F_q[X,Z,Y].$$
  The zero-dimensional ideal $I_C$ generated by $F_C$ is the {\bf CRHT-syndrome ideal}
  associated to the code $C$, and the variety $V(F_C)$ defined by $F_C$ is the {\bf CRHT-syndrome variety},
  after Chen, Reed, Helleseth and Truong./;
$l2h_cache{$l2h_cache_key} = q|  We obtain the following set of polynomials in the variables <!-- MATH
 $X=(X_1,\dots,X_{n-k})$
 -->
<SPAN CLASS="MATH">853#853</SPAN>, <!-- MATH
 $Z=(Z_1,\dots,Z_e)$
 -->
<SPAN CLASS="MATH">854#854</SPAN> and  <!-- MATH
 $Y=(Y_1,\dots,Y_e)$
 -->
<SPAN CLASS="MATH">855#855</SPAN>:
  <DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
F_C=\{f_j,\epsilon_j,\eta_i,\lambda_i:1\le j\le n-k,1\le i\le e\}\subset F_q[X,Z,Y].
\end{displaymath}
 -->

856#856
</DIV>
The zero-dimensional ideal <SPAN CLASS="MATH">857#857</SPAN> generated by <SPAN CLASS="MATH">858#858</SPAN> is the <B>CRHT-syndrome ideal</B>
  associated to the code <SPAN CLASS="MATH">78#78</SPAN>, and the variety <SPAN CLASS="MATH">859#859</SPAN> defined by <SPAN CLASS="MATH">858#858</SPAN> is the <B>CRHT-syndrome variety</B>,
  after Chen, Reed, Helleseth and Truong.|;

$l2h_cache_key = q/ ($=\hbox{Ext}^2(K,K)$)/;
$l2h_cache{$l2h_cache_key} = q| (<!-- MATH
 $=\hbox{Ext}^2(K,K)$
 -->
<SPAN CLASS="MATH">464#464</SPAN>)|;

$l2h_cache_key = q/Loc $K[x]$/;
$l2h_cache{$l2h_cache_key} = q|Loc <SPAN CLASS="MATH">549#549</SPAN>|;

$l2h_cache_key = q/$k_1[X]$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">96#96</SPAN>|;

$l2h_cache_key = q/  $\eta_i:= Z_i^{n+1}-Z_i=0, 1\le i\le e$, since $a^{j_i}$ are either $n$-th roots of unity or zero;/;
$l2h_cache{$l2h_cache_key} = q|  <!-- MATH
 $\eta_i:= Z_i^{n+1}-Z_i=0, 1\le i\le e$
 -->
<SPAN CLASS="MATH">849#849</SPAN>, since <SPAN CLASS="MATH">850#850</SPAN> are either <SPAN CLASS="MATH">17#17</SPAN>-th roots of unity or zero;|;

$l2h_cache_key = q/$\hbox{dim}_K(K[x,y,z]\/(\hbox{jacob}(f)+(f)))$,/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $\hbox{dim}_K(K[x,y,z]/(\hbox{jacob}(f)+(f)))$
 -->
<SPAN CLASS="MATH">499#499</SPAN>,|;

$l2h_cache_key = q/$f_1$, \dots, $f_r$./;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">481#481</SPAN>, ..., <SPAN CLASS="MATH">483#483</SPAN>.|;

$l2h_cache_key = q/$k^r\times(k^n,0)$,/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $k^r\times(k^n,0)$
 -->
<SPAN CLASS="MATH">452#452</SPAN>,|;

$l2h_cache_key = q/$x = (x_1, \ldots, x_n)$ and $y = (y_1, \ldots, y_m)$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $x = (x_1, \ldots, x_n)$
 -->
<SPAN CLASS="MATH">548#548</SPAN> and <!-- MATH
 $y = (y_1, \ldots, y_m)$
 -->
<SPAN CLASS="MATH">609#609</SPAN>|;

$l2h_cache_key = q/\ $(x) = (x_1, ..., x_n)$./;
$l2h_cache{$l2h_cache_key} = q| <!-- MATH
 $(x) = (x_1, ..., x_n)$
 -->
<SPAN CLASS="MATH">564#564</SPAN>.|;

$l2h_cache_key = q/$<X>$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">327#327</SPAN>|;

$l2h_cache_key = q/Faug\`ere,/;
$l2h_cache{$l2h_cache_key} = q|Faugère,|;

$l2h_cache_key = q/$\deg(x^\alpha) = w_1 \alpha_1 + \cdots + w_n\alpha_n.$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $\deg(x^\alpha) = w_1 \alpha_1 + \cdots + w_n\alpha_n.$
 -->
<SPAN CLASS="MATH">561#561</SPAN>|;

$l2h_cache_key = q/$k_1$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">98#98</SPAN>|;

$l2h_cache_key = q/$R^l$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">157#157</SPAN>|;

$l2h_cache_key = q/Let $w^{(i)}$ be weights uniquely determined by $w^{(i)}(x_j)=\delta_{i,j}$ for $1\leq i,j\leq n$ where $\delta$ denotes the Kronecker delta. Let $<_n$ be the $w^{(n)}$-weight extension of the left lexicographical ordering on $\langle X\rangle$ and inductively $<_i$ be the $w^{(i)}$-weight extension of $<_{i+1}$ for all $1\leq i<n$.
The monomial ordering lp corresponds to $<_1$ and eliminates $x_1,...,x_j$ for all $1\leq j<n$.
We refer to it as to {\bf left elimination ordering}./;
$l2h_cache{$l2h_cache_key} = q|Let <SPAN CLASS="MATH">369#369</SPAN> be weights uniquely determined by <!-- MATH
 $w^{(i)}(x_j)=\delta_{i,j}$
 -->
<SPAN CLASS="MATH">370#370</SPAN> for <!-- MATH
 $1\leq i,j\leq n$
 -->
<SPAN CLASS="MATH">371#371</SPAN> where <SPAN CLASS="MATH">372#372</SPAN> denotes the Kronecker delta. Let <SPAN CLASS="MATH">373#373</SPAN> be the <SPAN CLASS="MATH">374#374</SPAN>-weight extension of the left lexicographical ordering on <!-- MATH
 $\langle X\rangle$
 -->
<SPAN CLASS="MATH">375#375</SPAN> and inductively <SPAN CLASS="MATH">376#376</SPAN> be the <SPAN CLASS="MATH">369#369</SPAN>-weight extension of <SPAN CLASS="MATH">377#377</SPAN> for all <SPAN CLASS="MATH">378#378</SPAN>.
The monomial ordering lp corresponds to <SPAN CLASS="MATH">379#379</SPAN> and eliminates <SPAN CLASS="MATH">380#380</SPAN> for all <SPAN CLASS="MATH">381#381</SPAN>.
We refer to it as to <B>left elimination ordering</B>.|;

$l2h_cache_key = q/ $\{x_i\}$/;
$l2h_cache{$l2h_cache_key} = q| <SPAN CLASS="MATH">232#232</SPAN>|;

$l2h_cache_key = q/$T_n(x)  = \cos(n \cdot \arccos(x))$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $T_n(x)  = \cos(n \cdot \arccos(x))$
 -->
<SPAN CLASS="MATH">1008#1008</SPAN>|;

$l2h_cache_key = q/  {\bf Minimum distance} of the code $C: d(C):=\min_{{\bf x,y}\in C, {\bf x}\ne {\bf y}}(d({\bf x,y}))$./;
$l2h_cache{$l2h_cache_key} = q|  <B>Minimum distance</B> of the code <!-- MATH
 $C: d(C):=\min_{{\bf x,y}\in C, {\bf x}\ne {\bf y}}(d({\bf x,y}))$
 -->
<SPAN CLASS="MATH">802#802</SPAN>.|;

$l2h_cache_key = q/$T^1$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">508#508</SPAN>|;

$l2h_cache_key = q/$x_n$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">303#303</SPAN>|;

$l2h_cache_key = q/$Z\/7$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">45#45</SPAN>|;

$l2h_cache_key = q/$Z\/p$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">22#22</SPAN>|;

$l2h_cache_key = q/  $\sum_{i=1}^k m_i\cdot a_i$,/;
$l2h_cache{$l2h_cache_key} = q|  <!-- MATH
 $\sum_{i=1}^k m_i\cdot a_i$
 -->
<SPAN CLASS="MATH">121#121</SPAN>,|;

$l2h_cache_key = q/$Z\/7[x_1,\ldots,x_6]$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $Z/7[x_1,\ldots,x_6]$
 -->
<SPAN CLASS="MATH">34#34</SPAN>|;

$l2h_cache_key = q/$ i_{1,1} $/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">72#72</SPAN>|;

$l2h_cache_key = q/$x^\alpha < x^\beta  \Leftrightarrow  \exists\; 1 \le i \le n :
\alpha_n = \beta_n,
    \ldots, \alpha_{i+1} = \beta_{i+1}, \alpha_i < \beta_i.$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $x^\alpha < x^\beta  \Leftrightarrow  \exists\; 1 \le i \le n :
\alpha_n = \beta_n,
    \ldots, \alpha_{i+1} = \beta_{i+1}, \alpha_i < \beta_i.$
 -->
<SPAN CLASS="MATH">552#552</SPAN>|;

$l2h_cache_key = q/This function computes the ring of invariants of a diagonalizable group
$D = T\times G$ where $T$ is a torus and $G$ is a finite abelian group, both
acting diagonally on the polynomial ring $K[X_1,\ldots,X_n]$. The group
actions are specified by the input matrices A and U. The first matrix specifies
the torus action, the second the action of the finite group. See
torusInvariants and finiteDiagInvariants for more detail. The output is a
monomial ideal listing the algebra generators of the subalgebra of invariants./;
$l2h_cache{$l2h_cache_key} = q|This function computes the ring of invariants of a diagonalizable group
<SPAN CLASS="MATH">1050#1050</SPAN> where <SPAN CLASS="MATH">277#277</SPAN> is a torus and <SPAN CLASS="MATH">189#189</SPAN> is a finite abelian group, both
acting diagonally on the polynomial ring <!-- MATH
 $K[X_1,\ldots,X_n]$
 -->
<SPAN CLASS="MATH">1051#1051</SPAN>. The group
actions are specified by the input matrices A and U. The first matrix specifies
the torus action, the second the action of the finite group. See
torusInvariants and finiteDiagInvariants for more detail. The output is a
monomial ideal listing the algebra generators of the subalgebra of invariants.|;

$l2h_cache_key = q/$r$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">299#299</SPAN>|;

$l2h_cache_key = q/$<x_1$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">300#300</SPAN>|;

$l2h_cache_key = q/$C_n(c\cdot x) = c\cdot T_n(x)$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $C_n(c\cdot x) = c\cdot T_n(x)$
 -->
<SPAN CLASS="MATH">1014#1014</SPAN>|;

$l2h_cache_key = q/$K=R\/m$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">465#465</SPAN>|;

$l2h_cache_key = q/$\hbox{dim}_K(K[x,y,z]\/\hbox{jacob}(f))$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $\hbox{dim}_K(K[x,y,z]/\hbox{jacob}(f))$
 -->
<SPAN CLASS="MATH">497#497</SPAN>|;

$l2h_cache_key = q/$g_i$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">993#993</SPAN>|;

$l2h_cache_key = q/ $C=\{c_{ij}, i<j\}$, with nonzero entries $c_{ij}$ of type number ($c_{ij}$ for $i\geq j$ will be ignored)./;
$l2h_cache{$l2h_cache_key} = q| <!-- MATH
 $C=\{c_{ij}, i<j\}$
 -->
<SPAN CLASS="MATH">235#235</SPAN>, with nonzero entries <SPAN CLASS="MATH">210#210</SPAN> of type number (<SPAN CLASS="MATH">210#210</SPAN> for <SPAN CLASS="MATH">236#236</SPAN> will be ignored).|;

$l2h_cache_key = q/$p^k$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">446#446</SPAN>|;

$l2h_cache_key = q/$N = \langle g_1,\ldots,g_m \rangle \subset \bigoplus_{i=1}^r A e_i A$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $N = \langle g_1,\ldots,g_m \rangle \subset \bigoplus_{i=1}^r A e_i A$
 -->
<SPAN CLASS="MATH">415#415</SPAN>|;

$l2h_cache_key = q/Let $A$ be an $m\times n$ matrix with integral coefficients, $b\in
Z\!\!\! Z^m$ and $c\in Z\!\!\! Z^n$. The problem
$$ \min\{c^T x | x\in Z\!\!\! Z^n, Ax=b, x\geq 0\hbox{
component-wise}\} $$
is called an instance of the \bf integer programming problem \rm or
\bf IP problem. \rm

The IP problem is very hard; namely, it is NP-complete.

For the following discussion let $c\geq 0$ (component-wise). We
consider $c$ as a weight vector; because of its nonnegativity, $c$ can
be refined into a monomial ordering $>_c$. It turns out that we can
solve such an IP instance with the help of toric ideals:

First we assume that an initial solution $v$ (i.e., $v\in Z\!\!\!
Z^n, v\geq 0, Av=b$) is already known. We obtain the optimal solution
$v_0$ (i.e., with $c^T v_0$ minimal) by the following procedure:/;
$l2h_cache{$l2h_cache_key} = q|Let <SPAN CLASS="MATH">190#190</SPAN> be an <SPAN CLASS="MATH">68#68</SPAN> matrix with integral coefficients, <!-- MATH
 $b\in
Z\!\!\! Z^m$
 -->
<SPAN CLASS="MATH">787#787</SPAN> and <!-- MATH
 $c\in Z\!\!\! Z^n$
 -->
<SPAN CLASS="MATH">788#788</SPAN>. The problem
<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
\min\{c^T x \| x\in Z\!\!\! Z^n, Ax=b, x\geq 0\hbox{
component-wise}\}
\end{displaymath}
 -->

789#789
</DIV>
is called an instance of the <B>integer programming problem </B>or
<B>IP problem. </B>
<P>
The IP problem is very hard; namely, it is NP-complete.

<P>
For the following discussion let <SPAN CLASS="MATH">790#790</SPAN> (component-wise). We
consider <SPAN CLASS="MATH">47#47</SPAN> as a weight vector; because of its nonnegativity, <SPAN CLASS="MATH">47#47</SPAN> can
be refined into a monomial ordering <SPAN CLASS="MATH">791#791</SPAN>. It turns out that we can
solve such an IP instance with the help of toric ideals:

<P>
First we assume that an initial solution <SPAN CLASS="MATH">331#331</SPAN> (i.e., <!-- MATH
 $v\in Z\!\!\!
Z^n, v\geq 0, Av=b$
 -->
<SPAN CLASS="MATH">792#792</SPAN>) is already known. We obtain the optimal solution
<SPAN CLASS="MATH">793#793</SPAN> (i.e., with <SPAN CLASS="MATH">794#794</SPAN> minimal) by the following procedure:|;

$l2h_cache_key = q/$K[X]$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">304#304</SPAN>|;

$l2h_cache_key = q/$x y^i z$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">321#321</SPAN>|;

$l2h_cache_key = q/$K[Y]$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">490#490</SPAN>|;

$l2h_cache_key = q/Let $f\colon(C^{n+1},0)\rightarrow(C,0)$ be a complex isolated hypersurface singularity given by a polynomial with algebraic coefficients which we also denote by $f$.
Let $O=C[x_0,\ldots,x_n]_{(x_0,\ldots,x_n)}$ be the local ring at the origin and $J_f$ the Jacobian ideal of $f$.

A {\bf Milnor representative} of $f$ defines a differentiable fibre bundle over the punctured disc with fibres of homotopy type of $\mu$ $n$-spheres.
The $n$-th cohomology bundle is a flat vector bundle of dimension $n$ and carries a natural flat connection with covariant derivative $\partial_t$.
The {\bf monodromy operator} is the action of a positively oriented generator of the fundamental group of the punctured disc on the Milnor fibre.
Sections in the cohomology bundle of {\bf moderate growth} at $0$ form a regular $D=C\{t\}[\partial_t]$-module $G$, the {\bf Gauss-Manin connection}.

By integrating along flat multivalued families of cycles, one can consider fibrewise global holomorphic differential forms as elements of $G$.
This factors through an inclusion of the {\bf Brieskorn lattice} $H'':=\Omega^{n+1}_{C^{n+1},0}\/df\wedge d\Omega^{n-1}_{C^{n+1},0}$ in $G$.

The $D$-module structure defines the {\bf V-filtration} $V$ on $G$ by $V^\alpha:=\sum_{\beta\ge\alpha}C\{t\}ker(t\partial_t-\beta)^{n+1}$.
The Brieskorn lattice defines the {\bf Hodge filtration} $F$ on $G$ by $F_k=\partial_t^kH''$ which comes from the {\bf mixed Hodge structure} on the Milnor fibre.
Note that $F_{-1}=H'$.

The induced V-filtration on the Brieskorn lattice determines the {\bf singularity spectrum} $Sp$ by $Sp(\alpha):=\dim_CGr_V^\alpha Gr^F_0G$.
The spectrum consists of $\mu$ rational numbers $\alpha_1,\dots,\alpha_\mu$ such that $e^{2\pi i\alpha_1},\dots,e^{2\pi i\alpha_\mu}$ are the eigenvalues of the monodromy.
These {\bf spectral numbers} lie in the open interval $(-1,n)$, symmetric about the midpoint $(n-1)\/2$.

The spectrum is constant under $\mu$-constant deformations and has the following semicontinuity property:
The number of spectral numbers in an interval $(a,a+1]$ of all singularities of a small deformation of $f$ is greater than or equal to that of f in this interval.
For semiquasihomogeneous singularities, this also holds for intervals of the form $(a,a+1)$.

Two given isolated singularities $f$ and $g$ determine two spectra and from these spectra we get an integer.
This integer is the maximal positive integer $k$ such that the semicontinuity holds for the spectrum of $f$ and $k$ times the spectrum of $g$.
These numbers give bounds for the maximal number of isolated singularities of a specific type on a hypersurface $X\subset{P}^n$ of degree $d$:
such a hypersurface has a smooth hyperplane section, and the complement is a small deformation of a cone over this hyperplane section.
The cone itself being a $\mu$-constant deformation of $x_0^d+\dots+x_n^d=0$, the singularities are bounded by the spectrum of $x_0^d+\dots+x_n^d$.

Using the library {\tt gmssing.lib} one can compute the {\bf monodromy}, the V-fitration on $H''\/H'$, and the spectrum./;
$l2h_cache{$l2h_cache_key} = q|Let <!-- MATH
 $f\colon(C^{n+1},0)\rightarrow(C,0)$
 -->
<SPAN CLASS="MATH">700#700</SPAN> be a complex isolated hypersurface singularity given by a polynomial with algebraic coefficients which we also denote by <SPAN CLASS="MATH">265#265</SPAN>.
Let <!-- MATH
 $O=C[x_0,\ldots,x_n]_{(x_0,\ldots,x_n)}$
 -->
<SPAN CLASS="MATH">701#701</SPAN> be the local ring at the origin and <SPAN CLASS="MATH">702#702</SPAN> the Jacobian ideal of <SPAN CLASS="MATH">265#265</SPAN>.

<P>
A <B>Milnor representative</B> of <SPAN CLASS="MATH">265#265</SPAN> defines a differentiable fibre bundle over the punctured disc with fibres of homotopy type of <SPAN CLASS="MATH">703#703</SPAN> <SPAN CLASS="MATH">17#17</SPAN>-spheres.
The <SPAN CLASS="MATH">17#17</SPAN>-th cohomology bundle is a flat vector bundle of dimension <SPAN CLASS="MATH">17#17</SPAN> and carries a natural flat connection with covariant derivative <SPAN CLASS="MATH">704#704</SPAN>.
The <B>monodromy operator</B> is the action of a positively oriented generator of the fundamental group of the punctured disc on the Milnor fibre.
Sections in the cohomology bundle of <B>moderate growth</B> at <SPAN CLASS="MATH">2#2</SPAN> form a regular <!-- MATH
 $D=C\{t\}[\partial_t]$
 -->
<SPAN CLASS="MATH">705#705</SPAN>-module <SPAN CLASS="MATH">189#189</SPAN>, the <B>Gauss-Manin connection</B>.

<P>
By integrating along flat multivalued families of cycles, one can consider fibrewise global holomorphic differential forms as elements of <SPAN CLASS="MATH">189#189</SPAN>.
This factors through an inclusion of the <B>Brieskorn lattice</B> <!-- MATH
 $H'':=\Omega^{n+1}_{C^{n+1},0}/df\wedge d\Omega^{n-1}_{C^{n+1},0}$
 -->
<SPAN CLASS="MATH">706#706</SPAN> in <SPAN CLASS="MATH">189#189</SPAN>.

<P>
The <SPAN CLASS="MATH">238#238</SPAN>-module structure defines the <B>V-filtration</B> <SPAN CLASS="MATH">322#322</SPAN> on <SPAN CLASS="MATH">189#189</SPAN> by <!-- MATH
 $V^\alpha:=\sum_{\beta\ge\alpha}C\{t\}ker(t\partial_t-\beta)^{n+1}$
 -->
<SPAN CLASS="MATH">707#707</SPAN>.
The Brieskorn lattice defines the <B>Hodge filtration</B> <SPAN CLASS="MATH">708#708</SPAN> on <SPAN CLASS="MATH">189#189</SPAN> by <!-- MATH
 $F_k=\partial_t^kH''$
 -->
<SPAN CLASS="MATH">709#709</SPAN> which comes from the <B>mixed Hodge structure</B> on the Milnor fibre.
Note that <SPAN CLASS="MATH">710#710</SPAN>.

<P>
The induced V-filtration on the Brieskorn lattice determines the <B>singularity spectrum</B> <SPAN CLASS="MATH">711#711</SPAN> by <!-- MATH
 $Sp(\alpha):=\dim_CGr_V^\alpha Gr^F_0G$
 -->
<SPAN CLASS="MATH">712#712</SPAN>.
The spectrum consists of <SPAN CLASS="MATH">703#703</SPAN> rational numbers <!-- MATH
 $\alpha_1,\dots,\alpha_\mu$
 -->
<SPAN CLASS="MATH">713#713</SPAN> such that <!-- MATH
 $e^{2\pi i\alpha_1},\dots,e^{2\pi i\alpha_\mu}$
 -->
<SPAN CLASS="MATH">714#714</SPAN> are the eigenvalues of the monodromy.
These <B>spectral numbers</B> lie in the open interval <SPAN CLASS="MATH">715#715</SPAN>, symmetric about the midpoint <SPAN CLASS="MATH">716#716</SPAN>.

<P>
The spectrum is constant under <SPAN CLASS="MATH">703#703</SPAN>-constant deformations and has the following semicontinuity property:
The number of spectral numbers in an interval <SPAN CLASS="MATH">717#717</SPAN> of all singularities of a small deformation of <SPAN CLASS="MATH">265#265</SPAN> is greater than or equal to that of f in this interval.
For semiquasihomogeneous singularities, this also holds for intervals of the form <SPAN CLASS="MATH">718#718</SPAN>.

<P>
Two given isolated singularities <SPAN CLASS="MATH">265#265</SPAN> and <SPAN CLASS="MATH">149#149</SPAN> determine two spectra and from these spectra we get an integer.
This integer is the maximal positive integer <SPAN CLASS="MATH">280#280</SPAN> such that the semicontinuity holds for the spectrum of <SPAN CLASS="MATH">265#265</SPAN> and <SPAN CLASS="MATH">280#280</SPAN> times the spectrum of <SPAN CLASS="MATH">149#149</SPAN>.
These numbers give bounds for the maximal number of isolated singularities of a specific type on a hypersurface <SPAN CLASS="MATH">719#719</SPAN> of degree <SPAN CLASS="MATH">171#171</SPAN>:
such a hypersurface has a smooth hyperplane section, and the complement is a small deformation of a cone over this hyperplane section.
The cone itself being a <SPAN CLASS="MATH">703#703</SPAN>-constant deformation of <!-- MATH
 $x_0^d+\dots+x_n^d=0$
 -->
<SPAN CLASS="MATH">720#720</SPAN>, the singularities are bounded by the spectrum of <!-- MATH
 $x_0^d+\dots+x_n^d$
 -->
<SPAN CLASS="MATH">721#721</SPAN>.

<P>
Using the library <SPAN style="font-family:monospace">gmssing.lib</SPAN> one can compute the <B>monodromy</B>, the V-fitration on <SPAN CLASS="MATH">722#722</SPAN>, and the spectrum.|;

$l2h_cache_key = q/ $O, \; (O^{opp})^{opp} = O$./;
$l2h_cache{$l2h_cache_key} = q| <!-- MATH
 $O, \; (O^{opp})^{opp} = O$
 -->
<SPAN CLASS="MATH">215#215</SPAN>.|;

$l2h_cache_key = q/$Q \rightarrow (Z\/p)(a, \ldots)$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $Q \rightarrow (Z/p)(a, \ldots)$
 -->
<SPAN CLASS="MATH">88#88</SPAN>|;

$l2h_cache_key = q/ be the matrix of size $l \times k$ (resp.\ $l \times m$), having the
generators of $h_1$ (resp.\ $h_2$)/;
$l2h_cache{$l2h_cache_key} = q| be the matrix of size <SPAN CLASS="MATH">160#160</SPAN> (resp. <SPAN CLASS="MATH">161#161</SPAN>), having the
generators of <SPAN CLASS="MATH">155#155</SPAN> (resp. <SPAN CLASS="MATH">156#156</SPAN>)|;

$l2h_cache_key = q/$\hbox{Ext}^k(R\/J,R)$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $\hbox{Ext}^k(R/J,R)$
 -->
<SPAN CLASS="MATH">462#462</SPAN>|;

$l2h_cache_key = q/$x_2 x_2$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">361#361</SPAN>|;

$l2h_cache_key = q/$R=K[x,y]_m\/(x^2-y^3)$, $m=(x,y)$./;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $R=K[x,y]_m/(x^2-y^3)$
 -->
<SPAN CLASS="MATH">466#466</SPAN>, <SPAN CLASS="MATH">467#467</SPAN>.|;

$l2h_cache_key = q/$\hbox{GF}(p^n)$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $\hbox{GF}(p^n)$
 -->
<SPAN CLASS="MATH">25#25</SPAN>|;

$l2h_cache_key = q/$K[x_0,\dots,x_n]$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $K[x_0,\dots,x_n]$
 -->
<SPAN CLASS="MATH">441#441</SPAN>|;

$l2h_cache_key = q/${\tt L[i]}\neq 0$ for $i \le p$,/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 ${\tt L[i]}\neq 0$
 -->
<SPAN CLASS="MATH">167#167</SPAN> for <SPAN CLASS="MATH">168#168</SPAN>,|;

$l2h_cache_key = q/ ($=\hbox{Ext}^1(K,K)$)/;
$l2h_cache{$l2h_cache_key} = q| (<!-- MATH
 $=\hbox{Ext}^1(K,K)$
 -->
<SPAN CLASS="MATH">463#463</SPAN>)|;

$l2h_cache_key = q/$i_{1,1}$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">72#72</SPAN>|;

$l2h_cache_key = q/$g_1$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">1002#1002</SPAN>|;

$l2h_cache_key = q/$R \rightarrow C$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $R \rightarrow C$
 -->
<SPAN CLASS="MATH">83#83</SPAN>|;

$l2h_cache_key = q/$M_i={\tt module} (A_i)$, i=1..k./;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $M_i={\tt module} (A_i)$
 -->
<SPAN CLASS="MATH">135#135</SPAN>, i=1..k.|;

$l2h_cache_key = q/  Define $z_l=a^{j_l}$ and $y_l=e_{j_l}$. Then $z_1,\dots,z_t$ are the error locations and $y_1,\dots,y_t$ are the error values and
  the syndromes above become {\bf generalized power sum functions} $s_{i_m}=\sum_{l=1}^{t}y_lz_l^{i_m}, \ \ 1\le m \le n-k. $/;
$l2h_cache{$l2h_cache_key} = q|  Define <SPAN CLASS="MATH">841#841</SPAN> and <SPAN CLASS="MATH">842#842</SPAN>. Then <SPAN CLASS="MATH">843#843</SPAN> are the error locations and <SPAN CLASS="MATH">844#844</SPAN> are the error values and
  the syndromes above become <B>generalized power sum functions</B> <!-- MATH
 $s_{i_m}=\sum_{l=1}^{t}y_lz_l^{i_m}, \ \ 1\le m \le n-k.$
 -->
<SPAN CLASS="MATH">845#845</SPAN>|;

$l2h_cache_key = q/$Q \rightarrow Z\/p$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $Q \rightarrow Z/p$
 -->
<SPAN CLASS="MATH">87#87</SPAN>|;

$l2h_cache_key = q/$\hbox{Ext}^k(R\/i,R)$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $\hbox{Ext}^k(R/i,R)$
 -->
<SPAN CLASS="MATH">470#470</SPAN>|;

$l2h_cache_key = q/$R^n\/M$, if $R$ denotes the basering and
$M$ a homogeneous submodule of $R^n$ and the argument represents a
resolution of
$R^n\/M$./;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">92#92</SPAN>, if <SPAN CLASS="MATH">53#53</SPAN> denotes the basering and
<SPAN CLASS="MATH">13#13</SPAN> a homogeneous submodule of <SPAN CLASS="MATH">90#90</SPAN> and the argument represents a
resolution of
<SPAN CLASS="MATH">92#92</SPAN>.|;

$l2h_cache_key = q/$f=g\circ h, (g_1,\ldots,g_m,h)$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $f=g\circ h, (g_1,\ldots,g_m,h)$
 -->
<SPAN CLASS="MATH">1004#1004</SPAN>|;

$l2h_cache_key = q/Let $R$ be a quotient of $\hbox{Loc}_< K[\underline{x}]$ and let \hbox{$I=(g_1, ..., g_s)$} be a submodule of $R^r$.
Then the {\bf module of syzygies} (or {\bf 1st syzygy module}, {\bf module of relations}) of $I$, syz($I$), is defined to be the kernel of the map \hbox{$R^s \rightarrow R^r,\; \sum_{i=1}^s w_ie_i \mapsto \sum_{i=1}^s w_ig_i$.}/;
$l2h_cache{$l2h_cache_key} = q|Let <SPAN CLASS="MATH">53#53</SPAN> be a quotient of <!-- MATH
 $\hbox{Loc}_< K[\underline{x}]$
 -->
<SPAN CLASS="MATH">657#657</SPAN> and let <!-- MATH
 $I=(g_1, ..., g_s)$
 -->
<SPAN CLASS="MATH">658#658</SPAN> be a submodule of <SPAN CLASS="MATH">622#622</SPAN>.
Then the <B>module of syzygies</B> (or <B>1st syzygy module</B>, <B>module of relations</B>) of <SPAN CLASS="MATH">251#251</SPAN>, syz(<SPAN CLASS="MATH">251#251</SPAN>), is defined to be the kernel of the map <!-- MATH
 $R^s \rightarrow R^r,\; \sum_{i=1}^s w_ie_i \mapsto \sum_{i=1}^s w_ig_i$
 -->
<SPAN CLASS="MATH">659#659</SPAN>.|;

$l2h_cache_key = q/$x$./;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">40#40</SPAN>.|;

$l2h_cache_key = q/$N$,/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">418#418</SPAN>,|;

$l2h_cache_key = q/$A$ has a PBW (Poincar\'e-Birkhoff-Witt) basis,/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">190#190</SPAN> has a PBW (Poincaré-Birkhoff-Witt) basis,|;

$l2h_cache_key = q/$k_2[Y]$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">97#97</SPAN>|;

$l2h_cache_key = q/$\alpha, \beta$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">70#70</SPAN>|;

$l2h_cache_key = q/$\deg(g)$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">991#991</SPAN>|;

$l2h_cache_key = q/$Z<x,y>\/<2x,3y> =$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $Z<x,y>/<2x,3y> =$
 -->
<SPAN CLASS="MATH">309#309</SPAN>|;

$l2h_cache_key = q/  $L_C=Z^e+a_{t-1}Z^{e-1}+\dots +a_0$  with $a_j\in F_q[X_1,\dots ,X_{n-k}],\ 0\le j\le e-1$, where $e$ is the error-correcting
  capacity;/;
$l2h_cache{$l2h_cache_key} = q|  <!-- MATH
 $L_C=Z^e+a_{t-1}Z^{e-1}+\dots +a_0$
 -->
<SPAN CLASS="MATH">863#863</SPAN> with <!-- MATH
 $a_j\in F_q[X_1,\dots ,X_{n-k}],\ 0\le j\le e-1$
 -->
<SPAN CLASS="MATH">864#864</SPAN>, where <SPAN CLASS="MATH">865#865</SPAN> is the error-correcting
  capacity;|;

$l2h_cache_key = q/  {\bf Complete decoding}: Given $y\in F_q^n$ and a code $C\subseteq F_q^n$, so that $y$ is at distance $d(y,C)$ from
  the code, find $c\in C: d(y,c)=d(y,C)$./;
$l2h_cache{$l2h_cache_key} = q|  <B>Complete decoding</B>: Given <SPAN CLASS="MATH">819#819</SPAN> and a code <!-- MATH
 $C\subseteq F_q^n$
 -->
<SPAN CLASS="MATH">820#820</SPAN>, so that <SPAN CLASS="MATH">41#41</SPAN> is at distance <SPAN CLASS="MATH">821#821</SPAN> from
  the code, find <!-- MATH
 $c\in C: d(y,c)=d(y,C)$
 -->
<SPAN CLASS="MATH">822#822</SPAN>.|;

$l2h_cache_key = q/$Q \rightarrow R$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $Q \rightarrow R$
 -->
<SPAN CLASS="MATH">76#76</SPAN>|;

$l2h_cache_key = q/$C_0 = 1, C_1 = x, C_2 = 1, C_3 = x$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $C_0 = 1, C_1 = x, C_2 = 1, C_3 = x$
 -->
<SPAN CLASS="MATH">1015#1015</SPAN>|;

$l2h_cache_key = q/$K[x_1,\ldots,x_n]$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $K[x_1,\ldots,x_n]$
 -->
<SPAN CLASS="MATH">62#62</SPAN>|;

$l2h_cache_key = q/$sat(j+(f),m)$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">445#445</SPAN>|;

$l2h_cache_key = q/$\hbox{Ws}(w_1, \ldots, w_n)$)/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $\hbox{Ws}(w_1, \ldots, w_n)$
 -->
<SPAN CLASS="MATH">537#537</SPAN>)|;

$l2h_cache_key = q/ Let $T = (K^*)^r$ be the $r$-dimensional torus acting on the polynomial ring
 $R = K[X_1 ,\ldots,X_n]$ diagonally. Such an action can be described as
 follows: there are integers $a_{i,j}$, $i=1,\ldots,r$, $j=1,\ldots,n$, such
 that $(\lambda_1,\ldots,\lambda_r)\in T$ acts by the substitution
$$ X_j \mapsto \lambda_1^{a_{1,j}} \cdots \lambda_r^{a_{r,j}}X_j,
   \quad j=1,\ldots,n.$$
In order to compute the ring of invariants $R^T$ one must specify the matrix
$A=(a_{i,j})$./;
$l2h_cache{$l2h_cache_key} = q| Let <SPAN CLASS="MATH">1027#1027</SPAN> be the <SPAN CLASS="MATH">299#299</SPAN>-dimensional torus acting on the polynomial ring
 <!-- MATH
 $R = K[X_1 ,\ldots,X_n]$
 -->
<SPAN CLASS="MATH">1028#1028</SPAN> diagonally. Such an action can be described as
 follows: there are integers <SPAN CLASS="MATH">1029#1029</SPAN>, <SPAN CLASS="MATH">1030#1030</SPAN>, <SPAN CLASS="MATH">1031#1031</SPAN>, such
 that <!-- MATH
 $(\lambda_1,\ldots,\lambda_r)\in T$
 -->
<SPAN CLASS="MATH">1032#1032</SPAN> acts by the substitution
<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
X_j \mapsto \lambda_1^{a_{1,j}} \cdots \lambda_r^{a_{r,j}}X_j,
   \quad j=1,\ldots,n.
\end{displaymath}
 -->

1033#1033
</DIV>
In order to compute the ring of invariants <SPAN CLASS="MATH">1026#1026</SPAN> one must specify the matrix
<SPAN CLASS="MATH">1034#1034</SPAN>.|;

$l2h_cache_key = q/$i+j$ of the $j$-th/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">172#172</SPAN> of the <SPAN CLASS="MATH">55#55</SPAN>-th|;

$l2h_cache_key = q/
$\quad$ lp:
$\left(\matrix{
 1 & 0 & 0 \cr
 0 & 1 & 0 \cr
 0 & 0 & 1 \cr
 }\right)$
\quad dp:
$\left(\matrix{
 1 & 1 & 1 \cr
 0 & 0 &-1 \cr
 0 &-1 & 0 \cr
 }\right)$
\quad Dp:
$\left(\matrix{
 1 & 1 & 1 \cr
 1 & 0 & 0 \cr
 0 & 1 & 0 \cr
 }\right)$

$\quad$ wp(1,2,3):
$\left(\matrix{
 1 & 2 & 3 \cr
 0 & 0 &-1 \cr
 0 &-1 & 0 \cr
 }\right)$
\quad Wp(1,2,3):
$\left(\matrix{
 1 & 2 & 3 \cr
 1 & 0 & 0 \cr
 0 & 1 & 0 \cr
 }\right)$

$\quad$ ls:
$\left(\matrix{
-1 & 0 & 0 \cr
 0 &-1 & 0 \cr
 0 & 0 &-1 \cr
 }\right)$
\quad ds:
$\left(\matrix{
-1 &-1 &-1 \cr
 0 & 0 &-1 \cr
 0 &-1 & 0 \cr
 }\right)$
\quad Ds:
$\left(\matrix{
-1 &-1 &-1 \cr
 1 & 0 & 0 \cr
 0 & 1 & 0 \cr
 }\right)$

$\quad$ ws(1,2,3):
$\left(\matrix{
-1 &-2 &-3 \cr
 0 & 0 &-1 \cr
 0 &-1 & 0 \cr
 }\right)$
\quad Ws(1,2,3):
$\left(\matrix{
-1 &-2 &-3 \cr
 1 & 0 & 0 \cr
 0 & 1 & 0 \cr
 }\right)$/;
$l2h_cache{$l2h_cache_key} = q|
<P>
<SPAN CLASS="MATH">594#594</SPAN> lp:
<!-- MATH
 $\left(\matrix{
 1 & 0 & 0 \cr
 0 & 1 & 0 \cr
 0 & 0 & 1 \cr
 }\right)$
 -->
<SPAN CLASS="MATH">595#595</SPAN>
&nbsp;&nbsp;&nbsp;&nbsp;dp:
<!-- MATH
 $\left(\matrix{
 1 & 1 & 1 \cr
 0 & 0 &-1 \cr
 0 &-1 & 0 \cr
 }\right)$
 -->
<SPAN CLASS="MATH">596#596</SPAN>
&nbsp;&nbsp;&nbsp;&nbsp;Dp:
<!-- MATH
 $\left(\matrix{
 1 & 1 & 1 \cr
 1 & 0 & 0 \cr
 0 & 1 & 0 \cr
 }\right)$
 -->
<SPAN CLASS="MATH">597#597</SPAN>

<P>
<SPAN CLASS="MATH">594#594</SPAN> wp(1,2,3):
<!-- MATH
 $\left(\matrix{
 1 & 2 & 3 \cr
 0 & 0 &-1 \cr
 0 &-1 & 0 \cr
 }\right)$
 -->
<SPAN CLASS="MATH">598#598</SPAN>
&nbsp;&nbsp;&nbsp;&nbsp;Wp(1,2,3):
<!-- MATH
 $\left(\matrix{
 1 & 2 & 3 \cr
 1 & 0 & 0 \cr
 0 & 1 & 0 \cr
 }\right)$
 -->
<SPAN CLASS="MATH">599#599</SPAN>

<P>
<SPAN CLASS="MATH">594#594</SPAN> ls:
<!-- MATH
 $\left(\matrix{
-1 & 0 & 0 \cr
 0 &-1 & 0 \cr
 0 & 0 &-1 \cr
 }\right)$
 -->
<SPAN CLASS="MATH">600#600</SPAN>
&nbsp;&nbsp;&nbsp;&nbsp;ds:
<!-- MATH
 $\left(\matrix{
-1 &-1 &-1 \cr
 0 & 0 &-1 \cr
 0 &-1 & 0 \cr
 }\right)$
 -->
<SPAN CLASS="MATH">601#601</SPAN>
&nbsp;&nbsp;&nbsp;&nbsp;Ds:
<!-- MATH
 $\left(\matrix{
-1 &-1 &-1 \cr
 1 & 0 & 0 \cr
 0 & 1 & 0 \cr
 }\right)$
 -->
<SPAN CLASS="MATH">602#602</SPAN>

<P>
<SPAN CLASS="MATH">594#594</SPAN> ws(1,2,3):
<!-- MATH
 $\left(\matrix{
-1 &-2 &-3 \cr
 0 & 0 &-1 \cr
 0 &-1 & 0 \cr
 }\right)$
 -->
<SPAN CLASS="MATH">603#603</SPAN>
&nbsp;&nbsp;&nbsp;&nbsp;Ws(1,2,3):
<!-- MATH
 $\left(\matrix{
-1 &-2 &-3 \cr
 1 & 0 & 0 \cr
 0 & 1 & 0 \cr
 }\right)$
 -->
<SPAN CLASS="MATH">604#604</SPAN>|;

$l2h_cache_key = q/$Z<x,y>\/<2x,3y,yx,xy> =$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $Z<x,y>/<2x,3y,yx,xy> =$
 -->
<SPAN CLASS="MATH">310#310</SPAN>|;

$l2h_cache_key = q/    given a syndrome ${\bf s}=(s_{i_1},\dots,s_{i_{n-k}})\in F^{n-k}$ corresponding to an error of weight $t\le e$
    and error locations $\{k_1,\dots,k_{t}\}$, if we evaluate the $X_u=s_{i_u}$ for all $1\le u \le n-k$,
    then the roots of $L_C({\bf s},Z)$ are exactly $a^{k_1},\dots,a^{k_t}$ and 0 of multiplicity $e-t$, in other words
    $L_C({\bf s},Z)=Z^{e-t}\prod_{i=1}^{t}(Z-a ^{k_i}).$/;
$l2h_cache{$l2h_cache_key} = q|    given a syndrome <!-- MATH
 ${\bf s}=(s_{i_1},\dots,s_{i_{n-k}})\in F^{n-k}$
 -->
<SPAN CLASS="MATH">866#866</SPAN> corresponding to an error of weight <SPAN CLASS="MATH">867#867</SPAN>
    and error locations <!-- MATH
 $\{k_1,\dots,k_{t}\}$
 -->
<SPAN CLASS="MATH">868#868</SPAN>, if we evaluate the <SPAN CLASS="MATH">869#869</SPAN> for all <!-- MATH
 $1\le u \le n-k$
 -->
<SPAN CLASS="MATH">870#870</SPAN>,
    then the roots of <!-- MATH
 $L_C({\bf s},Z)$
 -->
<SPAN CLASS="MATH">871#871</SPAN> are exactly <!-- MATH
 $a^{k_1},\dots,a^{k_t}$
 -->
<SPAN CLASS="MATH">872#872</SPAN> and 0 of multiplicity <SPAN CLASS="MATH">873#873</SPAN>, in other words
    <!-- MATH
 $L_C({\bf s},Z)=Z^{e-t}\prod_{i=1}^{t}(Z-a ^{k_i}).$
 -->
<SPAN CLASS="MATH">874#874</SPAN>|;

$l2h_cache_key = q/$t_1,\ldots,t_r$./;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $t_1,\ldots,t_r$
 -->
<SPAN CLASS="MATH">450#450</SPAN>.|;

$l2h_cache_key = q/$x^v$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">795#795</SPAN>|;

$l2h_cache_key = q/$C$ and $D$./;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">78#78</SPAN> and <SPAN CLASS="MATH">238#238</SPAN>.|;

$l2h_cache_key = q/$(g_1,\ldots,g_l,h)$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $(g_1,\ldots,g_l,h)$
 -->
<SPAN CLASS="MATH">1001#1001</SPAN>|;

$l2h_cache_key = q/$f \in R$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">674#674</SPAN>|;

$l2h_cache_key = q/$<_m = (<,C)$ denotes the module ordering (giving priority to the coefficients):/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">575#575</SPAN> denotes the module ordering (giving priority to the coefficients):|;

$l2h_cache_key = q/$\forall \; 1 \leq i<j<k \leq n \; \; : \; {\cal NDC}_{ijk} =0$, where
$$
{\cal NDC}_{ijk} = c_{ik}c_{jk} \cdot d_{ij}x_k - x_k d_{ij} +
c_{jk} \cdot x_j d_{ik} - c_{ij} \cdot d_{ik}x_j + d_{jk}x_i
- c_{ij}c_{ik} \cdot x_i d_{jk}.
$$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $\forall \; 1 \leq i<j<k \leq n \; \; : \; {\cal NDC}_{ijk} =0$
 -->
<SPAN CLASS="MATH">229#229</SPAN>, where
<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
{\cal NDC}_{ijk} = c_{ik}c_{jk} \cdot d_{ij}x_k - x_k d_{ij} +
c_{jk} \cdot x_j d_{ik} - c_{ij} \cdot d_{ik}x_j + d_{jk}x_i
- c_{ij}c_{ik} \cdot x_i d_{jk}.
\end{displaymath}
 -->

230#230
</DIV>
|;

$l2h_cache_key = q/$N$ and $M \subseteq R^n$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">418#418</SPAN> and <!-- MATH
 $M \subseteq R^n$
 -->
<SPAN CLASS="MATH">532#532</SPAN>|;

$l2h_cache_key = q/$\{ x^a e_i  \mid  a \in N^n, 1 \leq i \leq r \}$ in Loc $K[x]^r$ = Loc
$K[x]e_1
+ \ldots +$Loc $K[x]e_r$, where $e_1, \ldots, e_r$ denote the canonical
generators of Loc $K[x]^r$, the r-fold direct sum of Loc $K[x]$.
(The function {\tt gen(i)} yields $e_i$)./;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $\{ x^a e_i  \mid  a \in N^n, 1 \leq i \leq r \}$
 -->
<SPAN CLASS="MATH">570#570</SPAN> in Loc <SPAN CLASS="MATH">571#571</SPAN> = Loc
<!-- MATH
 $K[x]e_1
+ \ldots +$
 -->
<SPAN CLASS="MATH">572#572</SPAN>Loc <SPAN CLASS="MATH">573#573</SPAN>, where <!-- MATH
 $e_1, \ldots, e_r$
 -->
<SPAN CLASS="MATH">574#574</SPAN> denote the canonical
generators of Loc <SPAN CLASS="MATH">571#571</SPAN>, the r-fold direct sum of Loc <SPAN CLASS="MATH">549#549</SPAN>.
(The function <SPAN style="font-family:monospace">gen(i)</SPAN> yields <SPAN CLASS="MATH">413#413</SPAN>).|;

$l2h_cache_key = q/$N = R^n\/M$ where $n$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">531#531</SPAN> where <SPAN CLASS="MATH">17#17</SPAN>|;

$l2h_cache_key = q/  Let $B$ be an MDS matrix with structure constants $\mu^{ij}_l$.
  Define $U_{ij}$ in the variables $U_1, \dots ,U_n$ by
  $$
    U_{ij}=\sum _{l=1}^n \mu^{ij}_lU_l.
  $$
  The ideal $J({\bf r})$ in $F_q[U_1,\dots,U_n]$ is generated by
  $$
     \sum_{l=1}^n a_{jl}U_l-s_j({\bf r})  \hbox{ for }   j=1,\dots,n-k.
  $$
  The ideal $I(t,U,V)$ in $F_q[U_1,\dots,U_n,V_1,\dots,V_t]$
  is generated by
  $$
    \sum_{j=1}^t U_{ij}V_j-U_{i,t+1} \hbox{ for } i=1,\dots,n
  $$
  Let $J(t,{\bf r})$ be the ideal in $F_q[U_1,\dots,U_n,V_1,\dots,V_t]$
  generated by $J({\bf r})$ and $I(t,U,V)$./;
$l2h_cache{$l2h_cache_key} = q|  Let <SPAN CLASS="MATH">195#195</SPAN> be an MDS matrix with structure constants <SPAN CLASS="MATH">967#967</SPAN>.
  Define <SPAN CLASS="MATH">968#968</SPAN> in the variables <!-- MATH
 $U_1, \dots ,U_n$
 -->
<SPAN CLASS="MATH">969#969</SPAN> by
  <DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
U_{ij}=\sum _{l=1}^n \mu^{ij}_lU_l.
\end{displaymath}
 -->

970#970
</DIV>
The ideal <SPAN CLASS="MATH">971#971</SPAN> in <!-- MATH
 $F_q[U_1,\dots,U_n]$
 -->
<SPAN CLASS="MATH">972#972</SPAN> is generated by
  <DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
\sum_{l=1}^n a_{jl}U_l-s_j({\bf r})  \hbox{ for }   j=1,\dots,n-k.
\end{displaymath}
 -->

973#973
</DIV>
The ideal <SPAN CLASS="MATH">974#974</SPAN> in <!-- MATH
 $F_q[U_1,\dots,U_n,V_1,\dots,V_t]$
 -->
<SPAN CLASS="MATH">975#975</SPAN>
  is generated by
  <DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
\sum_{j=1}^t U_{ij}V_j-U_{i,t+1} \hbox{ for } i=1,\dots,n
\end{displaymath}
 -->

976#976
</DIV>
Let <SPAN CLASS="MATH">977#977</SPAN> be the ideal in <!-- MATH
 $F_q[U_1,\dots,U_n,V_1,\dots,V_t]$
 -->
<SPAN CLASS="MATH">975#975</SPAN>
  generated by <SPAN CLASS="MATH">971#971</SPAN> and <SPAN CLASS="MATH">974#974</SPAN>.|;

$l2h_cache_key = q/$$
0 \longleftarrow r\/j \longleftarrow r(1)
\buildrel{T[1]}\over{\longleftarrow} r(2) \oplus r^3(3)
\buildrel{T[2]}\over{\longleftarrow} r^4(4)
\buildrel{T[3]}\over{\longleftarrow} r(5)
\longleftarrow 0 \quad .
$$/;
$l2h_cache{$l2h_cache_key} = q|<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
0 \longleftarrow r/j \longleftarrow r(1)
\buildrel{T[1]}\over{\longleftarrow} r(2) \oplus r^3(3)
\buildrel{T[2]}\over{\longleftarrow} r^4(4)
\buildrel{T[3]}\over{\longleftarrow} r(5)
\longleftarrow 0 \quad .
\end{displaymath}
 -->

100#100
</DIV>
|;

$l2h_cache_key = q/\quad \quad   $x^\alpha e_i <_m x^\beta e_j \Leftrightarrow i < j$ or ($
i = j $ and $ x^\alpha < x^\beta $)./;
$l2h_cache{$l2h_cache_key} = q|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<!-- MATH
 $x^\alpha e_i <_m x^\beta e_j \Leftrightarrow i < j$
 -->
<SPAN CLASS="MATH">579#579</SPAN> or (<SPAN CLASS="MATH">580#580</SPAN> and <!-- MATH
 $x^\alpha < x^\beta$
 -->
<SPAN CLASS="MATH">542#542</SPAN>).|;

$l2h_cache_key = q/$\{x^{a_1}_1 x^{a_2}_2 \dots x^{a_n}_n\}$./;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $\{x^{a_1}_1 x^{a_2}_2 \dots x^{a_n}_n\}$
 -->
<SPAN CLASS="MATH">233#233</SPAN>.|;

$l2h_cache_key = q/$g$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">149#149</SPAN>|;

$l2h_cache_key = q/$ \{ x_j x_i=c_{ij} \cdot x_i x_j + d_{ij}, 1 \leq i <j \leq k \}, $
where $c_{ij}$ and $d_{ij}$ must be put into two strictly upper/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $\{ x_j x_i=c_{ij} \cdot x_i x_j + d_{ij}, 1 \leq i <j \leq k \},$
 -->
<SPAN CLASS="MATH">209#209</SPAN>
where <SPAN CLASS="MATH">210#210</SPAN> and <SPAN CLASS="MATH">211#211</SPAN> must be put into two strictly upper|;

$l2h_cache_key = q/$N = R^n\/M$ instead of $M$./;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">531#531</SPAN> instead of <SPAN CLASS="MATH">13#13</SPAN>.|;

$l2h_cache_key = q/$h$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">996#996</SPAN>|;

$l2h_cache_key = q/$P_n$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">1009#1009</SPAN>|;

$l2h_cache_key = q/$(h1+h2)\/h1 \cong h2\/(h1 \cap h2)$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $(h1+h2)/h1 \cong h2/(h1 \cap h2)$
 -->
<SPAN CLASS="MATH">74#74</SPAN>|;

$l2h_cache_key = q/$N_1, \ldots, N_s$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $N_1, \ldots, N_s$
 -->
<SPAN CLASS="MATH">419#419</SPAN>|;

$l2h_cache_key = q/$k[X,Y]$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">95#95</SPAN>|;

$l2h_cache_key = q/$\deg(g) < \deg(f)$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $\deg(g) < \deg(f)$
 -->
<SPAN CLASS="MATH">989#989</SPAN>|;

$l2h_cache_key = q/$A^{env} = A \otimes_K A^{opp}$, where $A^{opp}$ is the
opposite algebra of $A$./;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $A^{env} = A \otimes_K A^{opp}$
 -->
<SPAN CLASS="MATH">205#205</SPAN>, where <SPAN CLASS="MATH">206#206</SPAN> is the
opposite algebra of <SPAN CLASS="MATH">190#190</SPAN>.|;

$l2h_cache_key = q/    $x^\alpha < x^\beta \Leftrightarrow \deg(x^\alpha) < \deg(x^\beta)$ or/;
$l2h_cache{$l2h_cache_key} = q|    <!-- MATH
 $x^\alpha < x^\beta \Leftrightarrow \deg(x^\alpha) < \deg(x^\beta)$
 -->
<SPAN CLASS="MATH">554#554</SPAN> or|;

$l2h_cache_key = q/${\tt L[i]}=M_i$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 ${\tt L[i]}=M_i$
 -->
<SPAN CLASS="MATH">136#136</SPAN>|;

$l2h_cache_key = q/\quad \quad $x^\alpha e_i <_m x^\beta e_j \Leftrightarrow x^\alpha <
x^\beta$ or ($x^\alpha = x^\beta $ and $ i > j$)./;
$l2h_cache{$l2h_cache_key} = q|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<!-- MATH
 $x^\alpha e_i <_m x^\beta e_j \Leftrightarrow x^\alpha <
x^\beta$
 -->
<SPAN CLASS="MATH">576#576</SPAN> or (<!-- MATH
 $x^\alpha = x^\beta$
 -->
<SPAN CLASS="MATH">577#577</SPAN> and <SPAN CLASS="MATH">582#582</SPAN>).|;

$l2h_cache_key = q/$x_n > \/I$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">325#325</SPAN>|;

$l2h_cache_key = q/$x_1 x_2 x_3$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">358#358</SPAN>|;

$l2h_cache_key = q/$p$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">23#23</SPAN>|;

$l2h_cache_key = q/$-y z^i*(2x) + (3y)*z^i x = y z^i x$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $-y z^i*(2x) + (3y)*z^i x = y z^i x$
 -->
<SPAN CLASS="MATH">318#318</SPAN>|;

$l2h_cache_key = q/\quad  \quad  $x^\alpha e_i <_m x^\beta e_j \Leftrightarrow x^\alpha <
x^\beta$ or ($x^\alpha = x^\beta $ and $ i < j$)./;
$l2h_cache{$l2h_cache_key} = q|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<!-- MATH
 $x^\alpha e_i <_m x^\beta e_j \Leftrightarrow x^\alpha <
x^\beta$
 -->
<SPAN CLASS="MATH">576#576</SPAN> or (<!-- MATH
 $x^\alpha = x^\beta$
 -->
<SPAN CLASS="MATH">577#577</SPAN> and <SPAN CLASS="MATH">338#338</SPAN>).|;

$l2h_cache_key = q/$delta$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">372#372</SPAN>|;

$l2h_cache_key = q/    \phantom{ $x^\alpha < x^\beta \Leftrightarrow $} $\deg(x^\alpha) =
    \deg(x^\beta)$ and $\exists\ 1 \le i \le n:\alpha_1 = \beta_1,
    \ldots, \alpha_{i-1} = \beta_{i-1}, \alpha_i < \beta_i.$/;
$l2h_cache{$l2h_cache_key} = q|     <!-- MATH
 $\deg(x^\alpha) =
    \deg(x^\beta)$
 -->
<SPAN CLASS="MATH">556#556</SPAN> and <!-- MATH
 $\exists\ 1 \le i \le n:\alpha_1 = \beta_1,
    \ldots, \alpha_{i-1} = \beta_{i-1}, \alpha_i < \beta_i.$
 -->
<SPAN CLASS="MATH">558#558</SPAN>|;

$l2h_cache_key = q/$\emptyset\not=Y\subset X$ if for all $f\in K\langle X\rangle\setminus\{0\}$ one has $ lm(f)\in  K\langle X\setminus Y\rangle\Rightarrow f\in K\langle X\setminus Y\rangle\subseteq K\langle X\rangle$./;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $\emptyset\not=Y\subset X$
 -->
<SPAN CLASS="MATH">351#351</SPAN> if for all <!-- MATH
 $f\in K\langle X\rangle\setminus\{0\}$
 -->
<SPAN CLASS="MATH">352#352</SPAN> one has <!-- MATH
 $lm(f)\in  K\langle X\setminus Y\rangle\Rightarrow f\in K\langle X\setminus Y\rangle\subseteq K\langle X\rangle$
 -->
<SPAN CLASS="MATH">353#353</SPAN>.|;

$l2h_cache_key = q/$f_i*gen(i)$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">527#527</SPAN>|;

$l2h_cache_key = q/$Z\/32003[x,y,z]$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $Z/32003[x,y,z]$
 -->
<SPAN CLASS="MATH">5#5</SPAN>|;

$l2h_cache_key = q/$\hbox{Loc}_{(x)}K[x_1,\ldots,x_n]$./;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $\hbox{Loc}_{(x)}K[x_1,\ldots,x_n]$
 -->
<SPAN CLASS="MATH">494#494</SPAN>.|;

$l2h_cache_key = q/$x_1 x_3$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">362#362</SPAN>|;

$l2h_cache_key = q/$a \in Q$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">435#435</SPAN>|;

$l2h_cache_key = q/$Z\/6^3[x,y,z]$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">59#59</SPAN>|;

$l2h_cache_key = q/$f:k^n \to k, n\geq 2$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $f:k^n \to k, n\geq 2$
 -->
<SPAN CLASS="MATH">1000#1000</SPAN>|;

$l2h_cache_key = q/$a<<b$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">350#350</SPAN>|;

$l2h_cache_key = q/$$
    \hbox{deg}(e_{a,j}) \le s+j-1 \quad \hbox{for all $j$.}
$$/;
$l2h_cache{$l2h_cache_key} = q|<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
\hbox{deg}(e_{a,j}) \le s+j-1 \quad \hbox{for all $j$.}
\end{displaymath}
 -->

671#671
</DIV>
|;

$l2h_cache_key = q/  {\bf Online decoding}: Solve some system $S(C,{\bf r})$. The solutions should solve the decoding problem./;
$l2h_cache{$l2h_cache_key} = q|  <B>Online decoding</B>: Solve some system <SPAN CLASS="MATH">829#829</SPAN>. The solutions should solve the decoding problem.|;

$l2h_cache_key = q/$c_{ij}$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">210#210</SPAN>|;

$l2h_cache_key = q/$A_1={\tt matrix}(M)$./;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $A_1={\tt matrix}(M)$
 -->
<SPAN CLASS="MATH">179#179</SPAN>.|;

$l2h_cache_key = q/$x_3$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">364#364</SPAN>|;

$l2h_cache_key = q/$V(i)$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">444#444</SPAN>|;

$l2h_cache_key = q/$K=Z\/7(a,b,c)$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">44#44</SPAN>|;

$l2h_cache_key = q/$L(g_i)\neq L(g_j)$ for all $i\neq j$,/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $L(g_i)\neq L(g_j)$
 -->
<SPAN CLASS="MATH">142#142</SPAN> for all <SPAN CLASS="MATH">143#143</SPAN>,|;

$l2h_cache_key = q/$P_n(x) = 2\cdot T_n(x\/2)$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $P_n(x) = 2\cdot T_n(x/2)$
 -->
<SPAN CLASS="MATH">1013#1013</SPAN>|;

$l2h_cache_key = q/Let $R = \hbox{Loc}_< K[\underline{x}]$ and let $I$ be a submodule of $R^r$.
Note that for r=1 this means that $I$ is an ideal in $R$.
Denote by $L(I)$ the submodule of $R^r$ generated by the leading terms
of elements of $I$, i.e. by $\left\{L(f) \mid f \in I\right\}$.
Then $f_1, \ldots, f_s \in I$ is called a {\bf standard basis} of $I$
if $L(f_1), \ldots, L(f_s)$ generate $L(I)$.

A standard basis is {\bf minimal} if $\forall i: (f_1,..,f_{i-1},f_{i+1},..,f_s) \neq I$.

A minimal standard basis is {\bf completely reduced} if $\forall i: {\tt reduce}(f_i,(f_1,..,f_{i-1},f_{i+1},..,f_s))=f_i$/;
$l2h_cache{$l2h_cache_key} = q|Let <!-- MATH
 $R = \hbox{Loc}_< K[\underline{x}]$
 -->
<SPAN CLASS="MATH">621#621</SPAN> and let <SPAN CLASS="MATH">251#251</SPAN> be a submodule of <SPAN CLASS="MATH">622#622</SPAN>.
Note that for r=1 this means that <SPAN CLASS="MATH">251#251</SPAN> is an ideal in <SPAN CLASS="MATH">53#53</SPAN>.
Denote by <SPAN CLASS="MATH">623#623</SPAN> the submodule of <SPAN CLASS="MATH">622#622</SPAN> generated by the leading terms
of elements of <SPAN CLASS="MATH">251#251</SPAN>, i.e. by <!-- MATH
 $\left\{L(f) \mid f \in I\right\}$
 -->
<SPAN CLASS="MATH">624#624</SPAN>.
Then <!-- MATH
 $f_1, \ldots, f_s \in I$
 -->
<SPAN CLASS="MATH">625#625</SPAN> is called a <B>standard basis</B> of <SPAN CLASS="MATH">251#251</SPAN>
if <!-- MATH
 $L(f_1), \ldots, L(f_s)$
 -->
<SPAN CLASS="MATH">626#626</SPAN> generate <SPAN CLASS="MATH">623#623</SPAN>.

<P>
A standard basis is <B>minimal</B> if <!-- MATH
 $\forall i: (f_1,..,f_{i-1},f_{i+1},..,f_s) \neq I$
 -->
<SPAN CLASS="MATH">627#627</SPAN>.

<P>
A minimal standard basis is <B>completely reduced</B> if <!-- MATH
 $\forall i: {\tt reduce}(f_i,(f_1,..,f_{i-1},f_{i+1},..,f_s))=f_i$
 -->
<SPAN CLASS="MATH">628#628</SPAN>|;

$l2h_cache_key = q/$K[x_1,\dots,x_n]$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $K[x_1,\dots,x_n]$
 -->
<SPAN CLASS="MATH">440#440</SPAN>|;

$l2h_cache_key = q/computes $I_A$ via the
extended matrix $B=(I_m|A)$,
where $I_m$ is the $m\times m$ unity matrix. A lattice basis of $B$ is
given by the set of vectors $(a^j,-e_j)\in Z\!\!\! Z^{m+n}$, where $a^j$
is the $j$-th row of $A$ and $e_j$ the $j$-th coordinate vector. We
look at the ideal in $K[y_1,\ldots,y_m,x_1,\ldots,x_n]$ corresponding to
these vectors, namely
$$ I_1=<y^{a_j^+}- x_j y^{a_j^-} | j=1,\ldots, n>.$$
We introduce a further variable $t$ and adjoin the binomial $t\cdot
y_1\cdot\ldots\cdot y_m -1$ to the generating set of $I_1$, obtaining
an ideal $I_2$ in the polynomial ring $K[t,
y_1,\ldots,y_m,x_1,\ldots,x_n]$. $I_2$ is saturated w.r.t. all
variables because all variables are invertible modulo $I_2$. Now $I_A$
can be computed from $I_2$ by eliminating the variables
$t,y_1,\ldots,y_m$./;
$l2h_cache{$l2h_cache_key} = q|computes <SPAN CLASS="MATH">750#750</SPAN> via the
extended matrix <SPAN CLASS="MATH">751#751</SPAN>,
where <SPAN CLASS="MATH">752#752</SPAN> is the <SPAN CLASS="MATH">753#753</SPAN> unity matrix. A lattice basis of <SPAN CLASS="MATH">195#195</SPAN> is
given by the set of vectors <!-- MATH
 $(a^j,-e_j)\in Z\!\!\! Z^{m+n}$
 -->
<SPAN CLASS="MATH">754#754</SPAN>, where <SPAN CLASS="MATH">755#755</SPAN>
is the <SPAN CLASS="MATH">55#55</SPAN>-th row of <SPAN CLASS="MATH">190#190</SPAN> and <SPAN CLASS="MATH">756#756</SPAN> the <SPAN CLASS="MATH">55#55</SPAN>-th coordinate vector. We
look at the ideal in <!-- MATH
 $K[y_1,\ldots,y_m,x_1,\ldots,x_n]$
 -->
<SPAN CLASS="MATH">757#757</SPAN> corresponding to
these vectors, namely
<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
I_1=<y^{a_j^+}- x_j y^{a_j^-} \| j=1,\ldots, n>.
\end{displaymath}
 -->

758#758
</DIV>
We introduce a further variable <SPAN CLASS="MATH">501#501</SPAN> and adjoin the binomial <!-- MATH
 $t\cdot
y_1\cdot\ldots\cdot y_m -1$
 -->
<SPAN CLASS="MATH">759#759</SPAN> to the generating set of <SPAN CLASS="MATH">760#760</SPAN>, obtaining
an ideal <SPAN CLASS="MATH">761#761</SPAN> in the polynomial ring <!-- MATH
 $K[t,
y_1,\ldots,y_m,x_1,\ldots,x_n]$
 -->
<SPAN CLASS="MATH">762#762</SPAN>. <SPAN CLASS="MATH">761#761</SPAN> is saturated w.r.t. all
variables because all variables are invertible modulo <SPAN CLASS="MATH">761#761</SPAN>. Now <SPAN CLASS="MATH">750#750</SPAN>
can be computed from <SPAN CLASS="MATH">761#761</SPAN> by eliminating the variables
<!-- MATH
 $t,y_1,\ldots,y_m$
 -->
<SPAN CLASS="MATH">763#763</SPAN>.|;

$l2h_cache_key = q/$GF$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">81#81</SPAN>|;

$l2h_cache_key = q/let $w_1, \ldots, w_n$ be positive integers. Then ${\tt Wp}(w_1, \ldots,
w_n)$/;
$l2h_cache{$l2h_cache_key} = q|let <!-- MATH
 $w_1, \ldots, w_n$
 -->
<SPAN CLASS="MATH">559#559</SPAN> be positive integers. Then <!-- MATH
 ${\tt Wp}(w_1, \ldots,
w_n)$
 -->
<SPAN CLASS="MATH">562#562</SPAN>|;

$l2h_cache_key = q/$>$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">431#431</SPAN>|;

$l2h_cache_key = q/  Let $I=\langle g_1,\dots,g_m \rangle \subseteq F_q[X_1,\dots,X_s]$ be an
  ideal. Define
  $$
    I_q:=I+\langle X_1^q-X_1,\dots,X_s^q-X_s\rangle .
  $$
  So $I_q$ is a zero-dimensional ideal. Define also $V(I_q)=:\{P_1,\dots,P_n\}$.
  Every $q$-ary linear code $C$ with parameters $[n,k]$ can be seen as an
  {\bf affine variety code} $C(I,L)$, that is, the image of a vector space $L$ of the {\bf evaluation map}
  $$
  \phi :R\to F_q ^n
  $$
  $$
  \bar{f}\mapsto(f(P_1),\dots,f(P_n)),
  $$
  where $R:=F_q[U_1,\dots,U_s]\/I_q$, $L$ is a vector subspace of $R$ and $\bar{f}$ the coset of $f$ in $F_q[U_1,\dots,U_s]$ modulo $I_q$./;
$l2h_cache{$l2h_cache_key} = q|  Let <!-- MATH
 $I=\langle g_1,\dots,g_m \rangle \subseteq F_q[X_1,\dots,X_s]$
 -->
<SPAN CLASS="MATH">907#907</SPAN> be an
  ideal. Define
  <DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
I_q:=I+\langle X_1^q-X_1,\dots,X_s^q-X_s\rangle .
\end{displaymath}
 -->

908#908
</DIV>
So <SPAN CLASS="MATH">909#909</SPAN> is a zero-dimensional ideal. Define also <!-- MATH
 $V(I_q)=:\{P_1,\dots,P_n\}$
 -->
<SPAN CLASS="MATH">910#910</SPAN>.
  Every <SPAN CLASS="MATH">798#798</SPAN>-ary linear code <SPAN CLASS="MATH">78#78</SPAN> with parameters <SPAN CLASS="MATH">830#830</SPAN> can be seen as an
  <B>affine variety code</B> <SPAN CLASS="MATH">911#911</SPAN>, that is, the image of a vector space <SPAN CLASS="MATH">912#912</SPAN> of the <B>evaluation map</B>
  <DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
\phi :R\to F_q ^n
\end{displaymath}
 -->

913#913
</DIV>

  <DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
\bar{f}\mapsto(f(P_1),\dots,f(P_n)),
\end{displaymath}
 -->

914#914
</DIV>
where <!-- MATH
 $R:=F_q[U_1,\dots,U_s]/I_q$
 -->
<SPAN CLASS="MATH">915#915</SPAN>, <SPAN CLASS="MATH">912#912</SPAN> is a vector subspace of <SPAN CLASS="MATH">53#53</SPAN> and <SPAN CLASS="MATH">916#916</SPAN> the coset of <SPAN CLASS="MATH">265#265</SPAN> in <!-- MATH
 $F_q[U_1,\dots,U_s]$
 -->
<SPAN CLASS="MATH">917#917</SPAN> modulo <SPAN CLASS="MATH">909#909</SPAN>.|;

$l2h_cache_key = q/$x^a < x^b$
if and only if $M a$ is smaller than $M b$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">591#591</SPAN>
if and only if <SPAN CLASS="MATH">592#592</SPAN> is smaller than <SPAN CLASS="MATH">593#593</SPAN>|;

$l2h_cache_key = q/$n>1$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">324#324</SPAN>|;

$l2h_cache_key = q/$\hbox{Loc}_{(x)}K[x_1,\ldots,x_n])$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $\hbox{Loc}_{(x)}K[x_1,\ldots,x_n])$
 -->
<SPAN CLASS="MATH">63#63</SPAN>|;

$l2h_cache_key = q/$K$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">50#50</SPAN>|;

$l2h_cache_key = q/Global orderings are wellorderings (i.e.,  \hbox{$1 < x_i$} for each variable
$x_i$), local orderings satisfy $1 > x_i$ for each variable.   If some variables are ordered globally and others locally we
call it a mixed ordering.   Local or mixed orderings are not wellorderings.

Let $K$ be the ground field, \hbox{$x = (x_1, \ldots, x_n)$} the
variables and $<$ a monomial ordering, then Loc $K[x]$ denotes the
localization of $K[x]$ with respect to the multiplicatively closed set $$\{1 +
g \mid g = 0 \hbox{ or } g \in K[x]\backslash \{0\} \hbox{ and }L(g) <
1\}.$$   Here, $L(g)$
denotes the leading monomial of $g$, i.e., the biggest monomial of $g$ with
respect to $<$.   The result of any computation which uses standard basis
computations has to be interpreted in Loc $K[x]$./;
$l2h_cache{$l2h_cache_key} = q|Global orderings are wellorderings (i.e.,  <SPAN CLASS="MATH">546#546</SPAN> for each variable
<SPAN CLASS="MATH">126#126</SPAN>), local orderings satisfy <SPAN CLASS="MATH">547#547</SPAN> for each variable.   If some variables are ordered globally and others locally we
call it a mixed ordering.   Local or mixed orderings are not wellorderings.

<P>
Let <SPAN CLASS="MATH">50#50</SPAN> be the ground field, <!-- MATH
 $x = (x_1, \ldots, x_n)$
 -->
<SPAN CLASS="MATH">548#548</SPAN> the
variables and <SPAN CLASS="MATH">226#226</SPAN> a monomial ordering, then Loc <SPAN CLASS="MATH">549#549</SPAN> denotes the
localization of <SPAN CLASS="MATH">549#549</SPAN> with respect to the multiplicatively closed set <DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
\{1 +
g \mid g = 0 \hbox{ or } g \in K[x]\backslash \{0\} \hbox{ and }L(g) <
1\}.
\end{displaymath}
 -->

550#550
</DIV>
Here, <SPAN CLASS="MATH">148#148</SPAN>
denotes the leading monomial of <SPAN CLASS="MATH">149#149</SPAN>, i.e., the biggest monomial of <SPAN CLASS="MATH">149#149</SPAN> with
respect to <SPAN CLASS="MATH">226#226</SPAN>.   The result of any computation which uses standard basis
computations has to be interpreted in Loc <SPAN CLASS="MATH">549#549</SPAN>.|;

$l2h_cache_key = q/$R^n\/M$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">92#92</SPAN>|;

$l2h_cache_key = q/$Z\/2Z$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">293#293</SPAN>|;

$l2h_cache_key = q/$x_n >$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">301#301</SPAN>|;

$l2h_cache_key = q/$T(V)$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">323#323</SPAN>|;

$l2h_cache_key = q/$L(g_i) | L(g_j)$ for any $i \neq j$,/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $L(g_i) \| L(g_j)$
 -->
<SPAN CLASS="MATH">146#146</SPAN> for any <SPAN CLASS="MATH">143#143</SPAN>,|;

$l2h_cache_key = q/$ m \times n $/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">68#68</SPAN>|;

$l2h_cache_key = q/$y$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">41#41</SPAN>|;

$l2h_cache_key = q/$x_j$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">382#382</SPAN>|;

$l2h_cache_key = q/$\overline{H_1}: R^k \rightarrow R^l\/Im(H_2)=R^l\/h_2$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $\overline{H_1}: R^k \rightarrow R^l/Im(H_2)=R^l/h_2$
 -->
<SPAN CLASS="MATH">163#163</SPAN>|;

$l2h_cache_key = q/$\hbox{dim}_K(\hbox{Loc}_{(x,y,z)}K[x,y,z]\/\hbox{jacob}(f))$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $\hbox{dim}_K(\hbox{Loc}_{(x,y,z)}K[x,y,z]/\hbox{jacob}(f))$
 -->
<SPAN CLASS="MATH">496#496</SPAN>|;

$l2h_cache_key = q/$C_m \circ C_n = C_n\circ C_m$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $C_m \circ C_n = C_n\circ C_m$
 -->
<SPAN CLASS="MATH">1006#1006</SPAN>|;

$l2h_cache_key = q/    \phantom{ $ x^\alpha < x^\beta \Leftrightarrow$}$ \deg(x^\alpha) =
    \deg(x^\beta)$ and $\exists\ 1 \le i \le n:\alpha_1 = \beta_1,
    \ldots, \alpha_{i-1} = \beta_{i-1}, \alpha_i < \beta_i.$/;
$l2h_cache{$l2h_cache_key} = q|    <!-- MATH
 $\deg(x^\alpha) =
    \deg(x^\beta)$
 -->
<SPAN CLASS="MATH">556#556</SPAN> and <!-- MATH
 $\exists\ 1 \le i \le n:\alpha_1 = \beta_1,
    \ldots, \alpha_{i-1} = \beta_{i-1}, \alpha_i < \beta_i.$
 -->
<SPAN CLASS="MATH">558#558</SPAN>|;

$l2h_cache_key = q/  Let $C$ be the binary $[n,k,d]$ cyclic code with the defining set $S_C=\{i_1,\dots,i_v\}$. Let $1\le w\le n$ and let $J_C(w)$ denote the system:
  $$
  Z_1^{i_1}+\dots+Z_w^{i_1}=0,
  $$
  $$
  \vdots
  $$
  $$
  Z_1^{i_v}+\dots+Z_w^{i_v}=0,
  $$
  $$
  Z_1^n-1=0,
  $$
  $$
  \vdots
  $$
  $$
  Z_w^n-1=0,
  $$
  $$
  p(n,Z_i,Z_j)=0, 1\le i<j\le w.
  $$/;
$l2h_cache{$l2h_cache_key} = q|  Let <SPAN CLASS="MATH">78#78</SPAN> be the binary <SPAN CLASS="MATH">803#803</SPAN> cyclic code with the defining set <!-- MATH
 $S_C=\{i_1,\dots,i_v\}$
 -->
<SPAN CLASS="MATH">876#876</SPAN>. Let <SPAN CLASS="MATH">877#877</SPAN> and let <SPAN CLASS="MATH">878#878</SPAN> denote the system:
  <DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
Z_1^{i_1}+\dots+Z_w^{i_1}=0,
\end{displaymath}
 -->

879#879
</DIV>

  <DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
\vdots
\end{displaymath}
 -->

880#880
</DIV>

  <DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
Z_1^{i_v}+\dots+Z_w^{i_v}=0,
\end{displaymath}
 -->

881#881
</DIV>

  <DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
Z_1^n-1=0,
\end{displaymath}
 -->

882#882
</DIV>

  <DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
\vdots
\end{displaymath}
 -->

880#880
</DIV>

  <DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
Z_w^n-1=0,
\end{displaymath}
 -->

883#883
</DIV>

  <DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
p(n,Z_i,Z_j)=0, 1\le i<j\le w.
\end{displaymath}
 -->

884#884
</DIV>
|;

$l2h_cache_key = q/$v$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">331#331</SPAN>|;

$l2h_cache_key = q/$\overline{H_1}: R^k \rightarrow R^l\/Im(H_2)=R^l\/h_2$
is the induced map./;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $\overline{H_1}: R^k \rightarrow R^l/Im(H_2)=R^l/h_2$
 -->
<SPAN CLASS="MATH">163#163</SPAN>
is the induced map.|;

$l2h_cache_key = q/$X=(x_1,\ldots,x_n)$ and $Y=(Y_1,\ldots,Y_r)$ with $X>Y$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $X=(x_1,\ldots,x_n)$
 -->
<SPAN CLASS="MATH">487#487</SPAN> and <!-- MATH
 $Y=(Y_1,\ldots,Y_r)$
 -->
<SPAN CLASS="MATH">488#488</SPAN> with <SPAN CLASS="MATH">489#489</SPAN>|;

$l2h_cache_key = q/  Let ${\bf b}_1,\dots,{\bf b}_n$ be a basis of $F_q^n$ and let $B$ be the $n \times n$ matrix with
  ${\bf b}_1,\dots,{\bf b}_n$ as rows. The {\bf unknown syndrome} ${\bf u}(B,{\bf e})$ of a word ${\bf e}$ w.r.t $B$
  is the column vector ${\bf u}(B,{\bf e})=B{\bf e}^T$ with entries $u_i(B,{\bf e})={\bf b}_i\cdot {\bf e}$ for $i=1,\dots,n$.

  For two vectors ${\bf x,y} \in F_q^n$ define
  ${\bf x*y}=(x_1y_1,\dots,x_ny_n)$. Then ${\bf b}_i*{\bf b_j}$ is a linear combination of
  ${\bf b}_1,\dots,{\bf b}_n$, so there are constants $\mu^{ij}_l\in F_q $ such that
  ${\bf b}_i*{\bf b}_j = \sum_{l=1}^n \mu^{ij}_l{\bf b}_l.$
  The elements $\mu^{ij}_l\in F_q$ are the {\bf structure constants} of the basis ${\bf b}_1,\dots,{\bf b}_n$.

  Let $B_s$ be the $s \times n$ matrix with ${\bf b}_1,\dots,{\bf b}_s$ as rows ($B=B_n$).
  Then ${\bf b}_1,\dots,{\bf b}_n$ is an {\bf ordered MDS basis} and $B$ an {\bf MDS matrix} if all
  the $s\times s$ submatrices of $B_s$ have rank $s$ for all $s=1 ,\dots ,n$./;
$l2h_cache{$l2h_cache_key} = q|  Let <!-- MATH
 ${\bf b}_1,\dots,{\bf b}_n$
 -->
<SPAN CLASS="MATH">941#941</SPAN> be a basis of <SPAN CLASS="MATH">799#799</SPAN> and let <SPAN CLASS="MATH">195#195</SPAN> be the <SPAN CLASS="MATH">234#234</SPAN> matrix with
  <!-- MATH
 ${\bf b}_1,\dots,{\bf b}_n$
 -->
<SPAN CLASS="MATH">941#941</SPAN> as rows. The <B>unknown syndrome</B> <!-- MATH
 ${\bf u}(B,{\bf e})$
 -->
<SPAN CLASS="MATH">942#942</SPAN> of a word <SPAN CLASS="MATH">834#834</SPAN> w.r.t <SPAN CLASS="MATH">195#195</SPAN>
  is the column vector <!-- MATH
 ${\bf u}(B,{\bf e})=B{\bf e}^T$
 -->
<SPAN CLASS="MATH">943#943</SPAN> with entries <!-- MATH
 $u_i(B,{\bf e})={\bf b}_i\cdot {\bf e}$
 -->
<SPAN CLASS="MATH">944#944</SPAN> for <SPAN CLASS="MATH">945#945</SPAN>.

<P>
For two vectors <!-- MATH
 ${\bf x,y} \in F_q^n$
 -->
<SPAN CLASS="MATH">946#946</SPAN> define
  <!-- MATH
 ${\bf x*y}=(x_1y_1,\dots,x_ny_n)$
 -->
<SPAN CLASS="MATH">947#947</SPAN>. Then <!-- MATH
 ${\bf b}_i*{\bf b_j}$
 -->
<SPAN CLASS="MATH">948#948</SPAN> is a linear combination of
  <!-- MATH
 ${\bf b}_1,\dots,{\bf b}_n$
 -->
<SPAN CLASS="MATH">941#941</SPAN>, so there are constants <!-- MATH
 $\mu^{ij}_l\in F_q$
 -->
<SPAN CLASS="MATH">949#949</SPAN> such that
  <!-- MATH
 ${\bf b}_i*{\bf b}_j = \sum_{l=1}^n \mu^{ij}_l{\bf b}_l.$
 -->
<SPAN CLASS="MATH">950#950</SPAN>
  The elements <!-- MATH
 $\mu^{ij}_l\in F_q$
 -->
<SPAN CLASS="MATH">949#949</SPAN> are the <B>structure constants</B> of the basis <!-- MATH
 ${\bf b}_1,\dots,{\bf b}_n$
 -->
<SPAN CLASS="MATH">941#941</SPAN>.

<P>
Let <SPAN CLASS="MATH">951#951</SPAN> be the <SPAN CLASS="MATH">952#952</SPAN> matrix with <!-- MATH
 ${\bf b}_1,\dots,{\bf b}_s$
 -->
<SPAN CLASS="MATH">953#953</SPAN> as rows (<SPAN CLASS="MATH">954#954</SPAN>).
  Then <!-- MATH
 ${\bf b}_1,\dots,{\bf b}_n$
 -->
<SPAN CLASS="MATH">941#941</SPAN> is an <B>ordered MDS basis</B> and <SPAN CLASS="MATH">195#195</SPAN> an <B>MDS matrix</B> if all
  the <SPAN CLASS="MATH">955#955</SPAN> submatrices of <SPAN CLASS="MATH">951#951</SPAN> have rank <SPAN CLASS="MATH">177#177</SPAN> for all <SPAN CLASS="MATH">956#956</SPAN>.|;

$l2h_cache_key = q/$f_i=0$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">528#528</SPAN>|;

$l2h_cache_key = q/  $(m_{ij})$/;
$l2h_cache{$l2h_cache_key} = q|  <SPAN CLASS="MATH">103#103</SPAN>|;

$l2h_cache_key = q/In order to set up a $G$--algebra one has to do the following steps:/;
$l2h_cache{$l2h_cache_key} = q|In order to set up a <SPAN CLASS="MATH">189#189</SPAN>&ndash;algebra one has to do the following steps:|;

$l2h_cache_key = q/$Z\/100[x,y,z]$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">60#60</SPAN>|;

$l2h_cache_key = q/$\alpha$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">73#73</SPAN>|;

$l2h_cache_key = q/$\Omega(G-D)$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">1062#1062</SPAN>|;

$l2h_cache_key = q/$t$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">501#501</SPAN>|;

$l2h_cache_key = q/$n$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">17#17</SPAN>|;

$l2h_cache_key = q/$f_1,\dots,f_k$ of I, let $f'_i$ be obtained from
$f_i$ by deleting the terms divisible by $x_i\cdot m$ for all i with $x_i<1$.
Then $f'_1,\dots,f'_k$ generate I./;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">128#128</SPAN> of I, let <SPAN CLASS="MATH">129#129</SPAN> be obtained from
<SPAN CLASS="MATH">130#130</SPAN> by deleting the terms divisible by <SPAN CLASS="MATH">131#131</SPAN> for all i with <SPAN CLASS="MATH">132#132</SPAN>.
Then <!-- MATH
 $f'_1,\dots,f'_k$
 -->
<SPAN CLASS="MATH">133#133</SPAN> generate I.|;

$l2h_cache_key = q/Let $R$ be a graded ring (e.g., $R = \hbox{Loc}_< K[\underline{x}]$) and
let $I \subset R^r$ be a graded submodule. Let
$$
  R^r = \bigoplus_a R\cdot e_{a,0} \buildrel A_1 \over \longleftarrow
        \bigoplus_a R\cdot e_{a,1} \longleftarrow \ldots \longleftarrow
        \bigoplus_a R\cdot e_{a,n} \longleftarrow 0
$$
be a minimal free resolution of $R^r\/I$ considered with homogeneous maps
of degree 0. Then the {\bf graded Betti number} $b_{i,j}$ of $R^r\/I$ is
the minimal number of generators $e_{a,j}$ in degree $i+j$ of the $j$-th
syzygy module of $R^r\/I$ (i.e., the $(j-1)$-st syzygy module of
$I$). Note that, by definition, the $0$-th syzygy module of $R^r\/I$ is $R^r$
and the 1st syzygy module of $R^r\/I$ is $I$./;
$l2h_cache{$l2h_cache_key} = q|Let <SPAN CLASS="MATH">53#53</SPAN> be a graded ring (e.g., <!-- MATH
 $R = \hbox{Loc}_< K[\underline{x}]$
 -->
<SPAN CLASS="MATH">621#621</SPAN>) and
let <SPAN CLASS="MATH">665#665</SPAN> be a graded submodule. Let
<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
R^r = \bigoplus_a R\cdot e_{a,0} \buildrel A_1 \over \longleftarrow
        \bigoplus_a R\cdot e_{a,1} \longleftarrow \ldots \longleftarrow
        \bigoplus_a R\cdot e_{a,n} \longleftarrow 0
\end{displaymath}
 -->

666#666
</DIV>
be a minimal free resolution of <SPAN CLASS="MATH">667#667</SPAN> considered with homogeneous maps
of degree 0. Then the <B>graded Betti number</B> <SPAN CLASS="MATH">668#668</SPAN> of <SPAN CLASS="MATH">667#667</SPAN> is
the minimal number of generators <SPAN CLASS="MATH">669#669</SPAN> in degree <SPAN CLASS="MATH">172#172</SPAN> of the <SPAN CLASS="MATH">55#55</SPAN>-th
syzygy module of <SPAN CLASS="MATH">667#667</SPAN> (i.e., the <SPAN CLASS="MATH">670#670</SPAN>-st syzygy module of
<SPAN CLASS="MATH">251#251</SPAN>). Note that, by definition, the <SPAN CLASS="MATH">2#2</SPAN>-th syzygy module of <SPAN CLASS="MATH">667#667</SPAN> is <SPAN CLASS="MATH">622#622</SPAN>
and the 1st syzygy module of <SPAN CLASS="MATH">667#667</SPAN> is <SPAN CLASS="MATH">251#251</SPAN>.|;

$l2h_cache_key = q/$w: \langle X\rangle\rightarrow N_0$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $w: \langle X\rangle\rightarrow N_0$
 -->
<SPAN CLASS="MATH">340#340</SPAN>|;

$l2h_cache_key = q/finite fields $\hbox{GF}(p^n)$ with $p^n$ elements, $p$ a prime, $p^n \le 2^{16}$,/;
$l2h_cache{$l2h_cache_key} = q|finite fields <!-- MATH
 $\hbox{GF}(p^n)$
 -->
<SPAN CLASS="MATH">25#25</SPAN> with <SPAN CLASS="MATH">26#26</SPAN> elements, <SPAN CLASS="MATH">23#23</SPAN> a prime, <!-- MATH
 $p^n \le 2^{16}$
 -->
<SPAN CLASS="MATH">27#27</SPAN>,|;

$l2h_cache_key = q/$1 \times 1$-minors/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">9#9</SPAN>-minors|;

$l2h_cache_key = q/${\tt a}(w_1, \ldots, w_n),\; $/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 ${\tt a}(w_1, \ldots, w_n),\;$
 -->
<SPAN CLASS="MATH">617#617</SPAN>|;

$l2h_cache_key = q/$1$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">294#294</SPAN>|;

$l2h_cache_key = q/$1 < x$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">64#64</SPAN>|;

$l2h_cache_key = q/$x_2 x_3$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">363#363</SPAN>|;

$l2h_cache_key = q/$Z[x,y,z]$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">58#58</SPAN>|;

$l2h_cache_key = q/$f=x^5+x^2y^2+y^5$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $f=x^5+x^2y^2+y^5$
 -->
<SPAN CLASS="MATH">723#723</SPAN>|;

$l2h_cache_key = q/$x^3,$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">6#6</SPAN>|;

$l2h_cache_key = q/$(Q[a,b,c])[x,y,z]$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $(Q[a,b,c])[x,y,z]$
 -->
<SPAN CLASS="MATH">37#37</SPAN>|;

$l2h_cache_key = q/$G-$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">187#187</SPAN>|;

$l2h_cache_key = q/  $a_i$/;
$l2h_cache{$l2h_cache_key} = q|  <SPAN CLASS="MATH">119#119</SPAN>|;

$l2h_cache_key = q/The output of a vector $v$ in $K[x]^r$ with components $v_1,
\ldots, v_r$ has the format $v_1 * gen(1) + \ldots + v_r * gen(r)$/;
$l2h_cache{$l2h_cache_key} = q|The output of a vector <SPAN CLASS="MATH">331#331</SPAN> in <SPAN CLASS="MATH">571#571</SPAN> with components <!-- MATH
 $v_1,
\ldots, v_r$
 -->
<SPAN CLASS="MATH">585#585</SPAN> has the format <!-- MATH
 $v_1 * gen(1) + \ldots + v_r * gen(r)$
 -->
<SPAN CLASS="MATH">586#586</SPAN>|;

$l2h_cache_key = q/$AeA$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">414#414</SPAN>|;

$l2h_cache_key = q/$MD$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">10#10</SPAN>|;

$l2h_cache_key = q/$x$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">40#40</SPAN>|;

$l2h_cache_key = q/$N_0$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">342#342</SPAN>|;

$l2h_cache_key = q/  $m\times n$/;
$l2h_cache{$l2h_cache_key} = q|  <SPAN CLASS="MATH">68#68</SPAN>|;

$l2h_cache_key = q/$X$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">326#326</SPAN>|;

$l2h_cache_key = q/  A matrix $G$ whose rows are the base vectors of $C$ is the {\bf generator matrix}./;
$l2h_cache{$l2h_cache_key} = q|  A matrix <SPAN CLASS="MATH">189#189</SPAN> whose rows are the base vectors of <SPAN CLASS="MATH">78#78</SPAN> is the <B>generator matrix</B>.|;

$l2h_cache_key = q/finite fields $Z\/p$, $p$ a prime $\le 2147483647$,/;
$l2h_cache{$l2h_cache_key} = q|finite fields <SPAN CLASS="MATH">22#22</SPAN>, <SPAN CLASS="MATH">23#23</SPAN> a prime <!-- MATH
 $\le 2147483647$
 -->
<SPAN CLASS="MATH">24#24</SPAN>,|;

$l2h_cache_key = q/$j_0=j|_{t=a}$./;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">437#437</SPAN>.|;

$l2h_cache_key = q/$C_0 = c,\ C_1 = x,\ C_n = 2\/c\cdot x\cdot C_{n-1}-C_{n-2},\ n \geq 2,c\neq 0$./;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $C_0 = c,\ C_1 = x,\ C_n = 2/c\cdot x\cdot C_{n-1}-C_{n-2},\ n \geq 2,c\neq 0$
 -->
<SPAN CLASS="MATH">1005#1005</SPAN>.|;

$l2h_cache_key = q/$1, A^{-1}$./;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">153#153</SPAN>.|;

$l2h_cache_key = q/$Z_p$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">66#66</SPAN>|;

$l2h_cache_key = q/$A= k_1 \langle x_1, \ldots ,x_n \mid$
$\{ x_j x_i=c_{ij} \cdot x_i x_j + d_{ij}\}, 1 \leq i <j \leq n \rangle$,
and
$B= k_2 \langle y_1, \ldots ,y_m \mid$
$\{ y_j y_i=q_{ij} \cdot y_i y_j + r_{ij}\}, 1 \leq i <j \leq m \rangle$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $A= k_1 \langle x_1, \ldots ,x_n \mid$
 -->
<SPAN CLASS="MATH">196#196</SPAN>
<!-- MATH
 $\{ x_j x_i=c_{ij} \cdot x_i x_j + d_{ij}\}, 1 \leq i <j \leq n \rangle$
 -->
<SPAN CLASS="MATH">197#197</SPAN>,
and
<!-- MATH
 $B= k_2 \langle y_1, \ldots ,y_m \mid$
 -->
<SPAN CLASS="MATH">198#198</SPAN>
<!-- MATH
 $\{ y_j y_i=q_{ij} \cdot y_i y_j + r_{ij}\}, 1 \leq i <j \leq m \rangle$
 -->
<SPAN CLASS="MATH">199#199</SPAN>|;

$l2h_cache_key = q/$w(a)<w(b)$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">348#348</SPAN>|;

$l2h_cache_key = q/$R^r \buildrel{A}\over{\longrightarrow}
R^m\longrightarrow
R^m\/\hbox{Im}(B) \;.$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $R^r \buildrel{A}\over{\longrightarrow}
R^m\longrightarrow
R^m/\hbox{Im}(B) \;.$
 -->
<SPAN CLASS="MATH">479#479</SPAN>|;

$l2h_cache_key = q/  Construct a Gr\"obner basis $\{g_1,\dots,g_m\}$ for an ideal $I$ of polynomials from $F_q[X_1,\dots,X_s]$ that vanish at the points
  $P_1,\dots,P_s$. Define $\xi_i\in F_q[X_1,\dots,X_s]$ such that $\xi_i(P_i)=1,\xi_i(P_j)=0,i\ne j$./;
$l2h_cache{$l2h_cache_key} = q|  Construct a Gröbner basis <!-- MATH
 $\{g_1,\dots,g_m\}$
 -->
<SPAN CLASS="MATH">922#922</SPAN> for an ideal <SPAN CLASS="MATH">251#251</SPAN> of polynomials from <!-- MATH
 $F_q[X_1,\dots,X_s]$
 -->
<SPAN CLASS="MATH">923#923</SPAN> that vanish at the points
  <SPAN CLASS="MATH">920#920</SPAN>. Define <!-- MATH
 $\xi_i\in F_q[X_1,\dots,X_s]$
 -->
<SPAN CLASS="MATH">924#924</SPAN> such that <!-- MATH
 $\xi_i(P_i)=1,\xi_i(P_j)=0,i\ne j$
 -->
<SPAN CLASS="MATH">925#925</SPAN>.|;

$l2h_cache_key = q/For a left Groebner basis $G$ of $I$ the following holds:
$f \in I$ if and only if the left normal form $\hbox{NF}(f|G) = 0$./;
$l2h_cache{$l2h_cache_key} = q|For a left Groebner basis <SPAN CLASS="MATH">189#189</SPAN> of <SPAN CLASS="MATH">251#251</SPAN> the following holds:
<SPAN CLASS="MATH">274#274</SPAN> if and only if the left normal form <!-- MATH
 $\hbox{NF}(f\|G) = 0$
 -->
<SPAN CLASS="MATH">275#275</SPAN>.|;

$l2h_cache_key = q/let $\deg(x^\alpha) = \alpha_1 + \cdots + \alpha_n,$ then/;
$l2h_cache{$l2h_cache_key} = q|let <!-- MATH
 $\deg(x^\alpha) = \alpha_1 + \cdots + \alpha_n,$
 -->
<SPAN CLASS="MATH">553#553</SPAN> then|;

$l2h_cache_key = q/$<_1$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">379#379</SPAN>|;

$l2h_cache_key = q/$GR$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">191#191</SPAN>|;

$l2h_cache_key = q/$P^4$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">454#454</SPAN>|;

$l2h_cache_key = q/$$
\hbox{sat}(i,j)=\{x\in R\;|\; \exists\;n\hbox{ s.t. }
x\cdot(j^n)\subseteq i\}
= \bigcup_{n=1}^\infty i:j^n$$/;
$l2h_cache{$l2h_cache_key} = q|<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
\hbox{sat}(i,j)=\{x\in R\;\|\; \exists\;n\hbox{ s.t. }
x\cdot(j^n)\subseteq i\}
= \bigcup_{n=1}^\infty i:j^n
\end{displaymath}
 -->

443#443
</DIV>
|;

$l2h_cache_key = q/$j$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">55#55</SPAN>|;

$l2h_cache_key = q/represents $h_1\/(h_1 \cap h_2) \cong (h_1+h_2)\/h_2$/;
$l2h_cache{$l2h_cache_key} = q|represents <!-- MATH
 $h_1/(h_1 \cap h_2) \cong (h_1+h_2)/h_2$
 -->
<SPAN CLASS="MATH">154#154</SPAN>|;

$l2h_cache_key = q/$f^\alpha$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">1068#1068</SPAN>|;

$l2h_cache_key = q/$n=0$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">18#18</SPAN>|;

$l2h_cache_key = q/$x_1 x_1 x_1 > x_1 x_2 x_3 > x_3 x_2 x_1 > x_1 x_3 > x_3 x_1 > x_1 > x_2 x_2 > x_2 x_3 > x_2 > x_3 x_3 x_3 > x_3$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $x_1 x_1 x_1 > x_1 x_2 x_3 > x_3 x_2 x_1 > x_1 x_3 > x_3 x_1 > x_1 > x_2 x_2 > x_2 x_3 > x_2 > x_3 x_3 x_3 > x_3$
 -->
<SPAN CLASS="MATH">383#383</SPAN>|;

$l2h_cache_key = q/$x_2$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">354#354</SPAN>|;

$l2h_cache_key = q/$f = (x+y)^2+ 2(x+y) +1$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $f = (x+y)^2+ 2(x+y) +1$
 -->
<SPAN CLASS="MATH">997#997</SPAN>|;

$l2h_cache_key = q/$\{g_1,\dots,g_{i-1},g_{i+1},\dots,g_s\}$,/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $\{g_1,\dots,g_{i-1},g_{i+1},\dots,g_s\}$
 -->
<SPAN CLASS="MATH">145#145</SPAN>,|;

$l2h_cache_key = q/$\{a \in R \mid aJ \subset I\}$,/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $\{a \in R \mid aJ \subset I\}$
 -->
<SPAN CLASS="MATH">174#174</SPAN>,|;

$l2h_cache_key = q/  The code $C$ is {\bf cyclic}, if for every codeword ${\bf c}=(c_0,\dots,c_{n-1})$ in $C$ its
  cyclic shift $(c_{n-1},c_0,\dots,c_{n-2})$ is again a codeword in $C$.
  When working with cyclic codes, vectors are usually presented as polynomials.
  So ${\bf c}$ is represented by the polynomial $c(x)=\sum_{i=0}^{n-1}c_ix^i$ with $x^n=1$, more
  precisely $c(x)$ is an element of the factor ring $F_q[X]\/\langle X^n-1 \rangle$.
  Cyclic codes over $F_q$ of length $n$ correspond one-to-one to ideals in this factor ring.
  We assume for cyclic codes that $(q,n)=1$. Let $F=F_{q^m}$ be
  the splitting field of $X^n-1$ over $F_q$. Then $F$ has a {\bf primitive $n$-th root of unity} which will be denoted by $a$.
  A cyclic code is uniquely given by a {\bf defining set} $S_C$ which is a subset of $Z\!\!\! Z_n$ such that
  $$
    c(x) \in C \ \hbox{ if } \ c(a ^i )=0 \ \hbox{ for all } \ i \in S_C.
  $$
  A cyclic code has several defining sets./;
$l2h_cache{$l2h_cache_key} = q|  The code <SPAN CLASS="MATH">78#78</SPAN> is <B>cyclic</B>, if for every codeword <!-- MATH
 ${\bf c}=(c_0,\dots,c_{n-1})$
 -->
<SPAN CLASS="MATH">806#806</SPAN> in <SPAN CLASS="MATH">78#78</SPAN> its
  cyclic shift <!-- MATH
 $(c_{n-1},c_0,\dots,c_{n-2})$
 -->
<SPAN CLASS="MATH">807#807</SPAN> is again a codeword in <SPAN CLASS="MATH">78#78</SPAN>.
  When working with cyclic codes, vectors are usually presented as polynomials.
  So <SPAN CLASS="MATH">808#808</SPAN> is represented by the polynomial <!-- MATH
 $c(x)=\sum_{i=0}^{n-1}c_ix^i$
 -->
<SPAN CLASS="MATH">809#809</SPAN> with <SPAN CLASS="MATH">810#810</SPAN>, more
  precisely <SPAN CLASS="MATH">811#811</SPAN> is an element of the factor ring <!-- MATH
 $F_q[X]/\langle X^n-1 \rangle$
 -->
<SPAN CLASS="MATH">812#812</SPAN>.
  Cyclic codes over <SPAN CLASS="MATH">797#797</SPAN> of length <SPAN CLASS="MATH">17#17</SPAN> correspond one-to-one to ideals in this factor ring.
  We assume for cyclic codes that <SPAN CLASS="MATH">813#813</SPAN>. Let <SPAN CLASS="MATH">814#814</SPAN> be
  the splitting field of <SPAN CLASS="MATH">815#815</SPAN> over <SPAN CLASS="MATH">797#797</SPAN>. Then <SPAN CLASS="MATH">708#708</SPAN> has a <B>primitive <SPAN CLASS="MATH">17#17</SPAN>-th root of unity</B> which will be denoted by <SPAN CLASS="MATH">4#4</SPAN>.
  A cyclic code is uniquely given by a <B>defining set</B> <SPAN CLASS="MATH">816#816</SPAN> which is a subset of <SPAN CLASS="MATH">817#817</SPAN> such that
  <DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
c(x) \in C \ \hbox{ if } \ c(a ^i )=0 \ \hbox{ for all } \ i \in S_C.
\end{displaymath}
 -->

818#818
</DIV>
A cyclic code has several defining sets.|;

$l2h_cache_key = q/$$...\longrightarrow F_2 \buildrel{A_2}\over{\longrightarrow} F_1
\buildrel{A_1}\over{\longrightarrow} R\longrightarrow R\/I
\longrightarrow 0.$$/;
$l2h_cache{$l2h_cache_key} = q|<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
...\longrightarrow F_2 \buildrel{A_2}\over{\longrightarrow} F_1
\buildrel{A_1}\over{\longrightarrow} R\longrightarrow R/I
\longrightarrow 0.
\end{displaymath}
 -->

134#134
</DIV>
|;

$l2h_cache_key = q/$x_3 x_2 x_1$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">357#357</SPAN>|;

$l2h_cache_key = q/$ x_1, \ldots, x_k ,\;$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $x_1, \ldots, x_k ,\;$
 -->
<SPAN CLASS="MATH">208#208</SPAN>|;

$l2h_cache_key = q/  Let $C$ be an $[n,k]$ cyclic code over $F_q$; $F$ is a splitting field with $a$ being a primitive n-th root of unity. Let
  $S_C=\{i_1,\dots,i_{n-k}\}$ be the complete defining set of $C$. Let ${\bf r}={\bf c}+{\bf e}$
  be a received word with ${\bf c}\in C$ and ${\bf e}$ an error vector.
  Denote the corresponding polynomials in $F_q[x]\/\langle x^n-1 \rangle$ by $r(x)$, $c(x)$ and $e(x)$, resp. Compute syndromes
  $$
    s_{i_m}=r(a^{i_m})=e(a^{i_m})= \sum_{l=1}^{t}e_{j_l}(a^{i_m})^{j_l}, \ \ 1\le m \le n-k,
  $$
  where $t$ is the number of errors, $j_1,\dots,j_t$ are the {\bf error positions} and $e_{j_1},\dots,e_{j_t}$ are the {\bf
  error values}./;
$l2h_cache{$l2h_cache_key} = q|  Let <SPAN CLASS="MATH">78#78</SPAN> be an <SPAN CLASS="MATH">830#830</SPAN> cyclic code over <SPAN CLASS="MATH">797#797</SPAN>; <SPAN CLASS="MATH">708#708</SPAN> is a splitting field with <SPAN CLASS="MATH">4#4</SPAN> being a primitive n-th root of unity. Let
  <!-- MATH
 $S_C=\{i_1,\dots,i_{n-k}\}$
 -->
<SPAN CLASS="MATH">831#831</SPAN> be the complete defining set of <SPAN CLASS="MATH">78#78</SPAN>. Let <!-- MATH
 ${\bf r}={\bf c}+{\bf e}$
 -->
<SPAN CLASS="MATH">832#832</SPAN>
  be a received word with <SPAN CLASS="MATH">833#833</SPAN> and <SPAN CLASS="MATH">834#834</SPAN> an error vector.
  Denote the corresponding polynomials in <!-- MATH
 $F_q[x]/\langle x^n-1 \rangle$
 -->
<SPAN CLASS="MATH">835#835</SPAN> by <SPAN CLASS="MATH">836#836</SPAN>, <SPAN CLASS="MATH">811#811</SPAN> and <SPAN CLASS="MATH">837#837</SPAN>, resp. Compute syndromes
  <DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
s_{i_m}=r(a^{i_m})=e(a^{i_m})= \sum_{l=1}^{t}e_{j_l}(a^{i_m})^{j_l}, \ \ 1\le m \le n-k,
\end{displaymath}
 -->

838#838
</DIV>
where <SPAN CLASS="MATH">501#501</SPAN> is the number of errors, <SPAN CLASS="MATH">839#839</SPAN> are the <B>error positions</B> and <!-- MATH
 $e_{j_1},\dots,e_{j_t}$
 -->
<SPAN CLASS="MATH">840#840</SPAN> are the <B>error values</B>.|;

$l2h_cache_key = q/    \phantom{ $x^\alpha < x^\beta \Leftrightarrow$}$ \deg(x^\alpha) =
    \deg(x^\beta)$ and $\exists\ 1 \le i \le n: \alpha_n = \beta_n,
    \ldots, \alpha_{i+1} = \beta_{i+1}, \alpha_i > \beta_i.$/;
$l2h_cache{$l2h_cache_key} = q|    <!-- MATH
 $\deg(x^\alpha) =
    \deg(x^\beta)$
 -->
<SPAN CLASS="MATH">556#556</SPAN> and <!-- MATH
 $\exists\ 1 \le i \le n: \alpha_n = \beta_n,
    \ldots, \alpha_{i+1} = \beta_{i+1}, \alpha_i > \beta_i.$
 -->
<SPAN CLASS="MATH">557#557</SPAN>|;

$l2h_cache_key = q/$$\hbox{pr}:k^r\times(k^n,0)\rightarrow(k^n,0)$$
can be computed./;
$l2h_cache{$l2h_cache_key} = q|<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
\hbox{pr}:k^r\times(k^n,0)\rightarrow(k^n,0)
\end{displaymath}
 -->

453#453
</DIV>
can be computed.|;

$l2h_cache_key = q/$N$ as $N = R^n\/$std($M$))./;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">418#418</SPAN> as <SPAN CLASS="MATH">533#533</SPAN>std(<SPAN CLASS="MATH">13#13</SPAN>)).|;

$l2h_cache_key = q/Let \hbox{$I \subseteq K[\underline{x}]^r$} be a homogeneous module, then the Hilbert function
$H_I$ of $I$ (see below)
and the Hilbert function $H_{L(I)}$ of the leading module $L(I)$
coincide, i.e.,
$H_I=H_{L(I)}$./;
$l2h_cache{$l2h_cache_key} = q|Let <!-- MATH
 $I \subseteq K[\underline{x}]^r$
 -->
<SPAN CLASS="MATH">635#635</SPAN> be a homogeneous module, then the Hilbert function
<SPAN CLASS="MATH">636#636</SPAN> of <SPAN CLASS="MATH">251#251</SPAN> (see below)
and the Hilbert function <SPAN CLASS="MATH">637#637</SPAN> of the leading module <SPAN CLASS="MATH">623#623</SPAN>
coincide, i.e.,
<SPAN CLASS="MATH">638#638</SPAN>.|;

$l2h_cache_key = q/$K<x,y,z>\/J$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">306#306</SPAN>|;

$l2h_cache_key = q/Let $J$ be a two-sided ideal and $T$ be a two-sided Groebner basis of $J$.

Then $f \in J$ if and only if the left normal form $\hbox{NF}(f|T) = 0$./;
$l2h_cache{$l2h_cache_key} = q|Let <SPAN CLASS="MATH">276#276</SPAN> be a two-sided ideal and <SPAN CLASS="MATH">277#277</SPAN> be a two-sided Groebner basis of <SPAN CLASS="MATH">276#276</SPAN>.

<P>
Then <SPAN CLASS="MATH">278#278</SPAN> if and only if the left normal form <!-- MATH
 $\hbox{NF}(f\|T) = 0$
 -->
<SPAN CLASS="MATH">279#279</SPAN>.|;

$l2h_cache_key = q/$g$, $f_1$, \dots, $f_r\in K[x_1,\ldots,x_n]$./;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">149#149</SPAN>, <SPAN CLASS="MATH">481#481</SPAN>, ..., <!-- MATH
 $f_r\in K[x_1,\ldots,x_n]$
 -->
<SPAN CLASS="MATH">482#482</SPAN>.|;

$l2h_cache_key = q/$< X >$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">327#327</SPAN>|;

$l2h_cache_key = q/$Q[a,b,c,d]$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">32#32</SPAN>|;

$l2h_cache_key = q/$<$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">226#226</SPAN>|;

$l2h_cache_key = q/$U \colon r^3 $./;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">16#16</SPAN>.|;

$l2h_cache_key = q/$x^7+y^7+z^7=0$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">731#731</SPAN>|;

$l2h_cache_key = q/That is, choosing $>$ implements the ring
$$
  K[x]_> := \left\{{{f}\over{u}}\; \bigg|\; f, u \in K[x],
  \, LM(u) =
  1\right\}.
$$/;
$l2h_cache{$l2h_cache_key} = q|That is, choosing <SPAN CLASS="MATH">431#431</SPAN> implements the ring
<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
K[x]_> := \left\{{{f}\over{u}}\; \bigg\|\; f, u \in K[x],
  \, LM(u) =
  1\right\}.
\end{displaymath}
 -->

433#433
</DIV>
|;

$l2h_cache_key = q/The ideal $I$ is generated by binomials of type $X^a-X^b$ (multiindex notation)
in the surrounding polynomial ring $K[X]=K[X_1,...,X_n]$. The binomials
represent a congruence on the monoid ${Z}^n$ with residue monoid $M$.
Let $N$ be the image of $M$ in gp($M$)\/torsion. Then $N$ is universal in the
sense that every homomorphism from $M$ to an affine monoid factors through $N$.
If $I$ is a prime ideal, then $K[N]= K[X]\/I$. In general, $K[N]=K[X]\/P$ where
$P$ is the unique minimal prime ideal of $I$ generated by binomials of type
$X^a-X^b$.

The function computes $K[N]$ and returns a newly created
polynomial ring of the same Krull dimension, whose variables are
$x(1),...,x(n-r)$, where $r$ is the rank of the matrix with rows $a-b$.
(In general there is no canonical choice for such an embedding.)/;
$l2h_cache{$l2h_cache_key} = q|The ideal <SPAN CLASS="MATH">251#251</SPAN> is generated by binomials of type <SPAN CLASS="MATH">1017#1017</SPAN> (multiindex notation)
in the surrounding polynomial ring <!-- MATH
 $K[X]=K[X_1,...,X_n]$
 -->
<SPAN CLASS="MATH">1018#1018</SPAN>. The binomials
represent a congruence on the monoid <SPAN CLASS="MATH">1019#1019</SPAN> with residue monoid <SPAN CLASS="MATH">13#13</SPAN>.
Let <SPAN CLASS="MATH">418#418</SPAN> be the image of <SPAN CLASS="MATH">13#13</SPAN> in gp(<SPAN CLASS="MATH">13#13</SPAN>)/torsion. Then <SPAN CLASS="MATH">418#418</SPAN> is universal in the
sense that every homomorphism from <SPAN CLASS="MATH">13#13</SPAN> to an affine monoid factors through <SPAN CLASS="MATH">418#418</SPAN>.
If <SPAN CLASS="MATH">251#251</SPAN> is a prime ideal, then <SPAN CLASS="MATH">1020#1020</SPAN>. In general, <SPAN CLASS="MATH">1021#1021</SPAN> where
<SPAN CLASS="MATH">1022#1022</SPAN> is the unique minimal prime ideal of <SPAN CLASS="MATH">251#251</SPAN> generated by binomials of type
<SPAN CLASS="MATH">1017#1017</SPAN>.

<P>
The function computes <SPAN CLASS="MATH">1023#1023</SPAN> and returns a newly created
polynomial ring of the same Krull dimension, whose variables are
<!-- MATH
 $x(1),...,x(n-r)$
 -->
<SPAN CLASS="MATH">1024#1024</SPAN>, where <SPAN CLASS="MATH">299#299</SPAN> is the rank of the matrix with rows <SPAN CLASS="MATH">1025#1025</SPAN>.
(In general there is no canonical choice for such an embedding.)|;

$l2h_cache_key = q/let $w_1, \ldots, w_n$ be positive integers. Then ${\tt wp}(w_1, \ldots,
w_n)$/;
$l2h_cache{$l2h_cache_key} = q|let <!-- MATH
 $w_1, \ldots, w_n$
 -->
<SPAN CLASS="MATH">559#559</SPAN> be positive integers. Then <!-- MATH
 ${\tt wp}(w_1, \ldots,
w_n)$
 -->
<SPAN CLASS="MATH">560#560</SPAN>|;

$l2h_cache_key = q/For a $G$--algebra $A$, we denote by ${}_{A} \langle g_1, \dots, g_s \rangle$
the left submodule of a free module $A^r$, generated by elements $\{g_1, \dots, g_s\}\subset A^r$./;
$l2h_cache{$l2h_cache_key} = q|For a <SPAN CLASS="MATH">189#189</SPAN>&ndash;algebra <SPAN CLASS="MATH">190#190</SPAN>, we denote by <!-- MATH
 ${}_{A} \langle g_1, \dots, g_s \rangle$
 -->
<SPAN CLASS="MATH">239#239</SPAN>
the left submodule of a free module <SPAN CLASS="MATH">240#240</SPAN>, generated by elements <!-- MATH
 $\{g_1, \dots, g_s\}\subset A^r$
 -->
<SPAN CLASS="MATH">241#241</SPAN>.|;

$l2h_cache_key = q/$x_1$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">302#302</SPAN>|;

$l2h_cache_key = q/  $m_i$/;
$l2h_cache{$l2h_cache_key} = q|  <SPAN CLASS="MATH">118#118</SPAN>|;

$l2h_cache_key = q/$\deg(x^\alpha) = w_1 \alpha_1 + \cdots + w_n\alpha_n$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $\deg(x^\alpha) = w_1 \alpha_1 + \cdots + w_n\alpha_n$
 -->
<SPAN CLASS="MATH">618#618</SPAN>|;

$l2h_cache_key = q/$\exp(2\pi iM)$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">724#724</SPAN>|;

$l2h_cache_key = q/$h_1$ or $h_2$,/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">155#155</SPAN> or <SPAN CLASS="MATH">156#156</SPAN>,|;

$l2h_cache_key = q/compute $I_A$ without any auxiliary variables, provided that $A$ contains a vector $w$
with positive coefficients in its row space. This is a real restriction,
i.e., the algorithm will not necessarily work in the general case.

A lattice basis $v_1,\ldots,v_r$ is again computed via the
LLL-algorithm.
The saturation step is performed in the following way:
First note that $w$ induces a positive grading w.r.t. which the ideal
$$ I=<x^{v_i^+}-x^{v_i^-}|i=1,\ldots,r> $$
is homogeneous corresponding to our lattice basis. We use the following
lemma:

Let $I$ be a homogeneous ideal w.r.t. the weighted reverse
lexicographical ordering with weight vector $w$ and variable order $x_1
> x_2 > \ldots > x_n$. Let $G$ denote a Groebner basis of $I$ w.r.t.
this ordering.  Then a Groebner basis of $(I:x_n^\infty)$ is obtained by
dividing each element of $G$ by the highest possible power of $x_n$.

From this fact, we can succesively compute
$$ I_A= I:(x_1\cdot\ldots\cdot x_n)^\infty
=(((I:x_1^\infty):x_2^\infty):\ldots :x_n^\infty); $$
in the $i$-th step we take $x_i$ as the smallest variable and apply the
lemma with $x_i$ instead of $x_n$.

This procedure involves $n$ Groebner basis computations. Actually, this
number can be reduced to at most $n\/2$/;
$l2h_cache{$l2h_cache_key} = q|compute <SPAN CLASS="MATH">750#750</SPAN> without any auxiliary variables, provided that <SPAN CLASS="MATH">190#190</SPAN> contains a vector <SPAN CLASS="MATH">346#346</SPAN>
with positive coefficients in its row space. This is a real restriction,
i.e., the algorithm will not necessarily work in the general case.

<P>
A lattice basis <!-- MATH
 $v_1,\ldots,v_r$
 -->
<SPAN CLASS="MATH">585#585</SPAN> is again computed via the
LLL-algorithm.
The saturation step is performed in the following way:
First note that <SPAN CLASS="MATH">346#346</SPAN> induces a positive grading w.r.t. which the ideal
<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
I=<x^{v_i^+}-x^{v_i^-}\|i=1,\ldots,r>
\end{displaymath}
 -->

749#749
</DIV>
is homogeneous corresponding to our lattice basis. We use the following
lemma:

<P>
Let <SPAN CLASS="MATH">251#251</SPAN> be a homogeneous ideal w.r.t. the weighted reverse
lexicographical ordering with weight vector <SPAN CLASS="MATH">346#346</SPAN> and variable order <!-- MATH
 $x_1
> x_2 > \ldots > x_n$
 -->
<SPAN CLASS="MATH">767#767</SPAN>. Let <SPAN CLASS="MATH">189#189</SPAN> denote a Groebner basis of <SPAN CLASS="MATH">251#251</SPAN> w.r.t.
this ordering.  Then a Groebner basis of <!-- MATH
 $(I:x_n^\infty)$
 -->
<SPAN CLASS="MATH">768#768</SPAN> is obtained by
dividing each element of <SPAN CLASS="MATH">189#189</SPAN> by the highest possible power of <SPAN CLASS="MATH">303#303</SPAN>.

<P>
From this fact, we can succesively compute
<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
I_A= I:(x_1\cdot\ldots\cdot x_n)^\infty
=(((I:x_1^\infty):x_2^\infty):\ldots :x_n^\infty);
\end{displaymath}
 -->

769#769
</DIV>
in the <SPAN CLASS="MATH">57#57</SPAN>-th step we take <SPAN CLASS="MATH">126#126</SPAN> as the smallest variable and apply the
lemma with <SPAN CLASS="MATH">126#126</SPAN> instead of <SPAN CLASS="MATH">303#303</SPAN>.

<P>
This procedure involves <SPAN CLASS="MATH">17#17</SPAN> Groebner basis computations. Actually, this
number can be reduced to at most <SPAN CLASS="MATH">770#770</SPAN>|;

$l2h_cache_key = q/  The code $C$ of dimension $k$ and minimum distance $d$ is denoted as $[n,k,d]$./;
$l2h_cache{$l2h_cache_key} = q|  The code <SPAN CLASS="MATH">78#78</SPAN> of dimension <SPAN CLASS="MATH">280#280</SPAN> and minimum distance <SPAN CLASS="MATH">171#171</SPAN> is denoted as <SPAN CLASS="MATH">803#803</SPAN>.|;

$l2h_cache_key = q/$C = A\otimes_{\bf{K} } B$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $C = A\otimes_{\bf {K} } B$
 -->
<SPAN CLASS="MATH">194#194</SPAN>|;

$l2h_cache_key = q/$I \cap K[Y_1,\ldots,Y_r]$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $I \cap K[Y_1,\ldots,Y_r]$
 -->
<SPAN CLASS="MATH">485#485</SPAN>|;

$l2h_cache_key = q/$K<X>$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">305#305</SPAN>|;

$l2h_cache_key = q/$g_2,\ldots,g_l,h$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $g_2,\ldots,g_l,h$
 -->
<SPAN CLASS="MATH">1003#1003</SPAN>|;

$l2h_cache_key = q/${\tt R}^n$./;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">173#173</SPAN>.|;

$l2h_cache_key = q/$p,s \in X$, such that $w = p \cdot v \cdot s$,/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">398#398</SPAN>, such that <!-- MATH
 $w = p \cdot v \cdot s$
 -->
<SPAN CLASS="MATH">399#399</SPAN>,|;

$l2h_cache_key = q/$K[[x_1,\ldots,x_n]]$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $K[[x_1,\ldots,x_n]]$
 -->
<SPAN CLASS="MATH">491#491</SPAN>|;

$l2h_cache_key = q/  Let $B$ be an MDS matrix with structure constants $\mu^{ij}_l$.  Let $H$ be a check matrix of the code $C$ such that $H=AB$ as above.
  Let ${\bf r}={\bf c}+{\bf e}$ be a received word with ${\bf c} \in C$ the codeword sent
  and ${\bf e}$ the error vector. Suppose that  $wt({\bf e})\ne 0$ and $wt({\bf e})\le\lfloor (d(C)-1)\/2\rfloor$.
  Let $t$ be the smallest positive integer such that $J(t,{\bf r})$ has a solution $({\bf u,v})$ over the algebraic closure of
  $F_q$. Then/;
$l2h_cache{$l2h_cache_key} = q|  Let <SPAN CLASS="MATH">195#195</SPAN> be an MDS matrix with structure constants <SPAN CLASS="MATH">967#967</SPAN>.  Let <SPAN CLASS="MATH">804#804</SPAN> be a check matrix of the code <SPAN CLASS="MATH">78#78</SPAN> such that <SPAN CLASS="MATH">961#961</SPAN> as above.
  Let <!-- MATH
 ${\bf r}={\bf c}+{\bf e}$
 -->
<SPAN CLASS="MATH">832#832</SPAN> be a received word with <SPAN CLASS="MATH">833#833</SPAN> the codeword sent
  and <SPAN CLASS="MATH">834#834</SPAN> the error vector. Suppose that  <!-- MATH
 $wt({\bf e})\ne 0$
 -->
<SPAN CLASS="MATH">978#978</SPAN> and <!-- MATH
 $wt({\bf e})\le\lfloor (d(C)-1)/2\rfloor$
 -->
<SPAN CLASS="MATH">979#979</SPAN>.
  Let <SPAN CLASS="MATH">501#501</SPAN> be the smallest positive integer such that <SPAN CLASS="MATH">977#977</SPAN> has a solution <SPAN CLASS="MATH">980#980</SPAN> over the algebraic closure of
  <SPAN CLASS="MATH">797#797</SPAN>. Then|;

$l2h_cache_key = q/$x_i$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">126#126</SPAN>|;

$l2h_cache_key = q/$v=[f_1,...,f_n]$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $v=[f_1,...,f_n]$
 -->
<SPAN CLASS="MATH">525#525</SPAN>|;

$l2h_cache_key = q/$c$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">47#47</SPAN>|;

$l2h_cache_key = q/  $\epsilon_j:=X_j^{q^m}-X_j=0, 1\le j\le n-k,$ since $s_j\in F$;/;
$l2h_cache{$l2h_cache_key} = q|  <!-- MATH
 $\epsilon_j:=X_j^{q^m}-X_j=0, 1\le j\le n-k,$
 -->
<SPAN CLASS="MATH">847#847</SPAN> since <SPAN CLASS="MATH">848#848</SPAN>;|;

$l2h_cache_key = q/$\hbox{Wp}(w_1, \ldots, w_n)$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $\hbox{Wp}(w_1, \ldots, w_n)$
 -->
<SPAN CLASS="MATH">536#536</SPAN>|;

$l2h_cache_key = q/$\hbox{dim}_K(\hbox{Loc}_{(x,y,z)}K[x,y,z]\/(\hbox{jacob}(f)+(f)))$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $\hbox{dim}_K(\hbox{Loc}_{(x,y,z)}K[x,y,z]/(\hbox{jacob}(f)+(f)))$
 -->
<SPAN CLASS="MATH">498#498</SPAN>|;

$l2h_cache_key = q/  $x^{e_i}$/;
$l2h_cache{$l2h_cache_key} = q|  <SPAN CLASS="MATH">120#120</SPAN>|;

$l2h_cache_key = q/$P^4$./;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">454#454</SPAN>.|;

$l2h_cache_key = q/$G$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">189#189</SPAN>|;

$l2h_cache_key = q/  $f_1, f_2,\ldots,f_k$/;
$l2h_cache{$l2h_cache_key} = q|  <!-- MATH
 $f_1, f_2,\ldots,f_k$
 -->
<SPAN CLASS="MATH">107#107</SPAN>|;

$l2h_cache_key = q/$R^5$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">19#19</SPAN>|;

$l2h_cache_key = q/$H''\/H'$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">722#722</SPAN>|;

$l2h_cache_key = q/$H_1$./;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">158#158</SPAN>.|;

$l2h_cache_key = q/$\hbox{Loc}_{(x)}K[x_1,\ldots,x_n])$./;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $\hbox{Loc}_{(x)}K[x_1,\ldots,x_n])$
 -->
<SPAN CLASS="MATH">63#63</SPAN>.|;

$l2h_cache_key = q/$y*z^i*x$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">316#316</SPAN>|;

$l2h_cache_key = q/$y_i * y_i = 0$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">298#298</SPAN>|;

$l2h_cache_key = q/$g \circ h$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">986#986</SPAN>|;

$l2h_cache_key = q/$d$ in row $i$ and column $j$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">171#171</SPAN> in row <SPAN CLASS="MATH">57#57</SPAN> and column <SPAN CLASS="MATH">55#55</SPAN>|;

$l2h_cache_key = q/  The syndromes $s_i=r(a^i)=e(a^i)$ and the coefficients $\sigma_i$ satisfy
  the following {\bf generalized Newton identities}:
  $$
    s_i+\sum_{j=1}^{t}\sigma_js_{i-j}=0,\ \  \hbox{ for all } \ i\in Z\!\!\! Z_n.
  $$/;
$l2h_cache{$l2h_cache_key} = q|  The syndromes <!-- MATH
 $s_i=r(a^i)=e(a^i)$
 -->
<SPAN CLASS="MATH">893#893</SPAN> and the coefficients <SPAN CLASS="MATH">891#891</SPAN> satisfy
  the following <B>generalized Newton identities</B>:
  <DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
s_i+\sum_{j=1}^{t}\sigma_js_{i-j}=0,\ \  \hbox{ for all } \ i\in Z\!\!\! Z_n.
\end{displaymath}
 -->

894#894
</DIV>
|;

$l2h_cache_key = q/$x_3 x_3 x_3$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">359#359</SPAN>|;

$l2h_cache_key = q/$Q[x,y,z]$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">39#39</SPAN>|;

$l2h_cache_key = q/$\forall i<j$, $d_{ij} = p$,/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">212#212</SPAN>, <SPAN CLASS="MATH">214#214</SPAN>,|;

$l2h_cache_key = q/$R[x,y,z]$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">52#52</SPAN>|;

$l2h_cache_key = q/$1 <= i <= n$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">343#343</SPAN>|;

$l2h_cache_key = q/$I$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">251#251</SPAN>|;

$l2h_cache_key = q/$e_i$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">413#413</SPAN>|;

$l2h_cache_key = q/$<_1$ a monomial
ordering on $K[x]$ and $<_2$ a monomial ordering on $K[y]$.   The product
ordering (or block ordering) $<\ := (<_1,<_2)$ on $K[x,y]$ is the following:/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">379#379</SPAN> a monomial
ordering on <SPAN CLASS="MATH">549#549</SPAN> and <SPAN CLASS="MATH">610#610</SPAN> a monomial ordering on <SPAN CLASS="MATH">611#611</SPAN>.   The product
ordering (or block ordering) <!-- MATH
 $<\ := (<_1,<_2)$
 -->
<SPAN CLASS="MATH">612#612</SPAN> on <SPAN CLASS="MATH">613#613</SPAN> is the following:|;

$l2h_cache_key = q/  the reduced Gr\"{o}bner basis $G$ for the ideal $J(t,{\bf r})$ w.r.t any
  monomial ordering is
  $$
  U_i-u_i({\bf e}), i=1,\dots,n,
  $$
  $$
  V_j-v_j, j=1,\dots,t,
  $$
  where $({\bf u}({\bf e}),{\bf v})$ is the unique solution./;
$l2h_cache{$l2h_cache_key} = q|  the reduced Gröbner basis <SPAN CLASS="MATH">189#189</SPAN> for the ideal <SPAN CLASS="MATH">977#977</SPAN> w.r.t any
  monomial ordering is
  <DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
U_i-u_i({\bf e}), i=1,\dots,n,
\end{displaymath}
 -->

983#983
</DIV>

  <DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
V_j-v_j, j=1,\dots,t,
\end{displaymath}
 -->

984#984
</DIV>
where <!-- MATH
 $({\bf u}({\bf e}),{\bf v})$
 -->
<SPAN CLASS="MATH">985#985</SPAN> is the unique solution.|;

$l2h_cache_key = q/$N = R^n\/M$./;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">531#531</SPAN>.|;

$l2h_cache_key = q/$R<$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">430#430</SPAN>|;

$l2h_cache_key = q/$\deg(h)\geq 2$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">990#990</SPAN>|;

$l2h_cache_key = q/$\hbox{Ext}^2(K,K)$./;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $\hbox{Ext}^2(K,K)$
 -->
<SPAN CLASS="MATH">469#469</SPAN>.|;

$l2h_cache_key = q/$M_1, \ldots, M_m$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $M_1, \ldots, M_m$
 -->
<SPAN CLASS="MATH">420#420</SPAN>|;

$l2h_cache_key = q/  Let $F_q$ be a field with $q$ elements. A \emph{linear code} $C$ is a linear subspace of $F_q^n$ endowed with the
  {\bf Hamming metric}./;
$l2h_cache{$l2h_cache_key} = q|  Let <SPAN CLASS="MATH">797#797</SPAN> be a field with <SPAN CLASS="MATH">798#798</SPAN> elements. A <SPAN  CLASS="textit">linear code</SPAN> <SPAN CLASS="MATH">78#78</SPAN> is a linear subspace of <SPAN CLASS="MATH">799#799</SPAN> endowed with the
  <B>Hamming metric</B>.|;

$l2h_cache_key = q/A discrete monomial valuation $v$ on $R = K[X_1 ,\ldots,X_n]$ is determined by
the values $v(X_j)$ of the indeterminates. This function computes the
subalgebra $S = \{ f \in R : v_i ( f ) \geq 0,\ i = 1,\ldots,r\}$ for several
such valuations $v_i$, $i=1,\ldots,r$. It needs the matrix $V = (v_i(X_j))$ as
its input./;
$l2h_cache{$l2h_cache_key} = q|A discrete monomial valuation <SPAN CLASS="MATH">331#331</SPAN> on <!-- MATH
 $R = K[X_1 ,\ldots,X_n]$
 -->
<SPAN CLASS="MATH">1028#1028</SPAN> is determined by
the values <SPAN CLASS="MATH">1052#1052</SPAN> of the indeterminates. This function computes the
subalgebra <!-- MATH
 $S = \{ f \in R : v_i ( f ) \geq 0,\ i = 1,\ldots,r\}$
 -->
<SPAN CLASS="MATH">1053#1053</SPAN> for several
such valuations <SPAN CLASS="MATH">530#530</SPAN>, <SPAN CLASS="MATH">1030#1030</SPAN>. It needs the matrix <!-- MATH
 $V = (v_i(X_j))$
 -->
<SPAN CLASS="MATH">1054#1054</SPAN> as
its input.|;

$l2h_cache_key = q/$d$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">171#171</SPAN>|;

$l2h_cache_key = q/  $2\times n$/;
$l2h_cache{$l2h_cache_key} = q|  <SPAN CLASS="MATH">101#101</SPAN>|;

$l2h_cache_key = q/  {\bf Bounded up to half the minimum distance}: With the additional assumption $d({\bf y},C)\le(d(C)-1)\/2$, a codeword with the above property
  is unique./;
$l2h_cache{$l2h_cache_key} = q|  <B>Bounded up to half the minimum distance</B>: With the additional assumption <!-- MATH
 $d({\bf y},C)\le(d(C)-1)/2$
 -->
<SPAN CLASS="MATH">823#823</SPAN>, a codeword with the above property
  is unique.|;

$l2h_cache_key = q/$Z<x,y>$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">307#307</SPAN>|;

$l2h_cache_key = q/$ d_{ij}$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">211#211</SPAN>|;

$l2h_cache_key = q/$$A\/(A \cap B)$$/;
$l2h_cache{$l2h_cache_key} = q|<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
A/(A \cap B)
\end{displaymath}
 -->

457#457
</DIV>
|;

$l2h_cache_key = q/$f in R$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">674#674</SPAN>|;

$l2h_cache_key = q/$x_1 x_1 x_1 > x_1 x_2 x_3 > x_3 x_2 x_1 > x_3 x_3 x_3 > x_1 x_3 > x_2 x_2 > x_2 x_3 > x_3 x_1 > x_1 > x_2 > x_3$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $x_1 x_1 x_1 > x_1 x_2 x_3 > x_3 x_2 x_1 > x_3 x_3 x_3 > x_1 x_3 > x_2 x_2 > x_2 x_3 > x_3 x_1 > x_1 > x_2 > x_3$
 -->
<SPAN CLASS="MATH">366#366</SPAN>|;

$l2h_cache_key = q/$H_1$ (resp.\ $H_2$)/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">158#158</SPAN> (resp. <SPAN CLASS="MATH">159#159</SPAN>)|;

$l2h_cache_key = q/$R=\hbox{Loc}_< K[\underline{x}]$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $R=\hbox{Loc}_< K[\underline{x}]$
 -->
<SPAN CLASS="MATH">621#621</SPAN>|;

$l2h_cache_key = q/$T^2=0$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">511#511</SPAN>|;

$l2h_cache_key = q/$T_n=$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">1012#1012</SPAN>|;

$l2h_cache_key = q/$i, j$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">442#442</SPAN>|;

$l2h_cache_key = q/$A = K$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">411#411</SPAN>|;

$l2h_cache_key = q/$M_i={\tt module}(A_i)$, i=1...k./;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $M_i={\tt module}(A_i)$
 -->
<SPAN CLASS="MATH">135#135</SPAN>, i=1...k.|;

$l2h_cache_key = q/$a<b$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">335#335</SPAN>|;

$l2h_cache_key = q/$M$,/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">13#13</SPAN>,|;

$l2h_cache_key = q/section Algorithms./;
$l2h_cache{$l2h_cache_key} = q|section Algorithms.|;

$l2h_cache_key = q/$B$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">195#195</SPAN>|;

$l2h_cache_key = q/$n \times k$,/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">193#193</SPAN>,|;

$l2h_cache_key = q/$\hbox{Ext}^1$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">460#460</SPAN>|;

$l2h_cache_key = q/$I=\langle Y_1-f_1,\ldots,Y_r-f_r \rangle \subseteq
K[x_1,\ldots,x_n,Y_1,\ldots,Y_r]$./;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $I=\langle Y_1-f_1,\ldots,Y_r-f_r \rangle \subseteq
K[x_1,\ldots,x_n,Y_1,\ldots,Y_r]$
 -->
<SPAN CLASS="MATH">484#484</SPAN>.|;

$l2h_cache_key = q/$w(x_i)=w_i>0$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">367#367</SPAN>|;

$l2h_cache_key = q/$x^\alpha < x^\beta  \Leftrightarrow  \exists\; 1 \le i \le n :
\alpha_1 = \beta_1, \ldots, \alpha_{i-1} = \beta_{i-1}, \alpha_i >
\beta_i$./;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $x^\alpha < x^\beta  \Leftrightarrow  \exists\; 1 \le i \le n :
\alpha_1 = \beta_1, \ldots, \alpha_{i-1} = \beta_{i-1}, \alpha_i >
\beta_i$
 -->
<SPAN CLASS="MATH">565#565</SPAN>.|;

$l2h_cache_key = q/$P_n =$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">1011#1011</SPAN>|;

$l2h_cache_key = q/$$
R^r \buildrel{A}\over{\longrightarrow}
R^m \buildrel{B}\over{\longleftarrow} R^s\;.
$$/;
$l2h_cache{$l2h_cache_key} = q|<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
R^r \buildrel{A}\over{\longrightarrow}
R^m \buildrel{B}\over{\longleftarrow} R^s\;.
\end{displaymath}
 -->

478#478
</DIV>
|;

$l2h_cache_key = q/Subject to the given degree (length) bound $d$, the truncated letterplace algebra
$K[X\times (1, ..., d)]$ is finitely generated commutative polynomial $K$-algebra./;
$l2h_cache{$l2h_cache_key} = q|Subject to the given degree (length) bound <SPAN CLASS="MATH">171#171</SPAN>, the truncated letterplace algebra
<!-- MATH
 $K[X\times (1, ..., d)]$
 -->
<SPAN CLASS="MATH">429#429</SPAN> is finitely generated commutative polynomial <SPAN CLASS="MATH">50#50</SPAN>-algebra.|;

$l2h_cache_key = q/$f^lpha$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">1066#1066</SPAN>|;

$l2h_cache_key = q/Let $A$ be a GR-algebra. A {\bf left} (resp. {\bf right}) {\bf syzygy}
between $k$ elements $\{f_1,\dots,f_k\} \subset A^r $ is
a $k$-tuple $(g_1,\dots ,g_k)\in A^k$ satisfying
$$\sum_{i=1}^{k} g_i f_i = 0 \;\;\; {\rm resp. } \;\;\; \sum_{i=1}^{k} f_i g_i = 0. $$
The set of all left (resp. right) syzygies between $\{f_1,...,f_k\}$ is a left (resp. right) submodule $S$ of $A^k$./;
$l2h_cache{$l2h_cache_key} = q|Let <SPAN CLASS="MATH">190#190</SPAN> be a GR-algebra. A <B>left</B> (resp. <B>right</B>) <B>syzygy</B>
between <SPAN CLASS="MATH">280#280</SPAN> elements <!-- MATH
 $\{f_1,\dots,f_k\} \subset A^r$
 -->
<SPAN CLASS="MATH">281#281</SPAN> is
a <SPAN CLASS="MATH">280#280</SPAN>-tuple <!-- MATH
 $(g_1,\dots ,g_k)\in A^k$
 -->
<SPAN CLASS="MATH">282#282</SPAN> satisfying
<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
\sum_{i=1}^{k} g_i f_i = 0 \;\;\; {\rm resp. } \;\;\; \sum_{i=1}^{k} f_i g_i = 0.
\end{displaymath}
 -->

283#283
</DIV>
The set of all left (resp. right) syzygies between <!-- MATH
 $\{f_1,...,f_k\}$
 -->
<SPAN CLASS="MATH">284#284</SPAN> is a left (resp. right) submodule <SPAN CLASS="MATH">247#247</SPAN> of <SPAN CLASS="MATH">285#285</SPAN>.|;

$l2h_cache_key = q/$H_1$, resp.\ $H_2$,/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">158#158</SPAN>, resp. <SPAN CLASS="MATH">159#159</SPAN>,|;

$l2h_cache_key = q/$N_i = \sum_{j=1}^m \sum_k \ell_{jk} M_j r_{jk} = \sum_{j=1}^m T_{ij} M_j,$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $N_i = \sum_{j=1}^m \sum_k \ell_{jk} M_j r_{jk} = \sum_{j=1}^m T_{ij} M_j,$
 -->
<SPAN CLASS="MATH">421#421</SPAN>|;

$l2h_cache_key = q/the ground field has to be the field of rational
numbers. Moreover, {\tt ncols(p)==}$n$, the number of variables in the
basering, and all the given generators have to be numbers different from
0,1 or -1. Finally, {\tt ncols(v)==(d+1)$^n$}, and all given generators have
to be numbers./;
$l2h_cache{$l2h_cache_key} = q|the ground field has to be the field of rational
numbers. Moreover, <SPAN style="font-family:monospace">ncols(p)==</SPAN><SPAN CLASS="MATH">17#17</SPAN>, the number of variables in the
basering, and all the given generators have to be numbers different from
0,1 or -1. Finally, <SPAN style="font-family:monospace">ncols(v)==(d+1)<SPAN CLASS="MATH">183#183</SPAN></SPAN>, and all given generators have
to be numbers.|;

$l2h_cache_key = q/${\tt transpose}(B_{i+1}) \cdot {\tt transpose}(B_i) =0$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 ${\tt transpose}(B_{i+1}) \cdot {\tt transpose}(B_i) =0$
 -->
<SPAN CLASS="MATH">291#291</SPAN>|;

$l2h_cache_key = q/  We have $ s_{i+n}=s_i, \hbox{ for all }  i\in Z\!\!\! Z_n$, since $s_{i+n}=r(a^{i+n})=r(a^i)$. Furthermore
  $$
    s_i^q=(e(a^i))^q=e(a^{iq})=s_{qi}, \hbox{ for all } i \in Z_n,
  $$
  and $\sigma_i^{q^m}=\sigma_i, \hbox{ for all } 1\le i \le t$.
  Replace the syndromes by variables and obtain the following set of polynomials $Newton_t$ in the variables
  $S_1,\dots,S_n$ and $\sigma_1,\dots,\sigma_t$:
  $$
  \sigma_i^{q^m}-\sigma_i, \ \  \forall \ 1\le i \le t,
  $$
  $$
  S_{i+n}-S_i, \ \  \forall \  i\in Z\!\!\! Z_n,
  $$
  $$
  S_i^q-S_{qi}, \ \  \forall \  i\in Z\!\!\! Z_n,
  $$
  $$
  S_i+\sum_{j=1}^{t}\sigma_jS_{i-j}, \ \  \forall \  i\in Z\!\!\! Z_n,
  $$
  $$
  S_i-s_i(r) \ \ \forall \ i\in S_C.
  $$/;
$l2h_cache{$l2h_cache_key} = q|  We have <!-- MATH
 $s_{i+n}=s_i, \hbox{ for all }  i\in Z\!\!\! Z_n$
 -->
<SPAN CLASS="MATH">895#895</SPAN>, since <!-- MATH
 $s_{i+n}=r(a^{i+n})=r(a^i)$
 -->
<SPAN CLASS="MATH">896#896</SPAN>. Furthermore
  <DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
s_i^q=(e(a^i))^q=e(a^{iq})=s_{qi}, \hbox{ for all } i \in Z_n,
\end{displaymath}
 -->

897#897
</DIV>
and <!-- MATH
 $\sigma_i^{q^m}=\sigma_i, \hbox{ for all } 1\le i \le t$
 -->
<SPAN CLASS="MATH">898#898</SPAN>.
  Replace the syndromes by variables and obtain the following set of polynomials <SPAN CLASS="MATH">899#899</SPAN> in the variables
  <SPAN CLASS="MATH">900#900</SPAN> and <!-- MATH
 $\sigma_1,\dots,\sigma_t$
 -->
<SPAN CLASS="MATH">901#901</SPAN>:
  <DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
\sigma_i^{q^m}-\sigma_i, \ \  \forall \ 1\le i \le t,
\end{displaymath}
 -->

902#902
</DIV>

  <DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
S_{i+n}-S_i, \ \  \forall \  i\in Z\!\!\! Z_n,
\end{displaymath}
 -->

903#903
</DIV>

  <DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
S_i^q-S_{qi}, \ \  \forall \  i\in Z\!\!\! Z_n,
\end{displaymath}
 -->

904#904
</DIV>

  <DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
S_i+\sum_{j=1}^{t}\sigma_jS_{i-j}, \ \  \forall \  i\in Z\!\!\! Z_n,
\end{displaymath}
 -->

905#905
</DIV>

  <DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
S_i-s_i(r) \ \ \forall \ i\in S_C.
\end{displaymath}
 -->

906#906
</DIV>
|;

$l2h_cache_key = q/In this case a vector is written as $[v_1, \ldots, v_r]$./;
$l2h_cache{$l2h_cache_key} = q|In this case a vector is written as <!-- MATH
 $[v_1, \ldots, v_r]$
 -->
<SPAN CLASS="MATH">587#587</SPAN>.|;

$l2h_cache_key = q/H.\ Sch\"onemann; Humboldt-Universit\"at/;
$l2h_cache{$l2h_cache_key} = q|H. Schönemann; Humboldt-Universität|;

$l2h_cache_key = q/$z$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">42#42</SPAN>|;

$l2h_cache_key = q/$M_i={\tt module}(A_i),\;i = 1,\ldots,k$./;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $M_i={\tt module}(A_i),\;i = 1,\ldots,k$
 -->
<SPAN CLASS="MATH">170#170</SPAN>.|;

$l2h_cache_key = q/ Loc $K[x]^r$/;
$l2h_cache{$l2h_cache_key} = q| Loc <SPAN CLASS="MATH">571#571</SPAN>|;

$l2h_cache_key = q/$(g_1,\dots ,g_m,h)$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $(g_1,\dots ,g_m,h)$
 -->
<SPAN CLASS="MATH">992#992</SPAN>|;

$l2h_cache_key = q/$\forall \; f,g \in A^{opp}$, a new multiplication $*$ on $A^{opp}$
is defined to be $f*g := g \sharp f$./;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $\forall \; f,g \in A^{opp}$
 -->
<SPAN CLASS="MATH">216#216</SPAN>, a new multiplication <SPAN CLASS="MATH">217#217</SPAN> on <SPAN CLASS="MATH">206#206</SPAN>
is defined to be <!-- MATH
 $f*g := g \sharp f$
 -->
<SPAN CLASS="MATH">218#218</SPAN>.|;

$l2h_cache_key = q/{\sc Letterplace}/;
$l2h_cache{$l2h_cache_key} = q|L<SMALL>ETTERPLACE</SMALL>|;

$l2h_cache_key = q/$\hbox{ann}(M) = \{a \mid aM = 0 \}$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $\hbox{ann}(M) = \{a \mid aM = 0 \}$
 -->
<SPAN CLASS="MATH">14#14</SPAN>|;

$l2h_cache_key = q/$Z\/m$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">28#28</SPAN>|;

$l2h_cache_key = q/$v_1, \ldots, v_k$ which generate $M$./;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $v_1, \ldots, v_k$
 -->
<SPAN CLASS="MATH">91#91</SPAN> which generate <SPAN CLASS="MATH">13#13</SPAN>.|;

$l2h_cache_key = q/nrows($v$)/;
$l2h_cache{$l2h_cache_key} = q|nrows(<SPAN CLASS="MATH">331#331</SPAN>)|;

$l2h_cache_key = q/$a.$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">49#49</SPAN>|;

$l2h_cache_key = q/\quad/;
$l2h_cache{$l2h_cache_key} = q|&nbsp;&nbsp;&nbsp;&nbsp;|;

$l2h_cache_key = q/Loc $K[x]$ = $K[x]_{(x)}$,/;
$l2h_cache{$l2h_cache_key} = q|Loc <SPAN CLASS="MATH">549#549</SPAN> = <SPAN CLASS="MATH">563#563</SPAN>,|;

$l2h_cache_key = q/$B_1$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">292#292</SPAN>|;

$l2h_cache_key = q/Poincar\'e/;
$l2h_cache{$l2h_cache_key} = q|Poincaré|;

$l2h_cache_key = q/$V(\partial f\/\partial x_1,\ldots,\partial f\/\partial x_n) \setminus V(f)$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $V(\partial f/\partial x_1,\ldots,\partial f/\partial x_n) \setminus V(f)$
 -->
<SPAN CLASS="MATH">503#503</SPAN>|;

$l2h_cache_key = q/$coker(A)=F_0\/M$
$$...\longrightarrow F_2 \buildrel{A_2}\over{\longrightarrow} F_1
\buildrel{A_1}\over{\longrightarrow} F_0\longrightarrow F_0\/M
\longrightarrow 0,$$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $coker(A)=F_0/M$
 -->
<SPAN CLASS="MATH">164#164</SPAN>
<DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
...\longrightarrow F_2 \buildrel{A_2}\over{\longrightarrow} F_1
\buildrel{A_1}\over{\longrightarrow} F_0\longrightarrow F_0/M
\longrightarrow 0,
\end{displaymath}
 -->

165#165
</DIV>
|;

$l2h_cache_key = q/{\sc Plural}/;
$l2h_cache{$l2h_cache_key} = q|P<SMALL>LURAL</SMALL>|;

$l2h_cache_key = q/$x*z^i*y$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">317#317</SPAN>|;

$l2h_cache_key = q/Here, $L(g)$ denotes the leading term of $g$ and
$ecart(g):=deg(g)-deg(L(g))$./;
$l2h_cache{$l2h_cache_key} = q|Here, <SPAN CLASS="MATH">148#148</SPAN> denotes the leading term of <SPAN CLASS="MATH">149#149</SPAN> and
<!-- MATH
 $ecart(g):=deg(g)-deg(L(g))$
 -->
<SPAN CLASS="MATH">150#150</SPAN>.|;

$l2h_cache_key = q/$epsilon + genus$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $epsilon + genus$
 -->
<SPAN CLASS="MATH">1063#1063</SPAN>|;

$l2h_cache_key = q/$I\subset K[x_1,\dots,x_n]$/;
$l2h_cache{$l2h_cache_key} = q|<!-- MATH
 $I\subset K[x_1,\dots,x_n]$
 -->
<SPAN CLASS="MATH">438#438</SPAN>|;

$l2h_cache_key = q/    $$\deg(x^\alpha) > \deg(x^\beta) \Rightarrow x^\alpha > x^\beta. $$/;
$l2h_cache{$l2h_cache_key} = q|    <DIV CLASS="displaymath">
<!-- MATH
 \begin{displaymath}
\deg(x^\alpha) > \deg(x^\beta) \Rightarrow x^\alpha > x^\beta.
\end{displaymath}
 -->

620#620
</DIV>
|;

$l2h_cache_key = q/$\quad$ (dp(3), a(1,2,3),dp(3)):
$\left(\matrix{
1&  1&  1&  0&  0&  0 \cr
0&  0&  -1&  0&  0&  0 \cr
0&  -1&  0&  0&  0&  0 \cr
0&  0&  0&  1&  2&  3 \cr
0&  0&  0&  1&  1&  1 \cr
0&  0&  0&  0&  0&  -1 \cr
0&  0&  0&  0&  -1&  0 \cr
 }\right)$

$\quad$ (a(1,2,3,4,5),Dp(3), ds(3)):
$\left(\matrix{
1&  2&  3&  4&  5&  0 \cr
1&  1&  1&  0&  0&  0 \cr
1&  0&  0&  0&  0&  0 \cr
0&  1&  0&  0&  0&  0 \cr
0&  0&  0&  -1&  -1&  -1 \cr
0&  0&  0&  0&  0 & -1 \cr
0&  0&  0&  0&  -1&  0 \cr
 }\right)$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">594#594</SPAN> (dp(3), a(1,2,3),dp(3)):
<!-- MATH
 $\left(\matrix{
1&  1&  1&  0&  0&  0 \cr
0&  0&  -1&  0&  0&  0 \cr
0&  -1&  0&  0&  0&  0 \cr
0&  0&  0&  1&  2&  3 \cr
0&  0&  0&  1&  1&  1 \cr
0&  0&  0&  0&  0&  -1 \cr
0&  0&  0&  0&  -1&  0 \cr
 }\right)$
 -->
<SPAN CLASS="MATH">607#607</SPAN>

<P>
<SPAN CLASS="MATH">594#594</SPAN> (a(1,2,3,4,5),Dp(3), ds(3)):
<!-- MATH
 $\left(\matrix{
1&  2&  3&  4&  5&  0 \cr
1&  1&  1&  0&  0&  0 \cr
1&  0&  0&  0&  0&  0 \cr
0&  1&  0&  0&  0&  0 \cr
0&  0&  0&  -1&  -1&  -1 \cr
0&  0&  0&  0&  0 & -1 \cr
0&  0&  0&  0&  -1&  0 \cr
 }\right)$
 -->
<SPAN CLASS="MATH">608#608</SPAN>|;

$l2h_cache_key = q/$[f_1,...,f_n]$ or $f_1*gen(1)+...+f_n*gen(n)$, where $gen(i)$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">522#522</SPAN> or <!-- MATH
 $f_1*gen(1)+...+f_n*gen(n)$
 -->
<SPAN CLASS="MATH">523#523</SPAN>, where <SPAN CLASS="MATH">524#524</SPAN>|;

$l2h_cache_key = q/$f_1$, \dots, $f_r$/;
$l2h_cache{$l2h_cache_key} = q|<SPAN CLASS="MATH">481#481</SPAN>, ..., <SPAN CLASS="MATH">483#483</SPAN>|;
1;