Macaulay2 » Documentation
Packages » A1BrouwerDegrees :: getHilbertSymbol
next | previous | forward | backward | up | index | toc

getHilbertSymbol -- computes the Hilbert symbol of two rational numbers at a prime

Description

The Hasse-Witt invariant of a diagonal form $\langle a_1,\ldots,a_n\rangle$ over a field $k$ is defined to be the product $\prod_{i<j} \left( a_i,a_j \right)_p$ where $(-,-)_p$ is the Hilbert symbol ([S73, Chapter III]) computed as follows:

$(a,b)_p = \begin{cases} 1 & \text{if }z^2 = ax^2 + by^2 \text{ has a nonzero solution in } K^3 \\ -1 & \text{otherwise.} \end{cases}$

Consider the following example, where we observe that $z^2 = 2x^2 + y^2$ does admit nonzero solutions mod 7, in particular $(x,y,z) = (1,0,3),$ and then by Hensel's lemma, has a solution over $\mathbb{Q}_7$.

i1 : getHilbertSymbol(2,1,7)

o1 = 1

In contrast, since $z^2 = 7x^2 + 3y^2$ does not have a nonzero solution mod 7, the Hilbert symbol will be $-1.$

i2 : getHilbertSymbol(7,3,7)                                                               

o2 = -1

Over $\mathbb{Q}_2$ the equation $z^2 = 2x^2 + 2y^2$ has a non-trivial solution, whereas the equation $z^2=2x^2+3y^2$ does not. Hence, their Hilbert symbols are 1 and -1, respectively.

i3 : getHilbertSymbol(2,2,2)

o3 = 1
i4 : getHilbertSymbol(2,3,2)                                                               

o4 = -1

Computing Hasse-Witt invariants is a key step in classifying symmetric bilinear forms over the rational numbers, and in particular certifying their (an)isotropy.

Citations:

See also

Ways to use getHilbertSymbol:

  • getHilbertSymbol(QQ,QQ,ZZ)
  • getHilbertSymbol(QQ,ZZ,ZZ)
  • getHilbertSymbol(ZZ,QQ,ZZ)
  • getHilbertSymbol(ZZ,ZZ,ZZ)

For the programmer

The object getHilbertSymbol is a method function.


The source of this document is in A1BrouwerDegrees/Documentation/HilbertSymbolsDoc.m2:44:0.