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

A1BrouwerDegrees -- for working with A1-Brouwer degree computations

Description

This package is intended computing and manipulating local and global $\mathbb{A}^1$-Brouwer degrees. Global Brouwer degrees are non-degenerate symmetric bilinear forms valued in the Grothendieck-Witt ring of a field $\text{GW}(k)$.

In order to simplify the forms produced, this package produces invariants of symmetric bilinear forms, including their Witt indices, their discriminants, and their Hasse Witt invariants. Quadratic forms can furthermore be decomposed into their isotropic and anisotropic parts. Finally, and perhaps most crucially, we can certify whether two symmetric bilinear forms are isomorphic in the Grothendieck-Witt ring.

Authors

Version

This documentation describes version 1.0 of A1BrouwerDegrees.

Source code

The source code from which this documentation is derived is in the file A1BrouwerDegrees.m2. The auxiliary files accompanying it are in the directory A1BrouwerDegrees/.

Exports

  • Types
    • GrothendieckWittClass -- a new type, intended to capture the isomorphism class of an element of the Grothendieck-Witt ring of a base field
  • Functions and commands
    • anisotropicDimension -- returns the anisotropic dimension of a symmetric bilinear form
    • anisotropicDimensionQp -- returns the anisotropic dimension of a rational symmetric bilinear form over the p-adics
    • anisotropicPart -- returns the anisotropic part of a Grothendieck Witt class
    • baseField -- the base field of a Grothendieck Witt class
    • congruenceDiagonalize -- diagonalizing a symmetric matrix via congruence
    • diagonalClass -- produces a diagonalized form for any Grothendieck-Witt class, with simplified terms on the diagonal
    • diagonalEntries -- extracts a list of diagonal entries for a GrothendieckWittClass
    • diagonalForm -- the Grothendieck-Witt class of a diagonal form
    • globalA1Degree -- computes a global A1-Brouwer degree of a list of n polynomials in n variables over a field k
    • gwAdd -- the direct sum of two Grothendieck-Witt classes
    • gwClass -- the Grothendieck Witt class of a symmetric matrix
    • gwIsomorphic -- determines whether two Grothendieck Witt classes are isomorphic over CC, RR, QQ, or a finite field.
    • gwMultiply -- the tensor product of two Grothendieck-Witt classes
    • HasseWittInvariant -- outputs the Hasse-Witt invariant for a prime p for the quadratic form of the Grothendieck-Witt class
    • HilbertSymbol -- computes the Hilbert symbol of two integers or rational numbers at a prime
    • HilbertSymbolReal -- computes the Hilbert symbol of two rational numbers over the reals
    • hyperbolicForm -- the Grothendieck-Witt class of a hyperbolic form
    • integralDiscriminant -- outputs an integral discriminant for a rational symmetric bilinear form
    • isAnisotropic -- determines whether a Grothendieck-Witt class is anisotropic
    • isIsotropic -- determines whether a Grothendieck-Witt class is isotropic
    • localA1Degree -- computes a local A1-Brouwer degree of a list of n polynomials in n variables over a field k at a prime ideal in the zero locus
    • localAlgebraBasis -- produces a basis for a local finitely generated algebra over a field k
    • padicValuation -- p-adic valuation of a rational number or integer
    • PfisterForm -- the Grothendieck-Witt class of a Pfister form
    • relevantPrimes -- outputs a list of primes at which the Hasse-Witt invariants of a symmetric bilinear form may be non-trivial
    • signature -- outputs the signature of a symmetric bilinear form over the real or rational numbers
    • sumDecomposition -- produces a simplified diagonal representative of a Grothendieck Witt class
    • sumDecompositionString -- produces a simplified diagonal representative of a Grothendieck Witt class
    • WittIndex -- returns the Witt index of a symmetric bilinear form
  • Methods
    • anisotropicDimension(GrothendieckWittClass) -- see anisotropicDimension -- returns the anisotropic dimension of a symmetric bilinear form
    • anisotropicDimension(Matrix) -- see anisotropicDimension -- returns the anisotropic dimension of a symmetric bilinear form
    • anisotropicDimensionQp(GrothendieckWittClass,ZZ) -- see anisotropicDimensionQp -- returns the anisotropic dimension of a rational symmetric bilinear form over the p-adics
    • anisotropicPart(GrothendieckWittClass) -- see anisotropicPart -- returns the anisotropic part of a Grothendieck Witt class
    • anisotropicPart(Matrix) -- see anisotropicPart -- returns the anisotropic part of a Grothendieck Witt class
    • baseField(GrothendieckWittClass) -- see baseField -- the base field of a Grothendieck Witt class
    • congruenceDiagonalize(Matrix) -- see congruenceDiagonalize -- diagonalizing a symmetric matrix via congruence
    • diagonalClass(GrothendieckWittClass) -- see diagonalClass -- produces a diagonalized form for any Grothendieck-Witt class, with simplified terms on the diagonal
    • diagonalEntries(GrothendieckWittClass) -- see diagonalEntries -- extracts a list of diagonal entries for a GrothendieckWittClass
    • diagonalForm(InexactFieldFamily,QQ) -- see diagonalForm -- the Grothendieck-Witt class of a diagonal form
    • diagonalForm(InexactFieldFamily,RingElement) -- see diagonalForm -- the Grothendieck-Witt class of a diagonal form
    • diagonalForm(InexactFieldFamily,Sequence) -- see diagonalForm -- the Grothendieck-Witt class of a diagonal form
    • diagonalForm(InexactFieldFamily,ZZ) -- see diagonalForm -- the Grothendieck-Witt class of a diagonal form
    • diagonalForm(Ring,QQ) -- see diagonalForm -- the Grothendieck-Witt class of a diagonal form
    • diagonalForm(Ring,RingElement) -- see diagonalForm -- the Grothendieck-Witt class of a diagonal form
    • diagonalForm(Ring,Sequence) -- see diagonalForm -- the Grothendieck-Witt class of a diagonal form
    • diagonalForm(Ring,ZZ) -- see diagonalForm -- the Grothendieck-Witt class of a diagonal form
    • globalA1Degree(List) -- see globalA1Degree -- computes a global A1-Brouwer degree of a list of n polynomials in n variables over a field k
    • gwAdd(GrothendieckWittClass,GrothendieckWittClass) -- see gwAdd -- the direct sum of two Grothendieck-Witt classes
    • gwClass(Matrix) -- see gwClass -- the Grothendieck Witt class of a symmetric matrix
    • matrix(GrothendieckWittClass) -- see gwClass -- the Grothendieck Witt class of a symmetric matrix
    • gwIsomorphic(GrothendieckWittClass,GrothendieckWittClass) -- see gwIsomorphic -- determines whether two Grothendieck Witt classes are isomorphic over CC, RR, QQ, or a finite field.
    • gwMultiply(GrothendieckWittClass,GrothendieckWittClass) -- see gwMultiply -- the tensor product of two Grothendieck-Witt classes
    • HasseWittInvariant(GrothendieckWittClass,ZZ) -- see HasseWittInvariant -- outputs the Hasse-Witt invariant for a prime p for the quadratic form of the Grothendieck-Witt class
    • HasseWittInvariant(List,ZZ) -- see HasseWittInvariant -- outputs the Hasse-Witt invariant for a prime p for the quadratic form of the Grothendieck-Witt class
    • HilbertSymbol(QQ,QQ,ZZ) -- see HilbertSymbol -- computes the Hilbert symbol of two integers or rational numbers at a prime
    • HilbertSymbol(QQ,ZZ,ZZ) -- see HilbertSymbol -- computes the Hilbert symbol of two integers or rational numbers at a prime
    • HilbertSymbol(ZZ,QQ,ZZ) -- see HilbertSymbol -- computes the Hilbert symbol of two integers or rational numbers at a prime
    • HilbertSymbol(ZZ,ZZ,ZZ) -- see HilbertSymbol -- computes the Hilbert symbol of two integers or rational numbers at a prime
    • HilbertSymbolReal(QQ,QQ) -- see HilbertSymbolReal -- computes the Hilbert symbol of two rational numbers over the reals
    • HilbertSymbolReal(QQ,ZZ) -- see HilbertSymbolReal -- computes the Hilbert symbol of two rational numbers over the reals
    • HilbertSymbolReal(ZZ,QQ) -- see HilbertSymbolReal -- computes the Hilbert symbol of two rational numbers over the reals
    • HilbertSymbolReal(ZZ,ZZ) -- see HilbertSymbolReal -- computes the Hilbert symbol of two rational numbers over the reals
    • hyperbolicForm(InexactFieldFamily) -- see hyperbolicForm -- the Grothendieck-Witt class of a hyperbolic form
    • hyperbolicForm(InexactFieldFamily,ZZ) -- see hyperbolicForm -- the Grothendieck-Witt class of a hyperbolic form
    • hyperbolicForm(Ring) -- see hyperbolicForm -- the Grothendieck-Witt class of a hyperbolic form
    • hyperbolicForm(Ring,ZZ) -- see hyperbolicForm -- the Grothendieck-Witt class of a hyperbolic form
    • integralDiscriminant(GrothendieckWittClass) -- see integralDiscriminant -- outputs an integral discriminant for a rational symmetric bilinear form
    • isAnisotropic(GrothendieckWittClass) -- see isAnisotropic -- determines whether a Grothendieck-Witt class is anisotropic
    • isAnisotropic(Matrix) -- see isAnisotropic -- determines whether a Grothendieck-Witt class is anisotropic
    • isIsotropic(GrothendieckWittClass) -- see isIsotropic -- determines whether a Grothendieck-Witt class is isotropic
    • isIsotropic(Matrix) -- see isIsotropic -- determines whether a Grothendieck-Witt class is isotropic
    • localA1Degree(List,Ideal) -- see localA1Degree -- computes a local A1-Brouwer degree of a list of n polynomials in n variables over a field k at a prime ideal in the zero locus
    • localAlgebraBasis(List,Ideal) -- see localAlgebraBasis -- produces a basis for a local finitely generated algebra over a field k
    • padicValuation(QQ,ZZ) -- see padicValuation -- p-adic valuation of a rational number or integer
    • padicValuation(ZZ,ZZ) -- see padicValuation -- p-adic valuation of a rational number or integer
    • PfisterForm(InexactFieldFamily,QQ) -- see PfisterForm -- the Grothendieck-Witt class of a Pfister form
    • PfisterForm(InexactFieldFamily,RingElement) -- see PfisterForm -- the Grothendieck-Witt class of a Pfister form
    • PfisterForm(InexactFieldFamily,Sequence) -- see PfisterForm -- the Grothendieck-Witt class of a Pfister form
    • PfisterForm(InexactFieldFamily,ZZ) -- see PfisterForm -- the Grothendieck-Witt class of a Pfister form
    • PfisterForm(Ring,QQ) -- see PfisterForm -- the Grothendieck-Witt class of a Pfister form
    • PfisterForm(Ring,RingElement) -- see PfisterForm -- the Grothendieck-Witt class of a Pfister form
    • PfisterForm(Ring,Sequence) -- see PfisterForm -- the Grothendieck-Witt class of a Pfister form
    • PfisterForm(Ring,ZZ) -- see PfisterForm -- the Grothendieck-Witt class of a Pfister form
    • relevantPrimes(GrothendieckWittClass) -- see relevantPrimes -- outputs a list of primes at which the Hasse-Witt invariants of a symmetric bilinear form may be non-trivial
    • signature(GrothendieckWittClass) -- see signature -- outputs the signature of a symmetric bilinear form over the real or rational numbers
    • sumDecomposition(GrothendieckWittClass) -- see sumDecomposition -- produces a simplified diagonal representative of a Grothendieck Witt class
    • sumDecompositionString(GrothendieckWittClass) -- see sumDecompositionString -- produces a simplified diagonal representative of a Grothendieck Witt class
    • WittIndex(GrothendieckWittClass) -- see WittIndex -- returns the Witt index of a symmetric bilinear form

For the programmer

The object A1BrouwerDegrees is a package.