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

getHilbertSymbolReal -- computes the Hilbert symbol of two rational numbers over the real numbers

Synopsis

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)_{\mathbb{R}}$ where $(-,-)_{\mathbb{R}}$ is the Hilbert symbol ([S73, Chapter III]) computed as follows:

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

$(a,b)_{\mathbb{R}}$ will equal 1 unless both $a,\,b$ are negative.

Consider the example, that $z^2=-3x^2-2y^2/3$ does not admit a non-zero solution. Thus:

i1 : getHilbertSymbolReal(-3, -2/3) == -1

o1 = true

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 getHilbertSymbolReal:

For the programmer

The object getHilbertSymbolReal is a method function.