FLINT3.7.0-dev

fmpz_factor_ecm_select_curve

Synopsis#include <flint/fmpz_factor.h>
int fmpz_factor_ecm_select_curve(nn_ptr f, nn_ptr sig, nn_ptr n, ecm_t ecm_inf)source

Sets up a curve and a starting point by Suyama's parametrisation from the parameter \sigma = sig: with u = \sigma^2 - 5 and v = 4\sigma, the point is (u^3 : v^3) and a_{24} = (v - u)^3 (3u + v) / (16 u^3 v); the starting point is stored in ecm_inf->x, ecm_inf->z and a_{24} in ecm_inf->a24. Returns 0 on success; if the inversion needed for a_{24} reveals a factor of n, writes it to f and returns its number of limbs; returns -1 if the curve is degenerate.

Cite this page

The FLINT team, “fmpz_factor_ecm_select_curve (fmpz_factor.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/fmpz_factor/fmpz_factor_ecm_select_curve.html (generated 2026-10-20).