A note on the computation of the fraction of smallest denominator in between two irreducible fractions

Similar documents
Exact Comparison of Quadratic Irrationals

On the longest path in a recursively partitionable graph

b-chromatic number of cacti

A new simple recursive algorithm for finding prime numbers using Rosser s theorem

A Simple Proof of P versus NP

Completeness of the Tree System for Propositional Classical Logic

Smart Bolometer: Toward Monolithic Bolometer with Smart Functions

Methylation-associated PHOX2B gene silencing is a rare event in human neuroblastoma.

Axiom of infinity and construction of N

Soundness of the System of Semantic Trees for Classical Logic based on Fitting and Smullyan

Analysis of Boyer and Moore s MJRTY algorithm

On Symmetric Norm Inequalities And Hermitian Block-Matrices

A Context free language associated with interval maps

On Newton-Raphson iteration for multiplicative inverses modulo prime powers

A non-commutative algorithm for multiplying (7 7) matrices using 250 multiplications

Easter bracelets for years

On infinite permutations

Case report on the article Water nanoelectrolysis: A simple model, Journal of Applied Physics (2017) 122,

On one class of permutation polynomials over finite fields of characteristic two *

Hook lengths and shifted parts of partitions

On path partitions of the divisor graph

From Unstructured 3D Point Clouds to Structured Knowledge - A Semantics Approach

Dispersion relation results for VCS at JLab

The Windy Postman Problem on Series-Parallel Graphs

Cutwidth and degeneracy of graphs

Comments on the method of harmonic balance

Can we reduce health inequalities? An analysis of the English strategy ( )

Some tight polynomial-exponential lower bounds for an exponential function

Numerical Exploration of the Compacted Associated Stirling Numbers

Exogenous input estimation in Electronic Power Steering (EPS) systems

There are infinitely many twin primes 30n+11 and 30n+13, 30n+17 and 30n+19, 30n+29 and 30n+31

On size, radius and minimum degree

Sparse multivariate factorization by mean of a few bivariate factorizations

The Accelerated Euclidean Algorithm

Full-order observers for linear systems with unknown inputs

A remark on a theorem of A. E. Ingham.

A new approach of the concept of prime number

A non-commutative algorithm for multiplying (7 7) matrices using 250 multiplications

A note on the acyclic 3-choosability of some planar graphs

Solving the neutron slowing down equation

A Slice Based 3-D Schur-Cohn Stability Criterion

New estimates for the div-curl-grad operators and elliptic problems with L1-data in the half-space

The Mahler measure of trinomials of height 1

Vibro-acoustic simulation of a car window

On Symmetric Norm Inequalities And Hermitian Block-Matrices

Chebyshev polynomials, quadratic surds and a variation of Pascal s triangle

Thomas Lugand. To cite this version: HAL Id: tel

The core of voting games: a partition approach

Passerelle entre les arts : la sculpture sonore

Stickelberger s congruences for absolute norms of relative discriminants

On the Griesmer bound for nonlinear codes

Evolution of the cooperation and consequences of a decrease in plant diversity on the root symbiont diversity

Multiple sensor fault detection in heat exchanger system

Some diophantine problems concerning equal sums of integers and their cubes

approximation results for the Traveling Salesman and related Problems

A proximal approach to the inversion of ill-conditioned matrices

Unfolding the Skorohod reflection of a semimartingale

Avalanche Polynomials of some Families of Graphs

A Study of the Regular Pentagon with a Classic Geometric Approach

Tropical Graph Signal Processing

BERGE VAISMAN AND NASH EQUILIBRIA: TRANSFORMATION OF GAMES

Towards an active anechoic room

L institution sportive : rêve et illusion

Differential approximation results for the Steiner tree problem

New Basis Points of Geodetic Stations for Landslide Monitoring

A simple kinetic equation of swarm formation: blow up and global existence

Some explanations about the IWLS algorithm to fit generalized linear models

Confluence Algebras and Acyclicity of the Koszul Complex

The Riemann Hypothesis Proof And The Quadrivium Theory

On Poincare-Wirtinger inequalities in spaces of functions of bounded variation

Linear Quadratic Zero-Sum Two-Person Differential Games

DYNAMICAL PROPERTIES OF MONOTONE DENDRITE MAPS

Unbiased minimum variance estimation for systems with unknown exogenous inputs

The FLRW cosmological model revisited: relation of the local time with th e local curvature and consequences on the Heisenberg uncertainty principle

Some Generalized Euclidean and 2-stage Euclidean number fields that are not norm-euclidean

Determination of absorption characteristic of materials on basis of sound intensity measurement

Norm Inequalities of Positive Semi-Definite Matrices

Solving a quartic equation and certain equations with degree n

Self-dual skew codes and factorization of skew polynomials

On sl3 KZ equations and W3 null-vector equations

Computer Visualization of the Riemann Zeta Function

Efficient Subquadratic Space Complexity Binary Polynomial Multipliers Based On Block Recombination

On the link between finite differences and derivatives of polynomials

Widely Linear Estimation with Complex Data

Fast Computation of Moore-Penrose Inverse Matrices

Theoretical calculation of the power of wind turbine or tidal turbine

Solution to Sylvester equation associated to linear descriptor systems

A non-linear simulator written in C for orbital spacecraft rendezvous applications.

Influence of a Rough Thin Layer on the Potential

Fixed point theorems for Boolean networks expressed in terms of forbidden subnetworks

On a theorem of Erdos and Szemeredi

On a series of Ramanujan

All Associated Stirling Numbers are Arithmetical Triangles

FORMAL TREATMENT OF RADIATION FIELD FLUCTUATIONS IN VACUUM

Electromagnetic characterization of magnetic steel alloys with respect to the temperature

Particle-in-cell simulations of high energy electron production by intense laser pulses in underdense plasmas

Solving an integrated Job-Shop problem with human resource constraints

IMPROVEMENTS OF THE VARIABLE THERMAL RESISTANCE

Comparison of Harmonic, Geometric and Arithmetic means for change detection in SAR time series

Question order experimental constraints on quantum-like models of judgement

Transcription:

A note on the computation of the fraction of smallest denominator in between two irreducible fractions Isabelle Sivignon To cite this version: Isabelle Sivignon. A note on the computation of the fraction of smallest denominator in between two irreducible fractions. Discrete Applied Mathematics, Elsevier, 2016, <10.1016/j.dam.2015.08.029>. <hal-01228572> HAL Id: hal-01228572 https://hal.archives-ouvertes.fr/hal-01228572 Submitted on 13 Nov 2015 HAL is a multi-disciplinary open access archive for the deposit dissemination of scientific research documents, whether they are published or not. The documents may come from teaching research institutions in France or abroad, or from public or private research centers. L archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiues de niveau recherche, publiés ou non, émanant des établissements d enseignement et de recherche français ou étrangers, des laboratoires publics ou privés. Distributed under a Creative Commons Attribution 4.0 International License

A note on the computation of the fraction of smallest denominator in between two irreducible fractions Isabelle Sivignon Univ. Grenoble Alpes, GIPSA-Lab, F-38000 Grenoble, France CNRS, GIPSA-Lab, F-38000 Grenoble, France Abstract Given two irreducible fractions f g, with f < g, we characterize the fraction h such that f < h < g the denominator of h is as small as possible. An output-sensitive algorithm of time complexity O(d), where d is the depth of h is derived from this characterization. Keywords: simplest fraction, continued fractions, algorithm 1. Introduction Given two irreducible fractions defining an interval, we investigate the problem of finding the fraction of smallest denominator in this interval. Keeping integers as small as possible can be crucial for exact arithmetic computations. Indeed, even if exact arithmetic libraries [1] provide efficient tools to hle exact computations on arbitrarily large integers, dealing with big integers remains computationally expensive. Thus, when a parameter value has to be chosen in a given interval, it may be interesting to choose the value involving integers as small as possible to enable fast computations. This problem also has a nice geometric interpretation arises for instance in the computation of the integer hull of a polygon [2]. In this note, we consider two irreducible proper fractions f g such that 0 f < g 1. We give a characterization of the irreducible proper fraction h such that f < h < g the denominator of h is as small as possible. Finally, we provide an output-sensitive algorithm to compute h from the continued fraction decompositions of f g. 2. Problem statement theorem A simple continued fraction is an expression of the form a 0 + a 1 + 1 a 2 + 1 1 a 3 + The numbers a i are called partial uotients. In the following, we restrict ourselves to the case where all a i are positive integers. Any rational number f can be expressed as a simple continued fraction with a finite number of partial uotients. We denote f = p = [a 0; a 1, a 2... a n ], p, N. The m-th principal convergent of f is eual to f m = pm m = [a 0 ; a 1, a 2... a m ]. The seuence of fractions f 2m, m 0... n 2, is increasing while the seuence of fractions f 2m+1, m 0... n 2 is decreasing. Moreover, for any a i > 1, the intermediate Email address: isabelle.sivignon@gipsa-lab.grenoble-inp.fr (Isabelle Sivignon) Preprint submitted to Discrete Applied Mathematics September 4, 2015

convergents are defined as f i,k = p ik ik = [a 0 ; a 1... a i 1, k] with 1 k < a i. When k = a i, we have f i,ai = f i. In the following, convergent sts for either a principal or an intermediate convergent. For a given fraction f, we define two ordered sets of convergents as follows (see also [3, Chap. 32, Parag. 15]): Γ even (f) = {f 2m,k, k 1... a 2m, m 0... n 2 }, Γ odd(f) = {f 2m+1,k, k 1... a 2m+1, m 0... n 1 2 }. If a 2m > 1, we have f 2m,k 1 < f 2m,k for any m 0... n 2 any k 2... a 2m, if n 2, f 2m,a2m < f 2m+2,1 for any m 0... n 2 1. Similarly, if a 2m+1 > 1 we have f 2m+1,k 1 > f 2m+1,k for any m 0... n 1 2 any k 2... a 2m, if n 3, f 2m+1,a2m > f 2m+3,1 for any m 0... n 1 2 1. For the sake of clarity, we rename the elements of Γ even (f) Γ odd (f) as follows: Γ even (f) = {γ 0 = [a 0 ], γ 2... γ 2i... } Γ odd (f) = {... γ 2i+1... γ 3, γ 1 = [a 0 ; a 1 ]}. Definition 1. A fraction f is said to be less complex (resp. more complex) than a fraction g if only if the denominator of f is strictly lower (resp. strictly greater) than the denominator of g. Before stating our main theorem, let us recall some classical definitions. The Farey seuence of order n is the ascending seuence of irreducible fractions between 0 1 whose denominator do not exceed n [4]. The mediant fraction of two given fractions p p is defined as p+p +. Given three successive terms p, p p of a Farey seuence, p is the mediant of p p we have p p = 1 (similarly, p p = 1). Theorem 1. Let f g be two irreducible fractions such that 0 f < g 1. Let H = { p f < p < g}, h min = arg min{}. Then, p H (i) the fraction h min is well (uniuely) defined; (ii) if f g are successive terms of a Farey seuence, h min is eual to the mediant of f g; (iii) otherwise, if g is a convergent of f, g = γ i Γ odd (f), then h min = γ i+2 ; (iv) otherwise, if f is a convergent of g, f = γ i Γ even (g), then h min = γ i+2 ; (v) otherwise, h min is eual to the uniue fraction in H that is a convergent of both f g. The proof uses the following lemmas. Lemma 1. ([3, Chap. 32, Parag. 15]) For any fraction f, it is impossible between any consecutive pair of either Γ even (f) or Γ odd (f) to insert a fraction which shall be less complex than the more complex of the two. Lemma 2. Let p p be two irreducible fractions with 0 < p < p < 1, 1. There exists a fraction a b such that b < p < a b < p. Proof. Suppose that there is no fraction of denominator strictly lower than between p p. Then p p are two successive terms of the Farey seuence of order. Therefore, p p = 1, rewriting p as p + k with k N, k 1, we get k = 1, which leads to a contradiction. Lemma 3. For any fraction f, for all i, j N, if γ i γ j are two elements of Γ even (f) or Γ odd (f), then γ i is more complex than γ j if only if i > j. Proof. The proof is straightforward from the definition of principal intermediate convergents. Proof. (of Theorem 1) (i) Suppose that there exist two fractions h = a b h = a b such that b = min p H {} h, h H. From the Theorem hypothesis, 0 < h < 1, thus b > 1. Then Lemma 2 directly leads to a contradiction. Moreover, a similar argument shows that the denominator of h min is different from both the denominators of f g. 2

(ii) In this case, as stated in [3, Chap. 32, Parag. 12] for instance, any fraction lying between f g is more complex than f g. Conseuently, h is the fraction such that f, h g are successive terms of a Farey seuence of order strictly greater than max{f, g }, by definition, h is the mediant of f g. (iii) Let h H, h γ i+2. We show that h is more complex than γ i+2. First, if γ i+2 < h < g, then Lemma 1 enables to conclude. If there exists j such that h = γ j, then j > i + 2 since h H, we conclude using Lemma 3. Finally, if there exists j such that γ j+2 < h < γ j, j > i + 2 then from Lemma 3, γ j is more complex than γ i+2 from Lemma 1, h is more complex than γ j. So any fraction of H is more complex than γ i+2. Moreover, since f g are not successive terms of a Farey seuence, γ i+2 f, which proves that h min = γ i+2. (iv) The proof is similar to item (iii). (v) Since f g are not convergents of one another not successive terms of a Farey seuence, let γ i γ i+2 be the two convergents of f such that γ i+2 < g < γ i. Similarly, let γ j γ j+2 be the two convergents of g such that γ j < f < γ j+2. Then, h min is eual to γ i+2 or γ j+2. Indeed, there is no fraction less complex than γ i+2 between f γ i+2 (by definition Lemma 1), if there was such a fraction between γ i+2 g, then there would be a fraction less complex than γ i+2 between γ i+2 γ i, which is not possible from Lemma 1. A similar reasoning can be done with γ j+2. All in all, this implies that either γ i+2 = γ j+2 or γ i+2 γ j+2 they have the same denominator. Since this latter case is not possible (see (i)), h min = γ i+2 = γ j+2 which is the uniue fraction in H that is a convergent for both f anf g. The different cases of Theorem 1 have a nice interpretation using the Stern-Brocot tree [5, 6]. Cases (iii) (iv) correspond to the case where f is an ancestor of g (or conversely) when f g are not successive terms of a Farey seuence. Case (v) is the case where f g have a uniue common ancestor in the tree, which is the fraction of smallest denominator between them. 3. Algorithm complexity Algorithm 1 is an efficient algorithmic translation of Theorem 1 1. It is based on the representation of f, g h min as continued fractions. Let f = [a 0 ; a 1, a 2... a n ] g = [b 0 ; b 1, b 2... b m ], with a n > 1 b m > 1. We note that, when f g are not successive terms of a Farey seuence, h min is a convergent of f, g or both. In any case, this convergent can be defined by the knowledge of the common partial uotients of f g. In the algorithm, the partial uotients of f g are computed on the fly using the Euclidean algorithm. We denote by r i (f) the difference between f its i-th principal convergent: r i (f) = f f i. Theorem 2. Given two proper irreducible fractions f g such that 0 f < g 1, Algorithm 1 computes the fraction h of smallest denominator such that f < h < g. Proof. On line 1, the algorithm tests whether f g are successive terms of a Farey seuence. If so, following Theorem 1, h is set to the mediant of f g. Otherwise, the partial uotients of f g are pairwise compared in the while loop of lines 7 9. The algorithm exits the loop when either the i-th partial uotients of f g differ or the i-th partial uotient is the last one for f or g. Indeed, the partial uotient a i (resp. b i ) is the last partial uotient of f (resp. g) if only if r i (f) = 0 (resp. r i (g) = 0). The tests between line 10 line 33 cover all the possible exit cases. We review these cases here prove case by case that the fraction h returned is the correct one. 1 A python implementation of this algorithm is available on www.gipsa-lab.fr/~isabelle.sivignon/code/ simplestfraction.py 3

The cases where a i = b i r i (f) or r i (g) is eual to zero are covered by lines 10 14. Note that we cannot have r i (f) = r i (g) = 0 otherwise f would be eual to g. If r i (f) = 0, then we have f = [a 0 ; a 1... a i ] g = [a 0 ; a 1... a i, b i+1,... b m ] with m > i + 1 since f g are not consecutive terms of a Farey seuence. Thus, by definition f is a principal convergent of g, since f < g by hypothesis, f is an even convergent of g. From Theorem 1 (iv), h is the next even convergent of g. We have h = [a 0 ; a 1... a i, b i+1, 1] = [a 0 ; a 1... a i, b i+1 + 1]. The case where r i (g) = 0 is symmetrical the proof is similar. If a i b i neither r i (f) nor r i (g) are eual to zero (lines 16 17), then we have f = [a 0 ; a 1... a i 1, a i... a n ] with n > i, a n > 1, g = [a 0 ; a 1... a i 1, b i... b m ] with b i a i, m > i b m > 1. f is not a convergent of g, nor conversely, this case corresponds to case (v) of Theorem 1. The fraction h = [a 0 ; a 1... a i 1, min(a i, b i ) + 1] is a convergent of both f g since n, m > i. If a i b i r i (f) = r i (g) = 0 (lines 19 20), then we have f = [a 0 ; a 1,... a i 1, a i ] g = [a 0 ; a 1,... a i 1, b i ] with b i a i. If b i < a i, g is an odd convergent of f, f is an even convergent of g otherwise. In the first case, following Theorem 1 (iii), h is the next odd convergent of f, h = [a 0 ; a 1,... a i 1, b i + 1]. We have h f (i.e. b i + 1 a i ) since otherwise f g would be successive convergents of f, this case has been excluded by the test on line 1. The case a i < b i is similar proved using Theorem 1 (iv), leading to h = [a 0 ; a 1,... a i 1, min(a i, b i ) + 1]. If a i b i r i (f) = 0 r i (g) 0 (lines 22 27), then f = [a 0 ; a 1,... a i 1, a i ] g = [a 0 ; a 1,... a i 1, b i,... b m ], with m > i b m > 1. Three subcases arise, according to the respective values of a i b i (keeping in mind that a i b i ): if a i < b i (line 23), then f is a convergent of g, according to Theorem 1 (iv), h = [a 0 ; a 1,... a i 1, a i + 1]; if a i = b i + 1 (line 25), then f = [a 0 ; a 1,... a i 1, b i, 1] f is an even convergent of g (i + 1 is even). Using Theorem 1 (iv) again, h is the next even convergent of g. If b i+1 > 1, then h = [a 0 ; a 1,... a i 1, b i, 2]. Otherwise, the next even convergent of g is eual to [a 0 ; a 1,... a i 1, b i, b i+1, b i+2, 1] = [a 0 ; a 1,... a i 1, b i, b i+1, b i+2 + 1]. otherwise, a i > b i + 1 (line 27), f g are not convergent of one another. Theorem 1 states that h is the uniue fraction that is a convergent of both f g. It is easy to see that the fraction h = [a 0 ; a 1,... b i + 1] = [a 0 ; a 1,... b i, 1] is a convergent of both f (since b i + 1 < a i ) g (since b i+1 2). The last case, a i b i r i (g) = 0 r i (f) 0 (lines 28 33) is symmetrical to the previous one. Lemma 4. In a computing model where stard arithmetic operations are done in constant time, Algorithm 1 has a complexity of O(d) where d is the number of partial uotients of h. Proof. The representation of f g as continued fractions is computed on the fly, only the partial uotients used to define the result fraction h are computed. The computation of the partial uotients a i b i consists in one step of the Euclidean algorithm that uses stard arithmetic operations. Thus, the while loop runs in O(d) time, all other operations from line 10 to line 33 are done in constant time. The computation of the fraction h from its representation as a continued fraction also runs in O(d) time since stard arithmetic operations are done in constant time. References [1] T. Granlund, the GMP development team, GNU MP: The GNU Multiple Precision Arithmetic Library, 5th Edition, http://gmplib.org/ (2012). [2] W. Harvey, Computing two-dimensional integer hulls, SIAM Journal on Computing 28 (6) (1999) 2285 2299. [3] G. Chrystal, Algebra: An Elementary Text-book for the Higher Classes of Secondary Schools for Colleges, no. vol. 2, Chelsea Publishing Company, 1964. 4

[4] G. H. Hardy, E. M. Wright, An Introduction to the Theory of Numbers, Oxford Mathematics, 2008. [5] B. Hayes, On the teeth of wheels, Amer. Sci 88 (2000) 296 300. [6] R. L. Graham, D. E. Knuth, O. Patashnik, Concrete Mathematics: A Foundation for Computer Science, 2nd Edition, Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1994. 5

Algorithm 1: FractionOfSmallestDenominatorInBetween(Proper fraction f, Proper fraction g) Input : f = fp f, g = gp g such that 0 f < g 1 Output: h the fraction of smallest denominator such that f < h < g 1 if g p f g f p = 1 then 2 h fp+gp f +g 3 return h 4 i 0 5 a i first partial uotient of f 6 b i first partial uotient of g 7 while a i = b i & r i (f) 0 & r i (g) 0 do 8 i i + 1 9 compute a i b i 10 if a i = b i then 11 if r i (f) = 0 then f is an even principal convergent of g 12 h [a 0 ; a 1... a i 1, a i, b i+1 + 1] 13 else r i (g) = 0 g is an odd principal convergent of f 14 h [a 0 ; a 1... a i 1, a i, a i+1 + 1] 15 else 16 if r i (f) 0 & r i (g) 0 then case (v) of Theorem 1 17 h [a 0 ; a 1... a i 1, min(a i, b i ) + 1] 18 else 19 if r i (f) = 0 & r i (g) = 0 then g is a convergent of f or conversely 20 h [a 0 ; a 1... a i 1, min(a i, b i ) + 1] 21 else 22 if r i (f) = 0 then 23 if a i < b i then h [a 0 ; a 1... a i 1, a i + 1]f is a convergent of g, i is even 24 else 25 if a i = b i + 1 then f is a convergent of g, i is odd 26 if b i+1 = 1 then h [a 0 ; a 1... a i 1, b i, b i+1, b i+2 + 1] 27 else h [a 0 ; a 1... a i 1, b i, 2] 28 else a i > b i + 1, case (v) of Theorem 1 29 h [a 0 ; a 1... a i 1, b i + 1] 30 else r i (g) = 0 31 if b i < a i then h [a 0 ; a 1... a i 1, b i + 1] 32 else 33 if b i = a i + 1 then 34 if a i+1 = 1 then h [a 0 ; a 1... a i 1, a i, a i+1, a i+2 + 1] 35 else h [a 0 ; a 1... a i 1, a i, 2] 36 else b i > a i + 1 37 h [a 0 ; a 1... a i 1, a i + 1] 38 return h 6