CQF Magma package

CQF manual

CQF is released under standard MIT license

> _:= PolynomialRing(Rationals()); > K := NumberField(x^4 - 5*x^2 + 25); > time C := SolveSumOfSquares(theta + 1); C; Time: 0.290 [ 1/2*(theta + 2), -1/4*theta, 1/4*(-theta^2 + 5) ] > &+ [ c^2 : c in C ]; theta + 1

Added a new function `SolveSumOfSquares` that decomposes any totally positive element into a sum of squares of minimal length.

- Completely new function
`AnisotropicPart`that computes an anisotropic part of a given quadratic form. - More new functions:
`Find`,`OrderingSeparation`,`Coefficients`,`RundomShuffle`,`AreSimilar`,`RealRootBound`,`RealRootIntervals`. - The internal folder structure and file naming convention has been changed.
- Some bugs have been removed.

- Corrected bug in
`AnisotropicDimension`of quadratic forms over rational function fields over finite fields.

- Corrected bug that returned wrong Pythagoras element for some formally real number fields of even degree over QQ.

- One can create the Witt ring as a Magma's object and perform basic operations on elements of Witt rings.
- As a consequence of the previous point, one can test Witt equivalence for any combination of fields supported by CQF. For example, CQF will recognize that the field of complex numbers is Witt equivalent to the finite field of two elements.
- Relevant primes are now cached for every diagonal quadratic form over a global field. This speeds up repeated computations on the same form.