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

isIsomorphicForm -- determines whether two (unstable) Grothendieck-Witt classes over $\mathbb{C},\mathbb{R},\mathbb{Q}$ or a finite field of characteristic not 2 are isomorphic.

Description

Determining if Grothendieck-Witt classes (resp. unstable Grothendieck-Witt classes) $\alpha$ and $\beta$ over a field $k$ are isomorphic is to verify when forms are isomorphic in the Grothendieck-Witt ring (resp. in the unstable Grothendieck-Witt group). In the case of the unstable Grothendieck-Witt group, the structure of the group $\text{GW}^{u}(k)$ as a fibered product $\text{GW}(k)\times_{k^{\times}/(k^{\times})^{2}}k^{\times}$ implies that it suffices to verify that their $\text{GW}(k)$-factors are isomorphic and their $k^{\times}$-factors are equal.

Sylvester's Law of Inertia proves that any symmetric bilinear form can be diagonalized into a block sum of rank one symmetric bilinear forms. Since the rank one forms $\langle a\rangle:k\times k\to k, (x,y)\mapsto axy$ and $\langle ab^{2}\rangle:k\times k\to k, (x,y)\mapsto ab^{2}xy$ differ by a change of basis in the ground field, it follows that they are isomorphic (provided that $a,b\neq0$). Thus after diagonalizing a form, it suffices to consider the square class of each entry appearing along the diagonal.

i1 : alpha = makeGWClass matrix(CC, {{2,3,1},{3,-1,0},{1,0,0}})

o1 = | 2 3  1 |
     | 3 -1 0 |
     | 1 0  0 |

o1 : GrothendieckWittClass
i2 : beta = makeGWClass matrix(CC, {{2,4,-1},{4,5,7},{-1,7,9}})

o2 = | 2  4 -1 |
     | 4  5 7  |
     | -1 7 9  |

o2 : GrothendieckWittClass
i3 : isIsomorphicForm(alpha,beta)

o3 = true

The two forms are isomorphic since they can be diagonalized, after which they can be written as the identity matrix after a change of basis, since every nonzero element is a square over $\mathbb{C}$ (the same is true over any quadratically closed field). Thus we have that the rank of a form completely determines it over the complex numbers. That is, it provides an isomorphism $\text{GW}(\mathbb{C})\to\mathbb{Z}$.

Over the real numbers, the story is a bit different. Since there are two square classes of nonzero real numbers, $\mathbb{R}^\times/\left(\mathbb{R}^\times\right)^2 \cong \left\{\pm 1\right\}$, we have a further invariant which classifies symmetric bilinear forms, called the signature. This is computed as first diagonalizing, then taking the number of positive entries appearing on the diagonal minus the number of negative entries appearing on the diagonal.

i4 : gamma = makeGWClass matrix(RR, {{1,0,0},{0,-1,0},{0,0,1}});
i5 : getSignature gamma

o5 = 1

Rank and signature completely classify symmetric bilinear forms over the real numbers.

i6 : delta = makeGWClass matrix(RR, {{0,0,1},{0,1,0},{1,0,0}});
i7 : isIsomorphicForm(gamma, delta)

o7 = true

Over the rational numbers, further invariants must be considered. We first check if the rank and signature (when considered as a real form) all agree. We must then check that their discriminants agree, which is the determinant of any Gram matrix representing the form. This is well defined once we consider its target as landing in square classes of the field, in this case $\mathbb{Q}^{\times}/(\mathbb{Q}^{\times})^{2}$.

If the abovementioned invariants agree, we must further check whether the Hasse-Witt invariants agree at all primes. This is an instance of the Hasse-Minkowski principle which states that quadratic forms are isomorphic over a global field if and only if they are isomorphic over all of its completions (see [S73, IV Theorem 7] or [L05, VI.3.3]).

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( \phi(a_i,a_j) \right)$ where $\phi \colon K \times K \to \left\{\pm 1\right\}$ is any symbol (see e.g. [MH73, III.5.4] for a definition). It is a classical result of Hilbert that over a local field of characteristic not equal to two, there is a unique symbol, $(-,-)_{p}$ called the Hilbert symbol ([S73, Chapter III]) computed as follows: $$(a,b)_p = \begin{cases} 1 & 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)$.

i8 : getHilbertSymbol(2,1,7)

o8 = 1

The Hasse-Witt invariant will be 1 for almost all primes. In particular, after diagonalizing a form $\beta \cong \left\langle a_1,\ldots,a_n\right\rangle$ then the Hasse invariant at a prime $p$ will automatically be 1 if $p\nmid a_{i}$ for all $i$. Thus we only have finitely many Hasse invariants to compare for any pair of symmetric bilinear forms.

i9 : alphaQ = makeGWClass matrix(QQ, {{1,4,7},{4,3,2},{7,2,-1}})

o9 = | 1 4 7  |
     | 4 3 2  |
     | 7 2 -1 |

o9 : GrothendieckWittClass
i10 : betaQ = makeGWClass matrix(QQ, {{0,0,1},{0,2,7},{1,7,3}})

o10 = | 0 0 1 |
      | 0 2 7 |
      | 1 7 3 |

o10 : GrothendieckWittClass
i11 : isIsomorphicForm(alphaQ,betaQ)

o11 = false

Over finite fields, the signature no longer makes sense as the field fails to be totally ordered. In this case, the rank and discriminant completely determine the form up to isomorphism.

i12 : alphaF = makeGWClass matrix(GF(7), {{1,2,2},{2,0,1},{2,1,5}})

o12 = | 1 2 2  |
      | 2 0 1  |
      | 2 1 -2 |

o12 : GrothendieckWittClass
i13 : betaF = makeGWClass matrix(GF(7), {{2,5,1},{5,6,1},{1,1,3}})

o13 = | 2  -2 1 |
      | -2 -1 1 |
      | 1  1  3 |

o13 : GrothendieckWittClass
i14 : gammaF = makeGWClass matrix(GF(7), {{0,2,4},{2,3,3},{4,3,1}})

o14 = | 0  2 -3 |
      | 2  3 3  |
      | -3 3 1  |

o14 : GrothendieckWittClass
i15 : det getMatrix alphaF

o15 = 1

o15 : GF 7
i16 : det getMatrix betaF

o16 = -2

o16 : GF 7
i17 : det getMatrix gammaF

o17 = 3

o17 : GF 7

As previously indicated, determining if unstable Grothendieck-Witt classes $\alpha$ and $\beta$ over a field $k$ are isomorphic entails checking whether their underlying $\text{GW}(k)$-factors are isomorphic in the Grothendieck-Witt ring and whether their $k^{\times}$-factors agree.

i18 : alpha = makeGWuClass(matrix(QQ, {{2,3,1},{3,-1,0},{1,0,0}}), 1)

o18 = (| 2 3  1 |, 1)
       | 3 -1 0 |
       | 1 0  0 |

o18 : UnstableGrothendieckWittClass
i19 : beta = makeGWuClass(matrix(QQ, {{2,3,1},{3,-1,0},{1,0,0}}), 4)

o19 = (| 2 3  1 |, 4)
       | 3 -1 0 |
       | 1 0  0 |

o19 : UnstableGrothendieckWittClass
i20 : isIsomorphicForm(alpha,beta)

o20 = false
i21 : alpha = makeGWuClass(matrix(CC, {{2,3,1},{3,-1,0},{1,0,0}}), 1)

o21 = (| 2 3  1 |, 1)
       | 3 -1 0 |
       | 1 0  0 |

o21 : UnstableGrothendieckWittClass
i22 : beta = makeGWuClass(matrix(CC, {{2,4,-1},{4,5,7},{-1,7,9}}), 1)

o22 = (| 2  4 -1 |, 1)
       | 4  5 7  |
       | -1 7 9  |

o22 : UnstableGrothendieckWittClass
i23 : isIsomorphicForm(alpha,beta)

o23 = true

References

[S73] J. P. Serre, A course in arithmetic, Springer-Verlag, 1973.

[L05] T. Y. Lam, Introduction to quadratic forms over fields, American Mathematical Society, 2005.

[MH73] J. Milnor and D. Husemoller, Symmetric bilinear forms, Springer-Verlag, 1973.

Caveat

Over $\mathbb{C}$ and $\mathbb{R}$, the $k^{\times}$-factors of unstable Grothendieck-Witt classes are considered equal if the absolute value of their difference is less than the linearTolerance, which is a positive number specifying the tolerance to which the $k^{\times}$-factors are considered equal. The default tolerance is $10^{-6}$. Over $\mathbb{Q}$ and finite fields, the $k^{\times}$-factors of unstable Grothendieck-Witt classes must agree exactly.

See also

Ways to use isIsomorphicForm:

  • isIsomorphicForm(GrothendieckWittClass,GrothendieckWittClass)
  • isIsomorphicForm(Matrix,Matrix)
  • isIsomorphicForm(UnstableGrothendieckWittClass,UnstableGrothendieckWittClass)

For the programmer

The object isIsomorphicForm is a method function with options.


The source of this document is in A1BrouwerDegrees/Documentation/IsomorphismOfFormsDoc.m2:104:0.