# Reduced Forms

Note that in versions up to Magma V2.20, in cases where the narrow class group differs from the class group, these two functions behaved differently. In those cases, the `ReducedForms` and `ReducedOrbits` only covered half of the equivalence classes.

## `ReducedForms(Q): QuadBin -> [ QuadBinElt ]`

## `ReducedForms(D): RngIntElt -> [ QuadBinElt ]`

For Q = QuadraticForms(D), this returns a sequence containing precisely one reduced form in each equivalence class of primitive forms (under the usual equivalence relation, given by `IsEquivalent(f1, f2)` for forms `f1, f2`).

When $D < 0,$ these are simply all the primitive reduced forms in `Q`.

## `ReducedOrbits(Q): QuadBin -> [ {@ QuadBinElt @} ]`

For Q = QuadraticForms(D) where $D$ is positive, this returns the `ReductionOrbit` of each of the `ReducedForms(Q)`, as a sequence of indexed sets.
