next | previous | forward | backward | up | index | toc

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

## Synopsis

• Usage:
diagonalForm(k,a)
diagonalForm(k,L)
• Inputs:
• k, a ring, a field
• a, , any element $a\in k$
• L, , of elements $a_{i} \in k$, where $i = 1,\dots, n$
• Outputs:
• , the diagonal form $\langle a_1,\ldots,a_n\rangle \in \text{GW}(k)$

## Description

Given a sequence of elements $a_1,\ldots,a_n \in k$ 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 : diagonalForm(QQ,(3,5,7)) o1 = GrothendieckWittClass{cache => CacheTable{}} matrix => | 3 0 0 | | 0 5 0 | | 0 0 7 | o1 : GrothendieckWittClass

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

 i2 : diagonalForm(GF(29),5/13) o2 = GrothendieckWittClass{cache => CacheTable{}} matrix => | -13 | o2 : GrothendieckWittClass i3 : diagonalForm(RR,2) o3 = GrothendieckWittClass{cache => CacheTable{}} matrix => | 2 | o3 : GrothendieckWittClass

• diagonalClass -- produces a diagonalized form for any Grothendieck-Witt class, with simplified terms on the diagonal
• congruenceDiagonalize -- diagonalizing a symmetric matrix via congruence
• diagonalEntries -- extracts a list of diagonal entries for a GrothendieckWittClass

## Ways to use diagonalForm :

• diagonalForm(InexactFieldFamily,QQ)
• diagonalForm(InexactFieldFamily,RingElement)
• diagonalForm(InexactFieldFamily,Sequence)
• diagonalForm(InexactFieldFamily,ZZ)
• diagonalForm(Ring,QQ)
• diagonalForm(Ring,RingElement)
• diagonalForm(Ring,Sequence)
• diagonalForm(Ring,ZZ)

## For the programmer

The object diagonalForm is .