Why does my method for computing roots with multiplicity give the wrong answer at infinity, and can it be repaired?

90 Views Asked by At

To solve equations in a way that tells you not just the solutions, but the multiplicities, I had the following idea:

  • Use the metaphor of "integer-valued logic." Replace "and" with multiplication and "or" with addition.

  • Replace $=$ with some other symbol like $\#$ to mean that the result is integer valued, as opposed to boolean valued. For instance, whereas the equation $(x-1)^5 = 0$ has value False for $x \neq 1$ and True for $x=1$, the expression $(x-1)^5 \,\#\, 0$ has value $0$ for $x \neq 1$ and $5$ for $x=1$.

For example, the null-factor law reads $$(ab \,\#\, 0) = (a \,\#\, 0)+(b\,\#\,0)$$

This seems to work pretty well in the affine plane. For example, suppose we to study the example on p.28 of Silverman's "The Arithmetic of Elliptic Curves." In particular, we wish to find the zeroes of $$x-a$$ on the curve $$y^2 = (x-a)(x-b)(x-c).$$ We compute:

$(x-a\,\#\,0) \cdot (y^2 \,\#\, (x-a)(x-b)(x-c))$

$=(x\,\#\,a) \cdot (y^2 \,\#\, (x-a)(x-b)(x-c))$

$=(x\,\#\,a) \cdot (y^2 \,\#\, (a-a)(a-b)(a-c))$

$=(x\,\#\,a) \cdot (y^2 \,\#\, 0)$

$=(x\,\#\,a) \cdot 2(y \,\#\, 0)$

$=2(x\,\#\,a)(y \,\#\, 0)$

Ergo $x-a$ has exactly one zero on the curve of interest, it occurs at $x=a,y=0$, and it has multiplicity $2$. This agrees with Silverman's answer, so it seems to work.

However, according to Silverman, $x-a$ also has a zero on the "at infinity" with multiplicity $-2$. To find it, the obvious thing to do is to homogenize everything in sight and do the same computation again. In particular:

$(x-az\,\#\,0) \cdot (y^2z \,\#\, (x-az)(x-bz)(x-cz))$

$=(x\,\#\,az) \cdot (y^2z \,\#\, 0)$

$=(x\,\#\,az) \cdot (2(y \,\#\, 0)+(z\,\#\,0))$

$=2(x\,\#\,az)(y \,\#\, 0)+(x\,\#\,az)(z \,\#\, 0)$

$=2(x\,\#\,az)(y \,\#\, 0)+(x\,\#\,0)(z \,\#\, 0)$

We surmise that there's a root at $(a:0:1)$ with multiplicity $2$ and and another at $(0:1:0)$ with multiplicity $1$. But this contradicts Silverman's answer, which is that the point at infinity has multiplicity $-2$.

Question. Why does my method for computing roots with multiplicity give the wrong answer at infinity, and can it be repaired?