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

# makeDiagonalForm -- the Grothendieck-Witt class of a diagonal form

- Usage:
    `makeDiagonalForm(k, a)`
    `makeDiagonalForm(k, L)`
- Inputs:
  - k, a ring, a field or finite étale algebra over a field
  - a, a ring element, any element in the field or finite étale algebra over a field
  - L, a sequence, of elements in the field or finite étale algebra $a_{i}$ where $i = 1,\dots, n$
- Outputs:
  - a Grothendieck-Witt Class, the diagonal form $\langle a_{1},\ldots,a_{n}\rangle$ in the Grothendieck-Witt ring of the field or finite étale algebra

## Description

Given a sequence of elements $a_{1},\ldots,a_{n}$, we can form the diagonal form $\langle a_{1},\ldots,a_{n}\rangle$ defined to be the block sum of each of the rank one forms $\langle a_{i} \rangle \colon k \times k \to k,$ $(x,y) \mapsto a_{i} xy$.

    i1 : makeDiagonalForm(QQ, (3,5,7))

    o1 = | 3 0 0 |
         | 0 5 0 |
         | 0 0 7 |

    o1 : GrothendieckWittClass

Inputting a ring element, an integer, or a rational number instead of a sequence will produce a rank one form instead. For instance:

    i2 : makeDiagonalForm(GF(29), 5/13)

    o2 = | -13 |

    o2 : GrothendieckWittClass

    i3 : makeDiagonalForm(RR, 2)

    o3 = | 2 |

    o3 : GrothendieckWittClass

## See also

- getDiagonalClass -- produces a diagonalized form for any (unstable) Grothendieck-Witt class, with simplified terms on the diagonal
- diagonalizeViaCongruence -- diagonalizes a symmetric matrix via congruence
- getDiagonalEntries -- extracts a list of diagonal entries for a GrothendieckWittClass

## Ways to use makeDiagonalForm:

- `makeDiagonalForm(InexactFieldFamily,Number)`
- `makeDiagonalForm(InexactFieldFamily,RingElement)`
- `makeDiagonalForm(InexactFieldFamily,Sequence)`
- `makeDiagonalForm(Ring,Number)`
- `makeDiagonalForm(Ring,RingElement)`
- `makeDiagonalForm(Ring,Sequence)`

## For the programmer

The object makeDiagonalForm is a method function.

The source of this document is in /build/macaulay2-88fgJW/macaulay2-1.25.11+ds/M2/Macaulay2/packages/A1BrouwerDegrees/Documentation/BuildingFormsDoc.m2:40:0.