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

getDiagonalClass -- produces a diagonalized form for any (unstable) Grothendieck-Witt class, with simplified terms on the diagonal

Description

Given a symmetric bilinear form, this method uses the diagonalizeViaCongruence command in order to produce a diagonal symmetric bilinear form isomorphic to $\beta$, with reduced square classes appearing as the diagonal entries when $\beta$ is defined over $\mathbb{C}$, $\mathbb{R}$, $\mathbb{Q}$, or finite field of characteristic not 2. In the case of an UnstableGrothendieckWittClass the function applies diagonalizeViaCongruence to the stable part.

i1 : M = matrix(QQ, {{9,1,7,4},{1,10,3,2},{7,3,6,7},{4,2,7,5}});

              4       4
o1 : Matrix QQ  <-- QQ
i2 : beta = makeGWuClass M;
i3 : getDiagonalClass beta

o3 = (| 1 0  0   0   |, -1100)
      | 0 89 0   0   |
      | 0 0  445 0   |
      | 0 0  0   -55 |

o3 : UnstableGrothendieckWittClass
i4 : getDiagonalClass makeGWClass M

o4 = | 1 0  0   0   |
     | 0 89 0   0   |
     | 0 0  445 0   |
     | 0 0  0   -55 |

o4 : GrothendieckWittClass

Note that the GrothendieckWittClass and UnstableGrothendieckWittClass type caches diagonal versions of a form once they have been computed. We can recover this quickly in the following way.

i5 : beta.cache.getDiagonalClass

o5 = (| 1 0  0   0   |, -1100)
      | 0 89 0   0   |
      | 0 0  445 0   |
      | 0 0  0   -55 |

o5 : UnstableGrothendieckWittClass

See also

Ways to use getDiagonalClass:

  • getDiagonalClass(GrothendieckWittClass)
  • getDiagonalClass(UnstableGrothendieckWittClass)

For the programmer

The object getDiagonalClass is a method function.


The source of this document is in A1BrouwerDegrees/Documentation/SimplifiedRepresentativesDoc.m2:36:0.