\documentclass[numbers=enddot,12pt,final,onecolumn,notitlepage]{scrartcl}%
\usepackage[headsepline,footsepline,manualmark]{scrlayer-scrpage}
\usepackage[all,cmtip]{xy}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{framed}
\usepackage{amsmath}
\usepackage{comment}
\usepackage{color}
\usepackage{hyperref}
\usepackage[sc]{mathpazo}
\usepackage[T1]{fontenc}
\usepackage{amsthm}
\usepackage{wasysym}
%TCIDATA{OutputFilter=latex2.dll}
%TCIDATA{Version=5.50.0.2960}
%TCIDATA{LastRevised=Saturday, June 13, 2026 14:43:42}
%TCIDATA{SuppressPackageManagement}
%TCIDATA{<META NAME="GraphicsSave" CONTENT="32">}
%TCIDATA{<META NAME="SaveForMode" CONTENT="1">}
%TCIDATA{BibliographyScheme=Manual}
%BeginMSIPreambleData
\providecommand{\U}[1]{\protect\rule{.1in}{.1in}}
%EndMSIPreambleData
\theoremstyle{definition}
\newtheorem{theo}{Theorem}[section]
\newenvironment{theorem}[1][]
{\begin{theo}[#1]\begin{leftbar}}
{\end{leftbar}\end{theo}}
\newtheorem{lem}[theo]{Lemma}
\newenvironment{lemma}[1][]
{\begin{lem}[#1]\begin{leftbar}}
{\end{leftbar}\end{lem}}
\newtheorem{prop}[theo]{Proposition}
\newenvironment{proposition}[1][]
{\begin{prop}[#1]\begin{leftbar}}
{\end{leftbar}\end{prop}}
\newtheorem{defi}[theo]{Definition}
\newenvironment{definition}[1][]
{\begin{defi}[#1]\begin{leftbar}}
{\end{leftbar}\end{defi}}
\newtheorem{remk}[theo]{Remark}
\newenvironment{remark}[1][]
{\begin{remk}[#1]\begin{leftbar}}
{\end{leftbar}\end{remk}}
\newtheorem{coro}[theo]{Corollary}
\newenvironment{corollary}[1][]
{\begin{coro}[#1]\begin{leftbar}}
{\end{leftbar}\end{coro}}
\newtheorem{conv}[theo]{Convention}
\newenvironment{condition}[1][]
{\begin{conv}[#1]\begin{leftbar}}
{\end{leftbar}\end{conv}}
\newtheorem{quest}[theo]{Question}
\newenvironment{algorithm}[1][]
{\begin{quest}[#1]\begin{leftbar}}
{\end{leftbar}\end{quest}}
\newtheorem{warn}[theo]{Warning}
\newenvironment{conclusion}[1][]
{\begin{warn}[#1]\begin{leftbar}}
{\end{leftbar}\end{warn}}
\newtheorem{conj}[theo]{Conjecture}
\newenvironment{conjecture}[1][]
{\begin{conj}[#1]\begin{leftbar}}
{\end{leftbar}\end{conj}}
\newtheorem{exmp}[theo]{Example}
\newenvironment{example}[1][]
{\begin{exmp}[#1]\begin{leftbar}}
{\end{leftbar}\end{exmp}}
\iffalse
\newenvironment{proof}[1][Proof]{\noindent\textbf{#1.} }{\ \rule{0.5em}{0.5em}}
\fi
\newenvironment{verlong}{}{}
\newenvironment{vershort}{}{}
\newenvironment{noncompile}{}{}
\excludecomment{verlong}
\includecomment{vershort}
\excludecomment{noncompile}
\newcommand{\kk}{\mathbf{k}}
\newcommand{\id}{\operatorname{id}}
\newcommand{\ev}{\operatorname{ev}}
\newcommand{\LM}{\operatorname{LM}}
\newcommand{\LC}{\operatorname{LC}}
\newcommand{\are}{\ar@{-}}
\let\sumnonlimits\sum
\let\prodnonlimits\prod
\let\bigcapnonlimits\bigcap
\renewcommand{\sum}{\sumnonlimits\limits}
\renewcommand{\prod}{\prodnonlimits\limits}
\renewcommand{\bigcap}{\bigcapnonlimits\limits}
\newcommand{\maketoc}{\tableofcontents}
\iffalse
\NOEXPAND{\maketoc}{\tableofcontents}
\fi
\setlength\textheight{22.5cm}
\setlength\textwidth{15cm}
\ihead{Errata to ``Computational Algebra'' (2022-09-12)}
\ohead{\today}
\begin{document}

\begin{center}
\textbf{Computational Algebra}

\textit{Willem de Graaf}

\url{https://degraaf.maths.unitn.it/algnotes/compalg.pdf}

version of 12 September 2022

\textbf{Errata and addenda by Darij Grinberg}

\bigskip
\end{center}

\setcounter{section}{6}

\section*{***}

The following is a list of errors and comments to the notes \textquotedblleft
Computational Algebra\textquotedblright\ by Willem de Graaf in the version of
12 September 2022. The numbering of the pages corresponds to the page numbers
on top of the pages (not the PDF page numbering, which differs by $4$).

\section{Errata}

\begin{itemize}
\item \textbf{page 1:} \textquotedblleft computatonal\textquotedblright%
\ $\rightarrow$ \textquotedblleft computational\textquotedblright.

\item \textbf{page 1:} \textquotedblleft Fanally\textquotedblright%
\ $\rightarrow$ \textquotedblleft Finally\textquotedblright.

\item \textbf{page 10, Lemma 1.1.22:} Replace \textquotedblleft
e\textquotedblright\ by \textquotedblleft and\textquotedblright\ on the first
line of the lemma.

\item \textbf{page 11, proof of Theorem 1.1.24:} In the last paragraph of the
proof, after \textquotedblleft hence $\operatorname*{LM}\left(  r\right)  $
lies in $J$\textquotedblright, add \textquotedblleft(if $r\neq0$%
)\textquotedblright. A similar change is needed in the next sentence.

\item \textbf{page 11, Lemma 1.1.29:} Replace \textquotedblleft$g\in
G$\textquotedblright\ by \textquotedblleft$g\in G\setminus\left\{  0\right\}
$\textquotedblright.

Likewise, in the proof of the lemma, remove $0$ whenever leading monomials are discussed.

\item \textbf{page 13, Lemma 1.1.32:} The chain of inequalities%
\[
\operatorname*{LM}\left(  f\right)  =\operatorname*{LM}\left(  h_{1}%
g_{1}\right)  >\operatorname*{LM}\left(  h_{2}g_{2}\right)  >\cdots
>\operatorname*{LM}\left(  h_{s}g_{s}\right)
\]
at the end should only be imposed if $s\neq0$ (because in the case $f=0$,
there is no such thing as $\operatorname*{LM}\left(  f\right)  $).

\item \textbf{page 15, Lemma 1.1.37:} In \textquotedblleft$\operatorname{LM}%
(u)<\operatorname{LM}(f)$ and $\operatorname{LM}(v)<\operatorname{LM}%
(g)$\textquotedblright\ it would be good (particularly with regard to how the
lemma is being applied later on) to be explicit about the case when $u$ or $v$
is zero: Namely, we agree to consider the (normally undefined)
\textquotedblleft leading monomial\textquotedblright\ $\operatorname*{LM}%
\left(  0\right)  $ to be smaller than any actual monomial. This is analogous
to the convention that the \textquotedblleft maximum\textquotedblright\ of an
empty set of integers is $-\infty$.

\item \textbf{page 15, Lemma 1.1.37:} The meaning of \textquotedblleft reduces
to $0$\textquotedblright\ is a bit murky: It could mean either
\textquotedblleft reduces to $0$ in one particular execution of the
division-with-remainder algorithm\textquotedblright\ or \textquotedblleft
reduces to $0$ in each execution of the algorithm\textquotedblright.
Fortunately, in this particular situation, both interpretations are valid
(since the proof shows that the division algorithm can only proceed in one way
-- there is never a choice of $f_{i}$).

\item \textbf{page 15, Lemma 1.1.38:} The meaning of \textquotedblleft reduces
to $0$\textquotedblright\ is again a bit murky. Again, both possible
interpretations (\textquotedblleft reduces to $0$ in one particular execution
of the division-with-remainder algorithm\textquotedblright\ and
\textquotedblleft reduces to $0$ in each execution of the
algorithm\textquotedblright) are valid.

\item \textbf{page 16, proof of Lemma 1.1.38:} At the end of the first
sentence, add \textquotedblleft and $c_{1}=\operatorname{LC}(f)$ and
$c_{2}=\operatorname{LC}(g)$, so that $\operatorname{LM}(r_{1}%
)<\operatorname{LM}(f)$ and $\operatorname{LM}(r_{2})<\operatorname{LM}%
(g)$\textquotedblright. (Here we again understand the \textquotedblleft
monomial\textquotedblright\ $\operatorname*{LM}\left(  0\right)  $ to be
smaller than any actual monomial.)

\item \textbf{page 19, between Lemma 1.2.5 and Lemma 1.2.6:} In \newline%
\textquotedblleft$\operatorname*{ev}\nolimits_{a_{1},\ldots,a_{s}}\left(
f\right)  =f\left(  a_{1},\ldots,a_{s},x_{k+1},\ldots,x_{n}\right)
$\textquotedblright, replace \textquotedblleft$x_{k+1}$\textquotedblright\ by
\textquotedblleft$x_{s+1}$\textquotedblright.

\item \textbf{page 27, proof of Theorem 1.2.23:} It's worth explaining why
\textquotedblleft the degree of $u_{i_{k}}f_{i_{k}}$ has to exceed $\sum
_{i=1}^{n}\left(  t_{i}-1\right)  $\textquotedblright. Namely, the polynomial
$u_{i_{k}}f_{i_{k}}$ is the nonzero term $u_{i_{k}}$ multiplied by the
polynomial $f_{i_{k}}=\prod_{s\in T_{i_{k}}}\left(  x_{i_{k}}-s\right)
\in\operatorname*{span}\left(  x_{i_{k}}^{0},x_{i_{k}}^{1},\ldots,x_{i_{k}%
}^{t_{i_{k}}}\right)  $. Hence, if the monomial $x_{1}^{t_{1}-1}\cdots
x_{n}^{t_{n}-1}$ occurs in this polynomial $u_{i_{k}}f_{i_{k}}$, then the
monomial $x_{1}^{t_{1}-1}\cdots x_{n}^{t_{n}-1}$ must be $u_{i_{k}}$ (more
precisely, the monomial in $u_{i_{k}}$, without the coefficient, but let's
ignore the coefficient for now) multiplied by some power $x_{i_{k}}^{r}$ of
$x_{i_{k}}$. That is, up to scalar multiple, we have $x_{1}^{t_{1}-1}\cdots
x_{n}^{t_{n}-1}=u_{i_{k}}x_{i_{k}}^{r}$ for some $r\in\mathbb{N}$. By
comparing degrees in this equality, we conclude that $\sum_{i=1}^{n}\left(
t_{i}-1\right)  =\deg u_{i_{k}}+r$. On the other hand, by comparing the
exponent of $x_{i_{k}}$ in $x_{1}^{t_{1}-1}\cdots x_{n}^{t_{n}-1}=u_{i_{k}%
}x_{i_{k}}^{r}$, we obtain $r\leq t_{i_{k}}-1$, so that $t_{i_{k}}>t_{i_{k}%
}-1\geq r$.

But the monomial $u_{i_{k}}x_{i_{k}}^{t_{i_{k}}}$ (again, ignoring the
coefficient in $u_{i_{k}}$) must also occur in $u_{i_{k}}f_{i_{k}}$ (since
$x_{i_{k}}^{t_{i_{k}}}$ occurs in $f_{i_{k}}$ with coefficient $1$), and has
degree $\deg\left(  u_{i_{k}}x_{i_{k}}^{t_{i_{k}}}\right)  =\deg u_{i_{k}%
}+\underbrace{t_{i_{k}}}_{>r}>\deg u_{i_{k}}+r=\sum_{i=1}^{n}\left(
t_{i}-1\right)  $. Thus, the degree of $u_{i_{k}}f_{i_{k}}$ has to exceed
$\sum_{i=1}^{n}\left(  t_{i}-1\right)  $.

(Also, the use of the letter $k$ for an integer here is somewhat confusing,
since $k$ already stands for the base field.)

\item \textbf{page 30, Exercise 2:} Replace \textquotedblleft$f_{2}=z^{2}%
-1$\textquotedblright\ by \textquotedblleft$f_{3}=z^{2}-1$\textquotedblright.

\item \textbf{page 32, Exercise 10 (b):} Replace \textquotedblleft with
respect to $<_{l}$\textquotedblright\ by \textquotedblleft with respect to
$<$\textquotedblright.

\item \textbf{page 37, start of \S 2.2.2:} \textquotedblleft similars
idea\textquotedblright\ should be \textquotedblleft similar
ideas\textquotedblright\ or \textquotedblleft a similar idea\textquotedblright.

\item \textbf{page 40, proof of Lemma 2.2.7:} Remove the comma before
\textquotedblleft is equal to $x$\textquotedblright\ (in the last sentence).

\item \textbf{page 41, Remark 2.2.10:} The inequalities \textquotedblleft%
$c_{i}>c_{i-1}>\cdots\geq1$\textquotedblright\ are not entirely correct; e.g.,
it can happen that $c_{1}=c_{0}=1$. However, the recursion $c_{i}=a_{i}%
c_{i-1}+c_{i-2}$ with $a_{i}\geq1$ and $c_{0},c_{1}\geq1$ yields that
$c_{i}\geq c_{i-1}+1$ for each $i\geq2$, and thus the sequence $\left(
c_{0},c_{1},c_{2},c_{3},\ldots\right)  $ is strictly increasing at least
starting with the $c_{1}$ term; and this is enough for the argument you are making.

\item \textbf{page 42, proof of Theorem 2.2.11:} \textquotedblleft the claim
halds\textquotedblright\ $\rightarrow$ \textquotedblleft the claim
holds\textquotedblright.

\item \textbf{page 44, Example 2.2.18:} Replace \textquotedblleft$x_{0}-a_{1}%
$\textquotedblright, \textquotedblleft$x_{1}-a_{2}$\textquotedblright\ and
\textquotedblleft$x_{2}-a_{3}$\textquotedblright\ by \textquotedblleft%
$x_{1}-a_{1}$\textquotedblright, \textquotedblleft$x_{2}-a_{2}$%
\textquotedblright\ and \textquotedblleft$x_{3}-a_{3}$\textquotedblright.

\item \textbf{page 45, Divertimento:} Replace \textquotedblleft$s>1$%
\textquotedblright\ by \textquotedblleft$s\geq1$\textquotedblright\ (twice).

\item \textbf{page 45, Divertimento:} Replace \textquotedblleft$x_{i}%
=a_{1}+\dfrac{1}{x_{i+1}}$\textquotedblright\ by \textquotedblleft$x_{i}%
=a_{i}+\dfrac{1}{x_{i+1}}$\textquotedblright.

\item \textbf{page 45, Divertimento:} In the displayed equation
\textquotedblleft$x_{ks}=a_{ks}+\dfrac{1}{x_{1}}=a_{1}+\dfrac{1}{x_{1}}%
$\textquotedblright, the \textquotedblleft$a_{1}$\textquotedblright\ should
probably be \textquotedblleft$a_{s}$\textquotedblright.

\item \textbf{page 47, Remark 2.2.21:} \textquotedblleft But then $f^{\prime
}\left(  \alpha\right)  =\left(  \alpha_{1}-\alpha_{2}\right)  \left(
\alpha_{2}-\alpha_{3}\right)  $\textquotedblright\ should be \textquotedblleft
But then $f^{\prime}\left(  \alpha\right)  =\left(  \alpha_{1}-\alpha
_{2}\right)  \left(  \alpha_{1}-\alpha_{3}\right)  $\textquotedblright.

\item \textbf{page 61, Lemma 3.1.2:} Actually, this holds even if we don't
require $I$ to be nonzero. But the case $I=0$ requires a (trivial) extra
argument in the proof.

\item \textbf{page 62, Theorem 3.1.8:} Add a requirement that $f$ is nonzero.

\item \textbf{page 63, proof of Corollary 3.1.9:} \textquotedblleft$h_{2}$
divides $h_{2}$\textquotedblright\ should be \textquotedblleft$h_{2}$ divides
$r$\textquotedblright.

\item \textbf{page 69, proof of Lemma 3.4.2:} \textquotedblleft we write
$\overline{f}$\textquotedblright\ should be \textquotedblleft we write
$\overline{h}$\textquotedblright.

\item \textbf{page 73, Lemma 3.4.9:} The equality claimed here should be
replaced by%
\[
\left\vert \left\vert \left(  x-a\right)  h\right\vert \right\vert =\left\vert
\left\vert \left(  \overline{a}x-1\right)  h\right\vert \right\vert .
\]
This way, the problem of $\overline{a}^{-1}$ being undefined when $a=0$ is no
longer present. And of course, the last two lines of the proof become
unnecessary with this reformulation.

\item \textbf{page 73, proof of Lemma 3.4.9:} Remove the period after
\textquotedblleft$=\sum\left\vert \overline{a}h_{i-1}-h_{i}\right\vert ^{2}%
$\textquotedblright\ (since the \textquotedblleft Because\textquotedblright%
\ that follows it is actually explaining this computation).

\item \textbf{page 74, proof of Theorem 3.4.10:} As stated, this argument
works only if $a_{1},a_{2},\ldots,a_{t}$ are nonzero (since otherwise, some
$a_{j}^{-1}$ don't exist). But this restriction can be lifted while
simplifying the proof as follows:

Follow your argument until $f=f_{n}\prod_{i=1}^{s}\left(  x-b_{i}\right)
\prod_{j=1}^{t}\left(  x-a_{j}\right)  $. Then conclude that%
\begin{align*}
\left\vert \left\vert f\right\vert \right\vert  &  =\left\vert \left\vert
f_{n}\prod_{i=1}^{s}\left(  x-b_{i}\right)  \prod_{j=1}^{t}\left(
x-a_{j}\right)  \right\vert \right\vert \\
&  =\left\vert \left\vert f_{n}\prod_{i=1}^{s}\left(  x-b_{i}\right)
\prod_{j=1}^{t}\left(  \overline{a_{j}}x-1\right)  \right\vert \right\vert
\end{align*}
by $t$-fold application of Lemma 3.4.9. But each polynomial $h$ satisfies
$\left\vert \left\vert h\right\vert \right\vert \geq\left\vert h\left(
0\right)  \right\vert $ (since $\left\vert \left\vert h\right\vert \right\vert
$ is the Euclidean length of the vector whose coordinates are the coefficients
of $h$, whereas $h\left(  0\right)  $ is the $0$-th coordinate of this
vector). Thus,%
\begin{align*}
&  \left\vert \left\vert f_{n}\prod_{i=1}^{s}\left(  x-b_{i}\right)
\prod_{j=1}^{t}\left(  \overline{a_{j}}x-1\right)  \right\vert \right\vert \\
&  \geq\left\vert f_{n}\prod_{i=1}^{s}\left(  0-b_{i}\right)  \prod_{j=1}%
^{t}\left(  \overline{a_{j}}0-1\right)  \right\vert =\left\vert f_{n}%
\prod_{i=1}^{s}b_{i}\right\vert =\left\vert f_{n}b_{1}b_{2}\cdots
b_{s}\right\vert .
\end{align*}
Thus,%
\[
\left\vert \left\vert f\right\vert \right\vert =\left\vert \left\vert
f_{n}\prod_{i=1}^{s}\left(  x-b_{i}\right)  \prod_{j=1}^{t}\left(
\overline{a_{j}}x-1\right)  \right\vert \right\vert \geq\left\vert f_{n}%
b_{1}b_{2}\cdots b_{s}\right\vert .
\]
Now continue as you do.

\item \textbf{page 75, Example 3.4.13:} In \textquotedblleft let
$f=x^{4}+2x^{3}-3x^{2}-4x+1$\textquotedblright, replace the \textquotedblleft%
$+1$\textquotedblright\ by \textquotedblleft$-1$\textquotedblright.

\item \textbf{page 76, The algorithm:} In \textquotedblleft If for all $S$,
$f_{S}\neq g_{S}h_{S}$ then $f$ is irreducible\textquotedblright, replace
\textquotedblleft$f_{S}$\textquotedblright\ by \textquotedblleft%
$f$\textquotedblright.

\item \textbf{page 82, Lemma 4.2.5:} This needs a requirement that $y\neq0$.

\item \textbf{General:} Some of the material here is worth reordering. In
Lemma 1.2.5 and in the proof of Lemma 1.2.26, you are using the existence of
the gcd of two univariate polynomials, which is proved in Lemma 3.1.3. Maybe
Section 3.1 should be put at the very beginning of the notes?
\end{itemize}


\end{document}