Published online by Cambridge University Press: 24 September 2004
The Lehmer–Euclid Algorithm is an improvement of the Euclid Algorithm when applied to large integers. The original Lehmer–Euclid Algorithm replaces divisions on multi-precision integers by divisions on single-precision integers. Here we study a slightly different algorithm that replaces computations on $n$-bit integers by computations on $\mu n$-bit integers. This algorithm depends on the truncation degree $\mu\in ]0, 1[$ and is denoted as the ${\mathcal{LE}}_\mu$ algorithm. The original Lehmer–Euclid Algorithm can be viewed as the limit of the ${\mathcal{LE}}_\mu$ algorithms for $\mu \to 0$. We provide here a precise analysis of the ${\mathcal{LE}}_\mu$ algorithm. For this purpose, we are led to study what we call the Interrupted Euclid Algorithm. This algorithm depends on some parameter $\alpha \in [0, 1]$ and is denoted by ${\mathcal E}_{\alpha}$. When running with an input $(a, b)$, it performs the same steps as the usual Euclid Algorithm, but it stops as soon as the current integer is smaller than $a^\alpha$, so that ${\mathcal E}_{0}$ is the classical Euclid Algorithm. We obtain a very precise analysis of the algorithm ${\mathcal E}_{\alpha}$, and describe the behaviour of main parameters (number of iterations, bit complexity) as a function of parameter $\alpha$. Since the Lehmer–Euclid Algorithm ${\mathcal {LE}}_\mu$ when running on $n$-bit integers can be viewed as a sequence of executions of the Interrupted Euclid Algorithm ${\mathcal E}_{1/2}$ on $\mu n $-bit integers, we then come back to the analysis of the ${\mathcal {LE}}_\mu$ algorithm and obtain our results.