Skip to content

Saturation

Saturation studies the index of the subgroup generated by known Mordell–Weil points.

It does not normally create a new rank direction.

If a rank-\(r\) subgroup is not saturated, saturation can replace it by a larger subgroup of the same rank with smaller/more primitive generators.

Why saturation matters

An unsaturated basis can make later work harder:

  • independence certificates;
  • canonical-height lattices;
  • generator comparisons;
  • descent/known-subgroup routines.

Saturation is therefore often a conditioning step.

Range mode

sage -python -m rank42.cli saturate \
  --db rank42.db \
  --curve-id 123 \
  --min-prime 2 \
  --max-prime 100 \
  --timeout 900

This runs one bounded saturation request over the configured prime range.

Ladder mode

sage -python -m rank42.cli saturate \
  --db rank42.db \
  --curve-id 123 \
  --mode ladder \
  --min-prime 2 \
  --max-prime 100 \
  --timeout 120

In ladder mode, the timeout is per-prime step.

This can be easier to diagnose because progress/failure is associated with a specific prime.

Preconditions

Saturation should operate on the rigorous witness basis, not an arbitrary collection of unclassified point rows.

If the basis is incomplete, fix independence/evidence first.

Interpreting the index

A nontrivial saturation index means the original subgroup was not primitive over the searched range.

It does not mean rank increased.

If saturation returns replacement points, Rank Hunter can persist the improved basis/evidence for later reuse.

Timeout

A timeout means saturation over the requested range was not completed.

Do not record “saturated” for the full range unless the engine completed that claim.

Relation to independence

Saturation can help resolve hard independence problems by replacing a bad basis.

It is not a substitute for the final exact independence certificate.