Przemysław Koprowski
CQF: Magma package for quadratic forms theory
Work in progress: Anything that comes for free comes with no warranty.
Current version (last update August 9, 2024):
CQF Magma package
CQF manual
CQF is released under standard
MIT license
Test suite to benchmark the speed of the command
IsotropicVector. It works only with version 0.5.9 of CQF.
Example:
> _ := 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
What is new?
Version 0.5.9:
- New algorithm for constructing isotropic vectors. At present implemented over number field. Global function field will come next.
Version 0.5:
- CQF can now costruct isotropic vector (see function IsotropicVector).
- More new functions: RandomDQF, Subform, Evaluate.
Version 0.4.1:
Fixed a bug in that in some cases returned false positives for (local) isotropy of a form over a number field.
Version 0.4:
Added a new function SolveSumOfSquares that decomposes any totally positive element into a sum of squares of minimal length.
Version 0.3:
- 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.
Version 0.2.2:
- Corrected bug in AnisotropicDimension of quadratic forms over rational function fields over finite fields.
Version 0.2.1:
- Corrected bug that returned wrong Pythagoras element for some formally real number fields of even degree over QQ.
Version 0.2:
- 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.
Past versions: