1 |
%$Header: /home/dashley/cvsrep/e3ft_gpl01/e3ft_gpl01/dtaipubs/esrgubka/c_cfr0/c_cfr0.tex,v 1.18 2004/03/12 11:12:35 dtashley Exp $
|
2 |
|
3 |
\chapter{\ccfrzerolongtitle{}}
|
4 |
|
5 |
\label{ccfr0}
|
6 |
|
7 |
\beginchapterquote{``I began by saying that there is probably less difference
|
8 |
between the positions of a mathematician and a physicist
|
9 |
than is generally supposed, and that the most important
|
10 |
seems to me to be this, that the mathematician is in much
|
11 |
more direct contact with reality \ldots{} mathematical
|
12 |
objects are so much more what they seem. A chair or a
|
13 |
star is not in the least what it seems to be; the more we think
|
14 |
of it, the fuzzier its outlines become in the haze of sensation
|
15 |
which surround it; but `2' or `317' has nothing to do with
|
16 |
sensation, and its properties stand out the more clearly the more
|
17 |
closely we scrutinize it.''}
|
18 |
{G. H. Hardy \cite{bibref:b:mathematiciansapology:1940}, pp. 128-130}
|
19 |
\index{Hardy, G. H.}
|
20 |
|
21 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
22 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
23 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
24 |
\section{Introduction}
|
25 |
%Section tag: INT0
|
26 |
\label{ccfr0:sint0}
|
27 |
\index{continued fraction}
|
28 |
\index{continued fraction!definition}
|
29 |
|
30 |
A \emph{finite simple continued fraction} is a fraction of the form
|
31 |
|
32 |
\begin{equation}
|
33 |
\label{eq:ccfr0:int0:00}
|
34 |
a_0 + \cfrac{1}{a_1 + \cfrac{1}{a_2
|
35 |
+ \cfrac{1}{\;\;\;\;\;\;\;\;\;\;\;\;\;\;\ldots + \cfrac{1}{a_n}}}}
|
36 |
=
|
37 |
[a_0; a_1, a_2, \ldots , a_n] ,
|
38 |
\end{equation}
|
39 |
|
40 |
\noindent{}where $a_0 \in \vworkintsetnonneg$ and
|
41 |
$a_i \in \vworkintsetpos$, $i > 0$. Each integer
|
42 |
$a_i$ is called an \index{continued fraction!element}\emph{element} or
|
43 |
\index{continued fraction!partial quotient}\emph{partial quotient}
|
44 |
of the continued fraction.
|
45 |
We require, except in the case of
|
46 |
the continued fraction representation of an integer,
|
47 |
that the final element $a_n$ not be equal
|
48 |
to 1.\footnote{\label{footnote:ccfr0:sint0:00}The reason for
|
49 |
this restriction is discussed later.}
|
50 |
|
51 |
Continued fractions are quite unwieldly to write and typeset,
|
52 |
and so a continued fraction in the form of (\ref{eq:ccfr0:int0:00})
|
53 |
is written as $[a_0; a_1, a_2, \ldots , a_n]$. Note that the
|
54 |
separator between $a_0$ and $a_1$ is a semicolon (`;'), and that all other
|
55 |
separators are commas (`,'). In some works, commas are used exclusively; and in
|
56 |
other works, the first element is $a_1$ rather than $a_0$. Throughout this
|
57 |
work, the notational conventions illustrated in (\ref{eq:ccfr0:int0:00}) are
|
58 |
followed.
|
59 |
|
60 |
In this chapter, the framework of continued fractions is presented in the
|
61 |
context of finding rational numbers in $F_N$, the Farey series of order $N$,
|
62 |
enclosing an arbitrary $r_I \in \vworkrealsetnonneg$. The continued fraction
|
63 |
algorithm presented (Algorithm \ref{alg:ccfr0:scba0:cfenclosingneighborsfn})
|
64 |
is $O(log N)$, and so is suitable for finding the best rational
|
65 |
approximations in $F_N$ even when $N$ is very large. Because our emphasis
|
66 |
is on practical applications rather than number theory, we don't include more
|
67 |
information than is necessary to understand the applications we have in
|
68 |
mind.
|
69 |
|
70 |
The study of continued
|
71 |
fractions is a topic from number theory (a branch of mathematics). It may be
|
72 |
counterintuitive to anyone but a number theorist that continued fractions
|
73 |
can be used to economically find best rational approximations,
|
74 |
or that continued fractions are anything but
|
75 |
a parlor curiosity. C.D. Olds (\cite{bibref:b:OldsClassic}, p. 3) comments:
|
76 |
|
77 |
\index{Olds, C. D.}
|
78 |
|
79 |
\begin{quote}
|
80 |
At first glance, nothing seems simpler or less significant than writing a number,
|
81 |
for example $\frac{9}{7}$, in the form
|
82 |
|
83 |
\begin{equation}
|
84 |
\frac{9}{7} = 1 + \frac{2}{7} = 1 + \frac{1}{\cfrac{7}{2}}
|
85 |
= 1 + \cfrac{1}{3 + \cfrac{1}{2}}
|
86 |
= 1 + \cfrac{1}{3 + \cfrac{1}{1 + \cfrac{1}{1}}}.
|
87 |
\end{equation}
|
88 |
|
89 |
It turns out, however, that fractions of this form, called ``continued
|
90 |
fractions'', provide much insight into mathematical problems, particularly into
|
91 |
the nature of numbers.
|
92 |
|
93 |
Continued fractions were studied by the great mathematicians of the seventeenth
|
94 |
and eighteenth centuries and are a subject of active investigation today.
|
95 |
\end{quote}
|
96 |
|
97 |
|
98 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
99 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
100 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
101 |
\section{History Of Continued Fractions}
|
102 |
%Section tag: HST0
|
103 |
\label{cfr0:hst0}
|
104 |
\index{continued fraction!history of}
|
105 |
|
106 |
The only work we are aware of that explicitly treats the history
|
107 |
of continued fractions is \cite{bibref:b:HistoryCfPadeApproxBrezinski}.
|
108 |
Although the history of continued fractions is complex,
|
109 |
two points are clear. First, it is clear that Euclid's \index{Euclid}
|
110 |
GCD algorithm \index{Euclid!GCD algorithm}
|
111 |
(Algorithm \ref{alg:ccfr0:sega0:euclidsgcdalgorithm}),
|
112 |
which was known no later than around 300 B.C.,
|
113 |
represents the historical origin of the continued fraction. Second,
|
114 |
it is clear that the utility of the apparatus of continued fractions
|
115 |
in finding best rational approximations---specifically the properties
|
116 |
of convergents---was understood by the 17th century.
|
117 |
|
118 |
In this section, we present some excerpts from
|
119 |
\cite{bibref:b:HistoryCfPadeApproxBrezinski}
|
120 |
which show the very early use of continued fractions to obtain best rational
|
121 |
approximations with a numerator and denominator less than certain
|
122 |
prescribed limits.
|
123 |
We simply demonstrate that the technique we present was known by
|
124 |
the 17th century (with the possible exception of the
|
125 |
second component of Theorem \ref{thm:ccfr0:scba0:cfenclosingneighbors}),
|
126 |
and we don't attempt to describe the other uses
|
127 |
of continued fractions or the significance of continued fractions
|
128 |
in mathematics or number theory.
|
129 |
|
130 |
Although we present best rational
|
131 |
approximations in the context of being able to effectively use
|
132 |
processor integer multiplication and division instructions,
|
133 |
earlier historical work was aimed at either
|
134 |
providing rational approximations to irrational numbers ($\sqrt{2}$ or $\pi$,
|
135 |
for example), or at determining optimal numbers of gear teeth
|
136 |
(in mechanical systems). Naturally, the need for best rational approximations
|
137 |
in the context of computer arithmetic is a relatively recent
|
138 |
development.
|
139 |
|
140 |
In the introduction of \cite{bibref:b:HistoryCfPadeApproxBrezinski},
|
141 |
Brezinski \index{Brezenski, Claude} hints at the broad application and importance
|
142 |
of continued fractions:
|
143 |
|
144 |
\begin{quote}
|
145 |
The history of continued fractions is certainly one of the longest
|
146 |
among those of mathematical concepts, since it begins with
|
147 |
Euclid's algorithm \index{Euclid!GCD algorithm} for the greatest common divisor at least
|
148 |
three centuries B.C. As it is often the case and like
|
149 |
Monsieur Jourdain in Moli\`ere's ``le bourgeois gentilhomme''
|
150 |
(who was speaking in prose though he did not know he was doing so),
|
151 |
continued fractions were used for many centuries before their real
|
152 |
discovery.
|
153 |
|
154 |
The history of continued fractions and Pad\'e approximants is also
|
155 |
quite important, since they played a leading role in the development
|
156 |
of some branches of mathematics. For example, they were the basis
|
157 |
for the proof of the transcendence of $\pi$ in 1882, an open
|
158 |
problem for more than two thousand years, and also for our modern
|
159 |
spectral theory of operators. Actually they still are of great
|
160 |
interest in many fields of pure and applied mathematics and in
|
161 |
numerical analysis, where they provide computer approximations to
|
162 |
special functions and are connected to some convergence acceleration
|
163 |
methods. Continued fractions are also used in number theory,
|
164 |
computer science, automata, electronics, etc. \ldots{}
|
165 |
\end{quote}
|
166 |
|
167 |
Notice that Theorem \ref{thm:ccfr0:scba0:cfenclosingneighbors}
|
168 |
has two components. First, it is shown that the highest-order
|
169 |
convergent with an acceptable denominator is closer to $a/b$ than
|
170 |
any Farey neighbor to this convergent (thus, this convergent must be
|
171 |
either a left or right Farey neighbor of $a/b$). Second, it is shown
|
172 |
what the other Farey neighbor must be. It is historically clear
|
173 |
that the properties of convergents as best rational approximations were
|
174 |
understood by the 17th century (this is the \emph{first} part of
|
175 |
Theorem \ref{thm:ccfr0:scba0:cfenclosingneighbors}). However, it
|
176 |
is not historically clear when the \emph{second} part of
|
177 |
Theorem \ref{thm:ccfr0:scba0:cfenclosingneighbors} was discovered.
|
178 |
|
179 |
Even in Khinchin's \index{Khinchin, A. Ya.} classic work,
|
180 |
\cite{bibref:b:KhinchinClassic}, Theorem 15, p. 22, Khinchin stops
|
181 |
just short of the result presented as the second part of
|
182 |
Theorem \ref{thm:ccfr0:scba0:cfenclosingneighbors}. Khinchin writes:
|
183 |
|
184 |
\begin{quote}
|
185 |
THEOREM 15. \em Every best approximation of a number is a convergent
|
186 |
or an intermediate fraction of the continued fraction representing
|
187 |
that number.
|
188 |
\end{quote}
|
189 |
|
190 |
\noindent{}Theorem \ref{thm:ccfr0:scba0:cfenclosingneighbors} goes
|
191 |
slightly farther than Khinchin's \emph{THEOREM 15}, above.
|
192 |
Khinchin \index{Khinchin, A. Ya.} states
|
193 |
that a best approximation will be a convergent or an intermediate
|
194 |
fraction---but Theorem \ref{thm:ccfr0:scba0:cfenclosingneighbors}
|
195 |
goes slightly farther to indicate \emph{exactly which} intermediate fraction
|
196 |
is potentially the best approximation. Khinchin's \emph{THEOREM 15}
|
197 |
is correct, but could be strengthened. Khinchin's work
|
198 |
was first published in 1935. This raises the [unlikely] possibility
|
199 |
that the second part of Theorem \ref{thm:ccfr0:scba0:cfenclosingneighbors}
|
200 |
had not been published even as recently as 1935, although
|
201 |
we (the authors) don't have the ability to confirm or
|
202 |
refute this.
|
203 |
|
204 |
In \cite{bibref:b:HistoryCfPadeApproxBrezinski}, p. 70, Brezinski
|
205 |
\index{Brezenski, Claude}
|
206 |
writes:
|
207 |
|
208 |
\begin{quote}
|
209 |
In the same period, algorithms equivalent to continued fractions were
|
210 |
still used to find approximate values for ratios and to simplify
|
211 |
fractions. We have already mentioned Albert Girard.
|
212 |
|
213 |
Among the other authors who treated the subject, the most prominent
|
214 |
is Daniel SCHWENTER \index{Schwenter, Daniel}
|
215 |
(N\"urnberg, 31.1.1585 - Altdorf, 19.1.1636),
|
216 |
who wrote two books ``\emph{Geometriae practicae novae et auctae
|
217 |
tractatus}'' published in 1627 and ``\emph{Delicae
|
218 |
Physico-mathematicae}'' which appeared in 1636 followed by a
|
219 |
second edition in 1651.
|
220 |
|
221 |
In his first book, Schwenter found approximations of 177/233 by
|
222 |
finding their g.c.d. and gave the successive convergents
|
223 |
79/104, 19/25, 3/4, 1/1, and 0/1. His calculations were arranged
|
224 |
in a table\footnote{The table is reproduced in
|
225 |
\cite{bibref:b:HistoryCfPadeApproxBrezinski},
|
226 |
but is omitted here.} \ldots{} although he gave no explanation of the method.
|
227 |
\end{quote}
|
228 |
|
229 |
On p. 84, Brezenski \index{Brezenski, Claude} writes:
|
230 |
|
231 |
\begin{quote}
|
232 |
Wallis \index{Wallis, John} also made use of continued fractions in his book
|
233 |
``\emph{A treatise of algebra both historical and practical}''
|
234 |
(published in 1685), to approximate ratios with large
|
235 |
numerators and denominators:
|
236 |
|
237 |
\emph{``Before I leave the business of Decimal Parts, and the
|
238 |
advantages which in practice may there cause; I have thought fit
|
239 |
here to insert a Process Of Reducing Fractions or Proportions to
|
240 |
smaller termes, retaining as near as may be, the just value.}
|
241 |
|
242 |
\emph{It was occasion'd by a Problem sent me (as I remember) about the
|
243 |
Year 1663 or 1664, by Dr. Lamplugh the present Bishop of Exeter from
|
244 |
(his Wives Father) Dr. Davenant then one of the Prebends
|
245 |
Residentaries of the Church of Salisbury, a very worthy Person, of
|
246 |
great Learning and Modesty; as I mire inderstand from persons
|
247 |
well acquainted with him, and by divers Writings of his which I have seen,
|
248 |
though I never had the opportunity of being personally acquainted with him,
|
249 |
otherwise than by Letter. And amongst
|
250 |
his other Learning, he was very well skilled the Mathematicks,
|
251 |
and a diligent Proficient therein.}
|
252 |
|
253 |
\emph{He sent me (as it abovesaid) a Fraction (which what it was I
|
254 |
do not now particulary remember) who's Numerator and Denominator
|
255 |
were, each of them of about six or seven places; and Proposed to
|
256 |
find the nearest Fraction in value to it, whose Denominator should
|
257 |
not be greater than 999.''}
|
258 |
|
259 |
\begin{center}
|
260 |
\rule{3in}{0.3mm} \\\
|
261 |
\end{center}
|
262 |
|
263 |
\begin{center}
|
264 |
\emph{The Problem} \\
|
265 |
\end{center}
|
266 |
|
267 |
\emph{A Fraction (or Proportion) being assigned, to sind one as near as
|
268 |
may be equal to it, in Numbers non exceeding a Number given, and in
|
269 |
the smallest Terms.}
|
270 |
|
271 |
\emph{As (for instance), the Fraction $\frac{2684769}{8376571}$ (or the
|
272 |
Proportion of 2684769 to 8376571) being assigned, to sind one equal to it
|
273 |
(if it may be) or at least the next Greater, or the next Lesser,
|
274 |
which may be expressed in Numbers not greater than 999; that is, in numbers
|
275 |
not exceeding three places.}
|
276 |
|
277 |
\begin{center}
|
278 |
\rule{3in}{0.3mm} \\
|
279 |
\end{center}
|
280 |
|
281 |
\emph{If the Fraction sought (whose terms are not to be greater than
|
282 |
a Number given) be the Next Greater than a Fraction Proposed; divide the
|
283 |
proposed Fractions Denominator by its Numerator: If the Next-Lesser, then
|
284 |
the Numerator by the Denominator, continuing the Quotient in Decimal
|
285 |
Parts, to such an Accuracy as shall be sufficient; which Quotient
|
286 |
for the Next-Greater, is to be the Denominator answering to the
|
287 |
Numerator 1: But for the next Lesser, it is to be
|
288 |
the Numerator answering to the Denominator 1: Completing a Fraction
|
289 |
as near as shall be necessary to that Proposed, which Fraction I
|
290 |
call to First Fraction Compleat: And the same wanting the Appendage of
|
291 |
Decimal parts, I call, the First Fraction Cartail'd.}
|
292 |
|
293 |
\emph{Khen by this Appendage of the First Fraction,
|
294 |
divide 1 Integer, and by the Integer Number which is Next-Less then
|
295 |
the sull Quotient, (that is, in case such Quotient be just an
|
296 |
Interger Number, by the Integer Next-Less than it; but is it be an Interger
|
297 |
with Decimal parts annexed, than by that Integer
|
298 |
without those}
|
299 |
|
300 |
\emph{Decimal parts;) multiply both Terms of the first Fraction Compleat,
|
301 |
(the Numerator and the Denominator;) And the Products of such
|
302 |
Multiplication, I call the Continual Increments of those Terms respectively.
|
303 |
And so much as the Appendage of Decimal parts in such Continual Increment
|
304 |
wants of 1 Integer, I call the Complements of the Appendage of the
|
305 |
continual Increment.}
|
306 |
|
307 |
\emph{Then both to the Numerator and the Denominator of the First
|
308 |
Fraction, add (respectively) its continual Increment, which make the Terms
|
309 |
of the Second Fraction; and these again (respectively)
|
310 |
increased by the same Continual
|
311 |
Increment, make the Terms of the Third Fraction: And so onward,
|
312 |
as long as the Fraction so arising hath an Appendage, which is not less
|
313 |
than the Complement of the Appendage of the Continual Increment.}
|
314 |
|
315 |
\emph{But where such Appendage becomes less than that Complement,
|
316 |
that Fraction I call the Last of the First Order; which also is to
|
317 |
be the First of the Second Order.''}
|
318 |
\end{quote}
|
319 |
|
320 |
Although Wallis' archaic English above is difficult to decipher,
|
321 |
it appears that Wallis is describing the process of
|
322 |
obtaining the convergents and intermediate fractions of
|
323 |
the continued fraction representation of a rational number.
|
324 |
|
325 |
On p. 86, Brezenski writes:
|
326 |
|
327 |
\begin{quote}
|
328 |
We have already mentioned the Dutch mathematician and astronomer
|
329 |
Christiaan HUYGENS \index{Huygens, Christiaan} (The Hague, 14.4.1629 - The Hague, 8.6.1695).
|
330 |
He made several contributions to continued fractions and related
|
331 |
matters.
|
332 |
|
333 |
In 1682, Huygens built an automatic planetarium. To this end,
|
334 |
he used continued fractions, as described in his book
|
335 |
``\emph{Descriptio automati planetarii}'', which was published
|
336 |
after his death (The Hague, 1698). In one year the earth
|
337 |
covers 359$^{\circ}$ $45'$ $40''$ $30'''$ and Saturn 12$^{\circ}$
|
338 |
$13'$ $34''$ $18'''$, which gives the ratio 77708431/2640858.
|
339 |
|
340 |
For finding the smallest integers whose ratio is close to the preceding
|
341 |
one, he divided the greatest number by the smallest, then the smallest
|
342 |
by the first remainder, and so on, which is Euclid's algorithm.
|
343 |
He thus got
|
344 |
|
345 |
\begin{equation}
|
346 |
29 + \cfrac{1}{2 + \cfrac{1}{2 + \cfrac{1}{1 +
|
347 |
\cfrac{1}{5 + \cfrac{1}{1 + \cfrac{1}{4 + \ldots{}}}}}}}
|
348 |
\nonumber
|
349 |
\end{equation}
|
350 |
|
351 |
for the ratio.
|
352 |
|
353 |
The fourth convergent of this continued fraction is 206/7, which
|
354 |
gave him the number of teeth for the gears of his planetarium, only
|
355 |
producing an error of $40'$ in a century! [H. 177], [H. 272].
|
356 |
|
357 |
In a work, undated but not after 1687, he treats the general problem:
|
358 |
|
359 |
\emph{``Etant donn\'es deux grands nombres ayant entr'eux un
|
360 |
certain rapport, en trouver d'autres plus petits pour les dents
|
361 |
des roues qui ne soient pas incommodes par leurs grandeurs et qui
|
362 |
aient entr'eux \`a peu pr\`es le m\^eme rapport,
|
363 |
de telle facon qu'aucun couple de nombres plus petits ne
|
364 |
fournisse un rapport plus approchant de la vraie
|
365 |
valeur.''}\footnote{English translation \index{Raspide, Sandrine@de Raspide, Sandrine}
|
366 |
\cite{bibref:i:sandrinederaspide}:
|
367 |
\emph{If we consider two large numbers forming a given ratio,
|
368 |
we need to find another set of smaller numbers for the teeth of the gearwheels,
|
369 |
which are not inconvenient in their size and which bear the very same ratio
|
370 |
between them, in such a way that no other pair of smaller numbers
|
371 |
brings a ratio closer to the actual value.}}
|
372 |
|
373 |
Thus Huygens was conscious of the property of best approximation
|
374 |
exhibited by continued fractions. He explained his method
|
375 |
as follows:
|
376 |
|
377 |
\emph{``Pour trouver donc des nombres plus petits qui expriment
|
378 |
approximativement ce rapport, je divise le plus grand des nombres
|
379 |
par le plus petit, puis le plus petit par le reste de la premi\`ere
|
380 |
division et ensuite ce reste par le noveau reste \ldots{}
|
381 |
Poursuivant ce calcul aussi longtemps que possible, on parvient
|
382 |
enfin par la division \`a un reste 1.''}\footnote{English
|
383 |
translation \index{Raspide, Sandrine@de Raspide, Sandrine}
|
384 |
\cite{bibref:i:sandrinederaspide}: \emph{Thus to find some smaller numbers that
|
385 |
approximately express this ratio, I divide the largest of
|
386 |
the numbers by the smallest, then the smallest by the
|
387 |
remainder of the first division and then this remainder by
|
388 |
the new remainder, continuing this calculation as long as possible,
|
389 |
we finally end up with a division into a remainder of 1.}}
|
390 |
|
391 |
Then he makes the following comments:
|
392 |
|
393 |
\emph{``Or, lorsqu'on n\'eglige \`a partir d'une fraction
|
394 |
quelconque les derniers termes de la s\'erie et celles qui
|
395 |
la suivent, et qu'on r\'eduit les autres plus le
|
396 |
nombre entier \`a un commun d\'enominateur, le rapport de ce
|
397 |
dernier au num\'erateur, sera voisin de celui du plus
|
398 |
petit nombre donn\'e au plus grand; et la diff\'erence
|
399 |
sera si faible qu'il serait impossible d'obtenir un meilleur accord
|
400 |
avec des nombres plus petits.''}\footnote{English
|
401 |
translation \index{Raspide, Sandrine@de Raspide, Sandrine}
|
402 |
\cite{bibref:i:sandrinederaspide}:
|
403 |
\emph{However, when, from an ordinary fraction, we neglect
|
404 |
the last terms of the run and the ones that follow, and when
|
405 |
we reduce the others plus the integer to a common denominator,
|
406 |
the ratio of the latter to the numerator will be in the neighborhood
|
407 |
of the smallest given number to the largest; and the difference will
|
408 |
be so small that it would be impossible to obtain a better
|
409 |
approximation with smaller numbers.}}
|
410 |
|
411 |
He proves this result and applies it to the continued fraction
|
412 |
for $\pi$.
|
413 |
|
414 |
Let us give the opinion of the French astronomer
|
415 |
\index{Delambre, Jean Baptiste Joseph}Jean Baptiste
|
416 |
Joseph DELAMBRE (Amiens, 19.9.1749 - Paris, 19.8.1822), about
|
417 |
this part of Huygens' work. It is quite interesting [H. 108]:
|
418 |
|
419 |
\emph{`` \ldots{}; enfin il d\'ecrit son plan\'etaire.}\footnote{English
|
420 |
translation \index{Raspide, Sandrine@de Raspide, Sandrine}
|
421 |
\cite{bibref:i:sandrinederaspide}:
|
422 |
\emph{\ldots{}; finally, he describes his planetarium.}}
|
423 |
|
424 |
\emph{Ces sortes de machines ne sont que des objets de
|
425 |
curiosit\'e pour les amateurs, ils sont absolument inutiles
|
426 |
\`a l'Astronomie; celle \index{Huygens, Christiaan}d'Huygens
|
427 |
\'etait destin\'ee \`a montrer
|
428 |
les mouvements elliptiques des plan\`etes, suivant les id\'ees
|
429 |
de \index{Kepler, Johannes}K\'epler. Le probl\`eme \`a r\'esoudre \'etait celui-ci:
|
430 |
Etant donn\'e deux grands nombres, trouver deux autres nombres plus
|
431 |
pitits et plus commodes, qui soient \`a peu pr\`es dans la m\^eme raison.
|
432 |
Il y emploie les fractions continues, et sans donner la
|
433 |
th\'eorie analytique de ces fractions, il les applique \`a des
|
434 |
exemples. Il trouve ainsi le nombre des dents qui'il convient de donner
|
435 |
aux roues.}\footnote{English translation \index{Raspide, Sandrine@de Raspide, Sandrine}
|
436 |
\cite{bibref:i:sandrinederaspide}: \emph{These kinds of machines are
|
437 |
mere objects of curiosity for the amateurs, completely useless to astronomy;
|
438 |
Huygens' machine was meant to demonstrate the elliptic movements of the
|
439 |
planets, following Kepler's ideas. The problem to solve was the following:
|
440 |
given two large numbers, we need to find two other numbers, smaller and
|
441 |
more convenient, which are more or less in the same ratio. To achieve
|
442 |
this, Huygens uses continued ratios, and, without giving the analytic
|
443 |
theory of these ratios, he applies it to some examples. Thus, he is able
|
444 |
to determine the number of teeth needed for the gearwheels.}}
|
445 |
|
446 |
\emph{Cette propri\'et\'e des fractions continues, para\^{\i}t \`a
|
447 |
\index{Lagrange, Joseph-Louis}Lagrange, une des principales d\'ecouvertes
|
448 |
d'Huygens. Cet \'eloge
|
449 |
un peu exag\'er\'e fut sans doute dict\'e \`a
|
450 |
Lagrange par l'usage qu'il a su faire de ces fractions dans l'Analyse.
|
451 |
Quelques g\'eom\`etres ont paru douter des avantages de ces fractions et
|
452 |
de l'utilit\'e
|
453 |
qu'elles peuvent avoir dans les recherches analytiques. Quant au
|
454 |
probl\`eme des rouages, il nous semble qu'on peut le r\'esoudre d'une
|
455 |
mani\`ere plus simple et plus commode par l'Arithm\'etique ordinaire.
|
456 |
Nous avons d\'ej\`a appliqu\'e notre m\'ethode
|
457 |
aux intercalations du calendrier. Nous allons l'appliquer aux deux
|
458 |
exemples choisis par Huyhens.''}\footnote{English
|
459 |
translation \index{Raspide, Sandrine@de Raspide, Sandrine}
|
460 |
\cite{bibref:i:sandrinederaspide}:
|
461 |
\emph{The property of continued fractions seems, to Lagrange,
|
462 |
one of the main discoveries of Huygens. This slightly overdone
|
463 |
praise was probably induced in Lagrange for the use that he made of
|
464 |
the fractions in his Analysis. Some surveyors seemed to have questioned
|
465 |
the advantages of these fractions and their use in analytical research.
|
466 |
As far as the gearing problem is concerned, it seems to us that we can
|
467 |
solve it in a simpler and easier way with ordinary arithmetic.
|
468 |
We have already applied our methodology to the intercalation of the calendar.
|
469 |
We are going to apply it to the two examples chosen by Huygens.}}
|
470 |
|
471 |
Delambre concludes:
|
472 |
|
473 |
\emph{``Les fractions continues ne m'ont jamais paru qu'une chose
|
474 |
curieuse qui, au reste, ne servait qu'\`a obscurcir et compliquer et je
|
475 |
n'en ai jamais fait d'usage que pour m'en d\'emontrer
|
476 |
l'inutilit\'e.''}\footnote{English translation
|
477 |
\index{Raspide, Sandrine@de Raspide, Sandrine}
|
478 |
\cite{bibref:i:sandrinederaspide}:
|
479 |
\emph{Continued fractions never appeared to me as something more
|
480 |
than a mere curiosity that, at the end of the day, only serves
|
481 |
to darken and complicate matters, and I only used them to
|
482 |
demonstrate their uselessness.}}
|
483 |
|
484 |
This was not a prophetic view!
|
485 |
\end{quote}
|
486 |
|
487 |
Thus, it is clear that the use of continued fraction convergents
|
488 |
as best rational approximations dates back to at least the
|
489 |
17th century (this is the first part of
|
490 |
Theorem \ref{thm:ccfr0:scba0:cfenclosingneighbors}). However,
|
491 |
the details of the historical appearance of the second part of
|
492 |
Theorem \ref{thm:ccfr0:scba0:cfenclosingneighbors} (the formula
|
493 |
for the other Farey neighbor, Eq. \ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:01})
|
494 |
are not known to the authors.
|
495 |
|
496 |
|
497 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
498 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
499 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
500 |
\section{Overview Of The Apparatus}
|
501 |
%Section tag: PAR0
|
502 |
|
503 |
The apparatus of continued fractions is best viewed as
|
504 |
an alternate apparatus for representing real numbers.
|
505 |
Knowledge of the first $n$ partial quotients of
|
506 |
the continued fraction representation of a real number
|
507 |
$x$ is equivalent to the knowledge that the number lies
|
508 |
in a certain partition (Eqns.
|
509 |
\ref{eq:ccfr0:spar0:01},
|
510 |
\ref{eq:ccfr0:spar0:02}, and \ref{eq:ccfr0:spar0:03}). With additional
|
511 |
partial quotients, the partitions become more restrictive.
|
512 |
|
513 |
\begin{equation}
|
514 |
\label{eq:ccfr0:spar0:01}
|
515 |
(x=[a_0] \vee x=[a_0; \ldots ] ) \leftrightarrow (a_0 \leq x < a_0 + 1)
|
516 |
\end{equation}
|
517 |
|
518 |
\begin{equation}
|
519 |
\label{eq:ccfr0:spar0:02}
|
520 |
(x=[a_0; a_1] \vee x=[a_0; a_1, \ldots ] ) \leftrightarrow
|
521 |
\left(
|
522 |
{
|
523 |
a_0 + \frac{1}{a_1 + 1} < x \leq a_0 + \frac{1}{a_1}
|
524 |
}
|
525 |
\right)
|
526 |
\end{equation}
|
527 |
|
528 |
\begin{equation}
|
529 |
\label{eq:ccfr0:spar0:03}
|
530 |
\begin{array}{c}
|
531 |
(x=[a_0; a_1, a_2] \vee x=[a_0; a_1, a_2, \ldots ] ) \vspace{0.05in}\\
|
532 |
\updownarrow \vspace{0.0in}\\
|
533 |
\left(
|
534 |
{
|
535 |
a_0+\cfrac{1}{a_1 + \cfrac{1}{a_2}} \leq x < a_0+\cfrac{1}{a_1 + \cfrac{1}{a_2+1}}
|
536 |
}
|
537 |
\right)
|
538 |
\end{array}
|
539 |
\end{equation}
|
540 |
|
541 |
Algorithms for finding the continued fraction representation
|
542 |
of a real number are best viewed as algorithms for
|
543 |
determining in which partition a real number lies. However, what is
|
544 |
special (for our purposes) is that the partitions imposed by the
|
545 |
apparatus of continued fractions have a special relationship
|
546 |
with best rational approximations---namely, that all numbers (both
|
547 |
rational and irrational) with the same partial quotients up to a
|
548 |
point also have the same Farey neighbors up to a certain order.
|
549 |
Stated more colloquially, the apparatus of continued fractions
|
550 |
hacks up the real number line in a way that is especially meaningful
|
551 |
for finding best rational approximations.
|
552 |
|
553 |
|
554 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
555 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
556 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
557 |
\section[CF Representation Of Rationals]
|
558 |
{Continued Fraction Representation Of Rational Numbers}
|
559 |
%Section tag: CRN0
|
560 |
|
561 |
Without proof, we present the following algorithm, Algorithm
|
562 |
\ref{alg:ccfr0:scrn0:akgenalg}, for
|
563 |
determining the continued fraction representation (i.e. the partial
|
564 |
quotients) of a non-negative
|
565 |
rational number $a/b$.
|
566 |
|
567 |
\begin{vworkalgorithmstatementpar}{Continued Fraction Representation Of
|
568 |
A Rational Number \mbox{\boldmath $a/b$}}
|
569 |
\label{alg:ccfr0:scrn0:akgenalg}
|
570 |
\begin{alglvl0}
|
571 |
\item $k:=-1$.
|
572 |
\item $divisor_{-1} := a$.
|
573 |
\item $remainder_{-1} := b$.
|
574 |
|
575 |
\item Repeat
|
576 |
|
577 |
\begin{alglvl1}
|
578 |
\item $k := k + 1$.
|
579 |
\item $dividend_k := divisor_{k-1}$.
|
580 |
\item $divisor_k := remainder_{k-1}$.
|
581 |
\item $a_k := dividend_k \; div \; divisor_k$.
|
582 |
\item $remainder_k := dividend_k \; mod \; divisor_k$.
|
583 |
\end{alglvl1}
|
584 |
|
585 |
\item Until ($remainder_k = 0$).
|
586 |
\end{alglvl0}
|
587 |
\end{vworkalgorithmstatementpar}
|
588 |
%\vworkalgorithmfooter{}
|
589 |
|
590 |
\begin{vworkexamplestatement}
|
591 |
\label{ex:ccfr0:scrn0:01}
|
592 |
Find the continued fraction partial quotients of
|
593 |
$67/29$.\footnote{This example is reproduced from
|
594 |
Olds \cite{bibref:b:OldsClassic}, p. 8.}
|
595 |
\end{vworkexamplestatement}
|
596 |
\begin{vworkexampleparsection}{Solution}
|
597 |
\begin{table}
|
598 |
\caption{Continued Fraction Partial Quotients Of $67/29$ (Example \ref{ex:ccfr0:scrn0:01})}
|
599 |
\label{tbl:ccfr0:scrn0:01}
|
600 |
\begin{center}
|
601 |
\begin{tabular}{|c|c|c|c|c|}
|
602 |
\hline
|
603 |
\small{Index} & \small{$dividend_k$} & \small{$divisor_k$} & \small{$a_k$} & \small{$remainder_k$} \\
|
604 |
\small{($k$)} & & & & \\
|
605 |
\hline
|
606 |
\hline
|
607 |
\small{-1} & \small{N/A} & \small{67} & \small{N/A} & \small{29} \\
|
608 |
\hline
|
609 |
\small{0} & \small{67} & \small{29} & \small{2} & \small{9} \\
|
610 |
\hline
|
611 |
\small{1} & \small{29} & \small{9} & \small{3} & \small{2} \\
|
612 |
\hline
|
613 |
\small{2} & \small{9} & \small{2} & \small{4} & \small{1} \\
|
614 |
\hline
|
615 |
\small{3} & \small{2} & \small{1} & \small{2} & \small{0} \\
|
616 |
\hline
|
617 |
\end{tabular}
|
618 |
\end{center}
|
619 |
\end{table}
|
620 |
Table \ref{tbl:ccfr0:scrn0:01} shows the application of
|
621 |
Algorithm \ref{alg:ccfr0:scrn0:akgenalg} to find the
|
622 |
continued fraction partial quotients of $67/29$. From
|
623 |
Table \ref{tbl:ccfr0:scrn0:01}, the continued fraction
|
624 |
representation of $67/29$ is $[2;3,4,2]$.
|
625 |
\end{vworkexampleparsection}
|
626 |
\vworkexamplefooter{}
|
627 |
|
628 |
The process of obtaining the continued fraction representation of
|
629 |
a rational number is a
|
630 |
process of obtaining each partial quotient $a_i$, and then processing the
|
631 |
remainder at each step to obtain further partial quotients. Noting that
|
632 |
the dividend and divisor at each step come from previous remainders
|
633 |
(except for $k=0$ and $k=1$) allows us to simplify notation from
|
634 |
Algorithm \ref{alg:ccfr0:scrn0:akgenalg}. If $r_i$ is used to
|
635 |
denote the remainder from the division that produced $a_i$, the following
|
636 |
recursive equations come immediately.
|
637 |
|
638 |
\begin{equation}
|
639 |
\label{eq:ccfr0:scrn0:00a}
|
640 |
\frac{a}{b}
|
641 |
=
|
642 |
a_0 + \frac{r_0}{b}
|
643 |
=
|
644 |
a_0 + \frac{1}{\frac{b}{r_0}}
|
645 |
, \; 0 < r_0 < b
|
646 |
\end{equation}
|
647 |
|
648 |
\begin{equation}
|
649 |
\label{eq:ccfr0:scrn0:00b}
|
650 |
\frac{b}{r_0}
|
651 |
=
|
652 |
a_1 + \frac{r_1}{r_0}
|
653 |
, \; 0 < r_1 < r_0
|
654 |
\end{equation}
|
655 |
|
656 |
\begin{equation}
|
657 |
\label{eq:ccfr0:scrn0:00c}
|
658 |
\frac{r_0}{r_1}
|
659 |
=
|
660 |
a_2 + \frac{r_2}{r_1}
|
661 |
, \; 0 < r_2 < r_1
|
662 |
\end{equation}
|
663 |
|
664 |
\noindent{}Finally, nearing the termination of
|
665 |
Algorithm \ref{alg:ccfr0:scrn0:akgenalg}:
|
666 |
|
667 |
\begin{equation}
|
668 |
\label{eq:ccfr0:scrn0:00d}
|
669 |
\frac{r_{n-3}}{r_{n-2}}
|
670 |
=
|
671 |
a_{n-1} + \frac{r_{n-1}}{r_{n-2}}
|
672 |
, \; 0 < r_{n-1} < r_{n-2}
|
673 |
\end{equation}
|
674 |
|
675 |
\begin{equation}
|
676 |
\label{eq:ccfr0:scrn0:00e}
|
677 |
\frac{r_{n-2}}{r_{n-1}}
|
678 |
=
|
679 |
a_n
|
680 |
\end{equation}
|
681 |
|
682 |
A natural question to ask is whether Algorithm \ref{alg:ccfr0:scrn0:akgenalg}
|
683 |
will always terminate---that is, whether we can always find a continued
|
684 |
fraction representation of a rational number. We present this result
|
685 |
as Lemma \ref{lem:ccfr0:scrn0:alwaysterminates}.
|
686 |
|
687 |
\begin{vworklemmastatement}
|
688 |
\label{lem:ccfr0:scrn0:alwaysterminates}
|
689 |
Algorithm \ref{alg:ccfr0:scrn0:akgenalg} will always terminate: that is,
|
690 |
every rational number has a finite continued fraction representation
|
691 |
$[a_0; a_1, \ldots{} , a_n]$.
|
692 |
\end{vworklemmastatement}
|
693 |
\begin{vworklemmaproof}
|
694 |
Note in Algorithm \ref{alg:ccfr0:scrn0:akgenalg} and in
|
695 |
(\ref{eq:ccfr0:scrn0:00a}) through (\ref{eq:ccfr0:scrn0:00e})
|
696 |
that the remainder of one round becomes the divisor of the
|
697 |
next round, hence the remainders must form a decreasing sequence
|
698 |
|
699 |
\begin{equation}
|
700 |
\label{eq:lem:ccfr0:scrn0:alwaysterminates}
|
701 |
r_0 > r_1 > r_2 > \ldots{} > r_{n-2} > r_{n-1} ,
|
702 |
\end{equation}
|
703 |
|
704 |
because in general a remainder must be less than the divisor in
|
705 |
the division that created it.
|
706 |
\end{vworklemmaproof}
|
707 |
\vworklemmafooter{}
|
708 |
|
709 |
|
710 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
711 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
712 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
713 |
\section{Convergents And Intermediate Fractions}
|
714 |
%Section tag: CNV0
|
715 |
\label{ccfr0:scnf0}
|
716 |
|
717 |
Lemma \ref{lem:ccfr0:scrn0:alwaysterminates} shows that every
|
718 |
rational number has a finite continued fraction representation. A second
|
719 |
reasonable question to ask is whether every finite simple continued
|
720 |
fraction corresponds to a rational number. The most convincing way
|
721 |
to answer that question would be to devise a concrete procedure for
|
722 |
[re-]constructing a rational number from its continued fraction
|
723 |
representation.
|
724 |
|
725 |
Given a finite continued fraction $[a_0; a_1, \ldots{}, a_n]$, it is
|
726 |
obvious that a rational number can be constructed using the same
|
727 |
algebraic technique that would be applied by hand. Such a technique
|
728 |
involves ``reconstruction from the right'' because we would begin
|
729 |
by using $a_n$ and then work backwards to $a_0$. We illustrate
|
730 |
the most obvious technique with an example.
|
731 |
|
732 |
\begin{vworkexamplestatement}
|
733 |
\label{ex:ccfr0:scnv0:abreconstructionfromright:01}
|
734 |
Find a rational number $a/b$ corresponding to the
|
735 |
continued fraction $[2;3,4,2]$.
|
736 |
\end{vworkexamplestatement}
|
737 |
\begin{vworkexampleparsection}{Solution}
|
738 |
The most obvious technique is to write out the continued fraction and then to
|
739 |
algebraically simplify the continued fraction from the bottom up (this
|
740 |
is what we call ``working from the right'', as we begin with $a_n$).
|
741 |
(\ref{eq:ccfr0:scnv0:ex:abreconstructionfromright:00}) through
|
742 |
(\ref{eq:ccfr0:scnv0:ex:abreconstructionfromright:02})
|
743 |
illustrate this technique.
|
744 |
|
745 |
\begin{equation}
|
746 |
\label{eq:ccfr0:scnv0:ex:abreconstructionfromright:00}
|
747 |
[2;3,4,2] =
|
748 |
2 + \cfrac{1}{3 + \cfrac{1}{4 + \cfrac{1}{2}}}
|
749 |
\end{equation}
|
750 |
|
751 |
\begin{equation}
|
752 |
\label{eq:ccfr0:scnv0:ex:abreconstructionfromright:01}
|
753 |
[2;3,4,2] =
|
754 |
2 + \cfrac{1}{3 + \cfrac{2}{9}}
|
755 |
\end{equation}
|
756 |
|
757 |
\begin{equation}
|
758 |
\label{eq:ccfr0:scnv0:ex:abreconstructionfromright:02}
|
759 |
[2;3,4,2] =
|
760 |
2 + \frac{9}{29} = \frac{67}{29}
|
761 |
\end{equation}
|
762 |
|
763 |
\end{vworkexampleparsection}
|
764 |
\vworkexamplefooter{}
|
765 |
|
766 |
Although converting a continued fraction $[a_0; a_1, \ldots{}, a_n]$
|
767 |
to a rational number working ``from the right'' is the most
|
768 |
intuitively obvious technique because it mirrors how a
|
769 |
continued fraction would most naturally be simplified by
|
770 |
hand, it is also possible to convert a continued fraction to
|
771 |
a rational number ``from the left''. In all subsequent
|
772 |
discussions we embrace the ``from the left'' technique because
|
773 |
it allows us to more economically calculate \emph{convergents}, which
|
774 |
have special properties, and which we now describe.
|
775 |
|
776 |
\index{continued fraction!convergent}
|
777 |
The \emph{kth order convergent} of a continued fraction
|
778 |
$[a_0; a_1, \ldots{}, a_n]$ is the irreducible rational number
|
779 |
corresponding to $[a_0; a_1, \ldots{}, a_k]$, $k \leq n$.
|
780 |
In other words, the $k$th order convergent is the irreducible rational number
|
781 |
corresponding to the first $k+1$ partial quotients of a
|
782 |
continued fraction.\footnote{``$k+1$'' because the notational
|
783 |
numbering
|
784 |
for partial quotients starts at 0 rather than 1.}
|
785 |
|
786 |
An $n$th order continued fraction $[a_0; a_1, \ldots{}, a_n]$
|
787 |
has $n+1$ convergents, $[a_0]$,
|
788 |
$[a_0; a_1]$, \ldots{}, and $[a_0; a_1, \ldots{}, a_n]$.
|
789 |
We denote the $k$th order convergent as $s_k$, with numerator
|
790 |
$p_k$ and denominator $q_k$.
|
791 |
|
792 |
\begin{vworkexamplestatement}
|
793 |
\label{ex:ccfr0:scnv0:convergentexample:01}
|
794 |
Find all convergents of $[2;3,4,2]$.
|
795 |
\end{vworkexamplestatement}
|
796 |
\begin{vworkexampleparsection}{Solution}\hspace{-0.4em}\footnote{Canonically, it is
|
797 |
required that all convergents be irreducible. Any valid method can be used to
|
798 |
calculate convergents---including algebraic simplification---so long as the
|
799 |
rational numbers obtained are irreducible.}
|
800 |
\begin{equation}
|
801 |
s_0 = [a_0] = [2] = 2 = \frac{2}{1} = \frac{p_0}{q_0}
|
802 |
\end{equation}
|
803 |
|
804 |
\begin{equation}
|
805 |
s_1 = [a_0;a_1] = [2;3] = 2 + \frac{1}{3} = \frac{7}{3} = \frac{p_1}{q_1}
|
806 |
\end{equation}
|
807 |
|
808 |
\begin{equation}
|
809 |
s_2 = [a_0;a_1,a_2] =
|
810 |
[2;3,4] =
|
811 |
2 + \cfrac{1}{3 + \cfrac{1}{4}} = \frac{30}{13} = \frac{p_2}{q_2}
|
812 |
\end{equation}
|
813 |
|
814 |
\begin{equation}
|
815 |
s_3 = [a_0;a_1,a_2,a_3] = [2;3,4,2] =
|
816 |
2 + \cfrac{1}{3 + \cfrac{1}{4 + \cfrac{1}{2}}} = \frac{67}{29} = \frac{p_3}{q_3}
|
817 |
\end{equation}
|
818 |
\end{vworkexampleparsection}
|
819 |
\vworkexamplefooter{}
|
820 |
|
821 |
We now move on to the question of how to convert a continued fraction
|
822 |
to a rational number ``from the left''. We present the
|
823 |
canonical algorithm for construction of convergents ``from the left''.
|
824 |
In addition
|
825 |
to producing irreducible rational numbers (we prove this property
|
826 |
later), the algorithm is
|
827 |
convenient because it is economical---lower-order convergents
|
828 |
are used in the calculation of higher-order convergents and there
|
829 |
are no wasted calculations.
|
830 |
|
831 |
\begin{vworktheoremstatementpar}{Rule For Canonical Construction Of Continued Fraction
|
832 |
Convergents}
|
833 |
\label{thm:ccfr0:scnv0:canonicalconvergentconstruction}
|
834 |
The numerators $p_i$ and the denominators $q_i$ of the $i$th
|
835 |
convergent $s_i$ of the continued fraction
|
836 |
$[a_0;a_1, \ldots{} , a_n]$ satisfy the equations
|
837 |
|
838 |
\begin{eqnarray}
|
839 |
\label{eq:thm:ccfr0:scnv0:canonicalconvergentconstruction:01}
|
840 |
p_i & = & a_i p_{i-1} + p_{i-2} \\
|
841 |
\label{eq:thm:ccfr0:scnv0:canonicalconvergentconstruction:02}
|
842 |
q_i & = & a_i q_{i-1} + q_{i-2}
|
843 |
\end{eqnarray}
|
844 |
|
845 |
\noindent{}with the initial values
|
846 |
|
847 |
\begin{eqnarray}
|
848 |
\label{eq:thm:ccfr0:scnv0:canonicalconvergentconstruction:03}
|
849 |
p_0 = a_0, & & p_1 = a_0 a_1 + 1, \\
|
850 |
\label{eq:thm:ccfr0:scnv0:canonicalconvergentconstruction:04}
|
851 |
q_0 = 1, & & q_1 = a_1 .
|
852 |
\end{eqnarray}
|
853 |
\end{vworktheoremstatementpar}
|
854 |
\begin{vworktheoremproof}\hspace{-0.4em}\footnote{Reproduced nearly
|
855 |
verbatim from \cite{bibref:b:OldsClassic}, Theorem 1.3, pp. 21-23.}
|
856 |
The proof is inductive. First, the case of $i=2$ is verified,
|
857 |
then an inductive step is used to show that the theorem applies
|
858 |
for $i \geq 3$.
|
859 |
|
860 |
To create a canonical form, we assign
|
861 |
$s_0 = [a_0] = p_0/q_0 = a_0/1$. Thus, in all cases, $p_0 = a_0$
|
862 |
and $q_0 = 1$. Similarly, to create a unique canonical form,
|
863 |
|
864 |
\begin{equation}
|
865 |
\label{eq:thm:ccfr0:scnv0:canonicalconvergentconstruction:05}
|
866 |
s_1 = [a_0;a_1] = a_0 + \frac{1}{a_1} = \frac{a_0 a_1 + 1}{a_1} = \frac{p_1}{q_1} ,
|
867 |
\end{equation}
|
868 |
|
869 |
\noindent{}and canonically, $p_1 = a_0 a_1 + 1$ and $q_1 = a_1$.
|
870 |
|
871 |
For $i=2$, we need to verify that the algebraic results coincide with the
|
872 |
claims of the theorem. Simplifying $s_2$ algebraically leads to
|
873 |
|
874 |
\begin{equation}
|
875 |
\label{eq:thm:ccfr0:scnv0:canonicalconvergentconstruction:06}
|
876 |
\begin{array}{c}
|
877 |
s_2 = [a_0;a_1,a_2] =
|
878 |
a_0 + \cfrac{1}{a_1 + \cfrac{1}{a_2}} =
|
879 |
a_0 + \cfrac{1}{\cfrac{a_1 a_2 + 1}{a_2}} = a_0 + \cfrac{a_2}{a_1 a_2 + 1} \\
|
880 |
\\
|
881 |
=\cfrac{a_0 (a_1 a_2 + 1) + a_2}{a_1 a_2 + 1}
|
882 |
=\cfrac{a_2(a_0 a_1 + 1) + a_0}{a_2 a_1 + 1} .
|
883 |
\end{array}
|
884 |
\end{equation}
|
885 |
|
886 |
\noindent{}On the other hand, applying the recursive formula
|
887 |
claimed by the theorem (Eqns.
|
888 |
\ref{eq:thm:ccfr0:scnv0:canonicalconvergentconstruction:01},
|
889 |
\ref{eq:thm:ccfr0:scnv0:canonicalconvergentconstruction:02}) yields
|
890 |
|
891 |
\begin{equation}
|
892 |
\label{eq:thm:ccfr0:scnv0:canonicalconvergentconstruction:07}
|
893 |
s_2 = \frac{a_2 p_1 + p_0}{a_2 q_1 + q_0}
|
894 |
= \frac{a_2(a_0 a_1 + 1) + a_0}{a_2 (a_1) + 1} ,
|
895 |
\end{equation}
|
896 |
|
897 |
which, on inspection, is consistent with the results of
|
898 |
(\ref{eq:thm:ccfr0:scnv0:canonicalconvergentconstruction:06}).
|
899 |
|
900 |
We now prove the inductive step. Assume that
|
901 |
the recursive relationships supplied as
|
902 |
(\ref{eq:thm:ccfr0:scnv0:canonicalconvergentconstruction:01})
|
903 |
and (\ref{eq:thm:ccfr0:scnv0:canonicalconvergentconstruction:02})
|
904 |
hold up through some $s_k = p_k/q_k$. We would like to show that
|
905 |
(\ref{eq:thm:ccfr0:scnv0:canonicalconvergentconstruction:01})
|
906 |
and (\ref{eq:thm:ccfr0:scnv0:canonicalconvergentconstruction:02})
|
907 |
then hold for $s_{k+1}$.
|
908 |
|
909 |
$s_k$ is a fraction of the form
|
910 |
|
911 |
\begin{equation}
|
912 |
\label{eq:thm:ccfr0:scnv0:canonicalconvergentconstruction:07b}
|
913 |
s_k
|
914 |
=
|
915 |
[a_0; a_1, a_2, \ldots , a_k]
|
916 |
=
|
917 |
a_0 + \cfrac{1}{a_1 + \cfrac{1}{a_2
|
918 |
+ \cfrac{1}{\;\;\;\;\;\;\;\;\;\;\;\;\;\;\ldots +
|
919 |
\cfrac{1}{a_{k-1} + \cfrac{1}{a_k}}}}} .
|
920 |
\end{equation}
|
921 |
|
922 |
In order to form $s_{k+1}$, note that we can replace $a_k$ by
|
923 |
$a_k + 1/a_{k + 1}$. (Note that there is no requirement
|
924 |
in Eqns. \ref{eq:thm:ccfr0:scnv0:canonicalconvergentconstruction:01},
|
925 |
\ref{eq:thm:ccfr0:scnv0:canonicalconvergentconstruction:02},
|
926 |
\ref{eq:thm:ccfr0:scnv0:canonicalconvergentconstruction:06},
|
927 |
\ref{eq:thm:ccfr0:scnv0:canonicalconvergentconstruction:07},
|
928 |
or \ref{eq:thm:ccfr0:scnv0:canonicalconvergentconstruction:07b}
|
929 |
that the partial quotients $a_i$ be integers.)
|
930 |
In other words, we can form a
|
931 |
$k$th order continued fraction having the same value as a
|
932 |
$k+1$th order continued fraction by substituting
|
933 |
$a_k := a_k + \frac{1}{a_{k + 1}}$. Using this substitution
|
934 |
we can calculate $s_{k+1}$ using the same recursive
|
935 |
relationship shown to be valid in calculating $s_k$:
|
936 |
|
937 |
\begin{equation}
|
938 |
\label{eq:thm:ccfr0:scnv0:canonicalconvergentconstruction:08}
|
939 |
\begin{array}{c}
|
940 |
s_{k+1} =
|
941 |
\cfrac
|
942 |
{\left( {a_k+\cfrac{1}{a_{k+1}} } \right) p_{k-1} + p_{k-2}}
|
943 |
{\left( {a_k+\cfrac{1}{a_{k+1}} } \right) q_{k-1} + q_{k-2}}
|
944 |
=
|
945 |
\cfrac
|
946 |
{(a_k a_{k+1} + 1) p_{k-1} + a_{k+1} p_{k-2}}
|
947 |
{(a_k a_{k+1} + 1) q_{k-1} + a_{k+1} q_{k-2}} \\
|
948 |
\\
|
949 |
=
|
950 |
\cfrac
|
951 |
{a_{k+1} (a_k p_{k-1} + p_{k-2}) + p_{k-1}}
|
952 |
{a_{k+1} (a_k q_{k-1} + q_{k-2}) + q_{k-1}}
|
953 |
\end{array}
|
954 |
\end{equation}
|
955 |
|
956 |
Now, we can use the assumption that the recursive relationships
|
957 |
hold for $s_k$, i.e.
|
958 |
|
959 |
\begin{eqnarray}
|
960 |
\label{eq:thm:ccfr0:scnv0:canonicalconvergentconstruction:09}
|
961 |
p_k = a_k p_{k-1} + p_{k-2} \\
|
962 |
\label{eq:thm:ccfr0:scnv0:canonicalconvergentconstruction:10}
|
963 |
q_k = a_k q_{k-1} + q_{k-2}
|
964 |
\end{eqnarray}
|
965 |
|
966 |
Substituting
|
967 |
(\ref{eq:thm:ccfr0:scnv0:canonicalconvergentconstruction:09}) and
|
968 |
(\ref{eq:thm:ccfr0:scnv0:canonicalconvergentconstruction:10}) into
|
969 |
(\ref{eq:thm:ccfr0:scnv0:canonicalconvergentconstruction:08}) yields
|
970 |
|
971 |
\begin{equation}
|
972 |
\label{eq:thm:ccfr0:scnv0:canonicalconvergentconstruction:11}
|
973 |
s_{k+1} = \frac{p_{k+1}}{q_{k+1}}
|
974 |
= \frac{a_{k+1} p_k + p_{k-1}}{a_{k+1} q_k + q_{k-1}} .
|
975 |
\end{equation}
|
976 |
|
977 |
\noindent{}This completes the inductive step and the proof.
|
978 |
\end{vworktheoremproof}
|
979 |
\begin{vworktheoremparsection}{Remarks}
|
980 |
Note that this algorithm gives a way to convert a continued fraction
|
981 |
$[a_0;a_1,\ldots{},a_n]$ to a rational number $a/b$, as the value of
|
982 |
a continued fraction is the value of the final convergent $s_n$.
|
983 |
Note also that it is possible to convert a continued fraction to
|
984 |
a rational number starting from $a_n$ (i.e. working ``from
|
985 |
the right''), and that starting with $a_n$ is probably the
|
986 |
more intuitive approach.
|
987 |
\end{vworktheoremparsection}
|
988 |
\vworktheoremfooter{}
|
989 |
|
990 |
It is sometimes convenient to consider a convergent of order
|
991 |
$-1$ (\cite{bibref:b:KhinchinClassic}, p. 5), and for
|
992 |
algebraic convenience to adopt the convention that
|
993 |
$p_{-1} = 1$ and $q_{-1} = 0$. If this is done, the recursive
|
994 |
relationships of Theorem \ref{thm:ccfr0:scnv0:canonicalconvergentconstruction}
|
995 |
apply for $k \geq 1$ rather than for $k \geq 2$. All of the subsequent
|
996 |
theorems and proofs assume this convention.
|
997 |
|
998 |
We now prove several properties of convergents.
|
999 |
|
1000 |
\begin{vworktheoremstatement}
|
1001 |
\label{thm:ccfr0:scnv0:crossproductminusone}
|
1002 |
For all $k \geq 0$,
|
1003 |
|
1004 |
\begin{equation}
|
1005 |
\label{eq:ccfr0:scnv0:thm:crossproductminusone:00}
|
1006 |
q_k p_{k-1} - p_k q_{k-1} = (-1)^k
|
1007 |
\end{equation}
|
1008 |
\end{vworktheoremstatement}
|
1009 |
\begin{vworktheoremproof}\hspace{-0.4em}\footnote{From
|
1010 |
\cite{bibref:b:KhinchinClassic}, Theorem 2, p. 5.}
|
1011 |
Multiplying (\ref{eq:thm:ccfr0:scnv0:canonicalconvergentconstruction:01})
|
1012 |
by $p_{k-1}$, multiplying
|
1013 |
(\ref{eq:thm:ccfr0:scnv0:canonicalconvergentconstruction:02}) by
|
1014 |
$q_{k-1}$, then subtracting the equations yields
|
1015 |
|
1016 |
\begin{equation}
|
1017 |
\label{eq:ccfr0:scnv0:thm:crossproductminusone:01}
|
1018 |
q_k p_{k-1} - p_k q_{k-1} = -(q_{k-1} p_{k-2} - p_{k-1} q_{k-2}) ,
|
1019 |
\end{equation}
|
1020 |
|
1021 |
and since $q_0 p_{-1} - p_0 q_{-1} = 1$, the theorem is
|
1022 |
proved.
|
1023 |
\end{vworktheoremproof}
|
1024 |
\begin{vworktheoremparsection}{Corollary I}
|
1025 |
For all $k \geq 1$,
|
1026 |
|
1027 |
\begin{equation}
|
1028 |
\label{eq:ccfr0:scnv0:thm:crossproductminusone:02}
|
1029 |
\frac{p_{k-1}}{q_{k-1}} - \frac{p_k}{q_k} = \frac{(-1)^k}{q_k q_{k-1}} .
|
1030 |
\end{equation}
|
1031 |
\end{vworktheoremparsection}
|
1032 |
\begin{vworktheoremproof}
|
1033 |
(\ref{eq:ccfr0:scnv0:thm:crossproductminusone:02}) can be obtained
|
1034 |
in a straightforward way by algebraic operations on
|
1035 |
(\ref{eq:ccfr0:scnv0:thm:crossproductminusone:00}).
|
1036 |
\end{vworktheoremproof}
|
1037 |
%\vworktheoremfooter{}
|
1038 |
|
1039 |
\begin{vworktheoremstatement}
|
1040 |
\label{thm:ccfr0:scnv0:crossproductminusonebacktwo}
|
1041 |
For all $k \geq 1$,
|
1042 |
|
1043 |
\begin{equation}
|
1044 |
q_k p_{k-2} - p_k q_{k-2} = (-1)^{k-1} a_k .
|
1045 |
\end{equation}
|
1046 |
\end{vworktheoremstatement}
|
1047 |
\begin{vworktheoremproof}\hspace{-0.4em}\footnote{From
|
1048 |
\cite{bibref:b:KhinchinClassic}, Theorem 3, p. 6.}
|
1049 |
By multiplying (\ref{eq:thm:ccfr0:scnv0:canonicalconvergentconstruction:01})
|
1050 |
by $q_{k-2}$ and
|
1051 |
(\ref{eq:thm:ccfr0:scnv0:canonicalconvergentconstruction:02})
|
1052 |
by $p_{k-2}$ and then subtracting the first from the
|
1053 |
second, we obtain, on the basis of Theorem
|
1054 |
\ref{thm:ccfr0:scnv0:crossproductminusone},
|
1055 |
|
1056 |
\begin{equation}
|
1057 |
q_k p_{k-2} - p_k q_{k-2}
|
1058 |
= a_k (q_{k-1} p_{k-2} - p_{k-1} q_{k-2}) = (-1)^{k-1} a_k ,
|
1059 |
\end{equation}
|
1060 |
which completes the proof.
|
1061 |
\end{vworktheoremproof}
|
1062 |
\vworktheoremfooter{}
|
1063 |
|
1064 |
The results in Theorems \ref{thm:ccfr0:scnv0:crossproductminusone}
|
1065 |
and \ref{thm:ccfr0:scnv0:crossproductminusonebacktwo} allow us
|
1066 |
to establish the relative ordering of convergents.
|
1067 |
Theorems \ref{thm:ccfr0:scnv0:crossproductminusone} and
|
1068 |
\ref{thm:ccfr0:scnv0:crossproductminusonebacktwo} demonstrate that
|
1069 |
even-ordered convergents form an increasing sequence and that odd-ordered
|
1070 |
convergents form a decreasing sequence, and that every odd-ordered convergent
|
1071 |
is greater than every even-ordered convergent.
|
1072 |
|
1073 |
\begin{vworktheoremstatement}
|
1074 |
\label{thm:ccfr0:scnv0:irreducibility}
|
1075 |
For all $k \geq 0$, $s_k = p_k/q_k$ is
|
1076 |
irreducible.
|
1077 |
\end{vworktheoremstatement}
|
1078 |
\begin{vworktheoremproof}
|
1079 |
This proof comes immediately from the form
|
1080 |
of (\ref{eq:ccfr0:scnv0:thm:crossproductminusone:00}).
|
1081 |
Without coprimality of $p_k$ and $q_k$, the difference
|
1082 |
of $\pm 1$ is impossible (see
|
1083 |
\cprizeroxrefcomma{}Lemma \ref{lem:cpri0:ppn0:000p}).
|
1084 |
\end{vworktheoremproof}
|
1085 |
%\vworktheoremfooter{}
|
1086 |
|
1087 |
\begin{vworkexamplestatement}
|
1088 |
\label{ex:ccfr0:scrn0:abreconstruction:01}
|
1089 |
Find an irreducible rational number $a/b$ corresponding to the
|
1090 |
continued fraction $[2;3,4,2]$.
|
1091 |
\end{vworkexamplestatement}
|
1092 |
\begin{vworkexampleparsection}{Solution}
|
1093 |
Application of Theorem \ref{thm:ccfr0:scnv0:canonicalconvergentconstruction}
|
1094 |
yields the following convergents. The final convergent $s_3$ is the
|
1095 |
value of the continued fraction $[2;3,4,2]$ and Theorem
|
1096 |
\ref{thm:ccfr0:scnv0:irreducibility} assures us that each convergent is
|
1097 |
irreducible.
|
1098 |
|
1099 |
\begin{equation}
|
1100 |
\label{eq:ccfr0:scrn0:02a}
|
1101 |
p_{-1} = 1, \; q_{-1} = 0
|
1102 |
\end{equation}
|
1103 |
|
1104 |
\begin{equation}
|
1105 |
\label{eq:ccfr0:scrn0:02b}
|
1106 |
s_0 = \frac{p_0}{q_0} = \frac{a_0}{1} = \frac{2}{1}
|
1107 |
\end{equation}
|
1108 |
|
1109 |
\begin{equation}
|
1110 |
\label{eq:ccfr0:scrn0:02c}
|
1111 |
s_1 = \frac{p_1}{q_1} = \frac{a_1 p_0 + p_{-1}}{a_1 q_0 + q_{-1}}
|
1112 |
= \frac{(3)(2) + (1)}{(3)(1)+(0)}
|
1113 |
= \frac{7}{3}
|
1114 |
\end{equation}
|
1115 |
|
1116 |
\begin{equation}
|
1117 |
\label{eq:ccfr0:scrn0:02d}
|
1118 |
s_2 = \frac{p_2}{q_2} = \frac{a_2 p_1 + p_{0}}{a_2 q_1 + q_{0}}
|
1119 |
= \frac{(4)(7) + (2)}{(4)(3)+(1)}
|
1120 |
= \frac{30}{13}
|
1121 |
\end{equation}
|
1122 |
|
1123 |
\begin{equation}
|
1124 |
\label{eq:ccfr0:scrn0:02e}
|
1125 |
s_3 = \frac{p_3}{q_3} = \frac{a_3 p_2 + p_{1}}{a_3 q_2 + q_{1}}
|
1126 |
= \frac{(2)(30) + (7)}{(2)(13)+(3)}
|
1127 |
= \frac{67}{29}
|
1128 |
\end{equation}
|
1129 |
|
1130 |
Note that this result coincides with
|
1131 |
Example \ref{ex:ccfr0:scrn0:01}.
|
1132 |
\end{vworkexampleparsection}
|
1133 |
\vworkexamplefooter{}
|
1134 |
|
1135 |
We've shown in Algorithm \ref{alg:ccfr0:scrn0:akgenalg}
|
1136 |
that any rational number can be expressed as a continued fraction, and
|
1137 |
with Theorem \ref{thm:ccfr0:scnv0:canonicalconvergentconstruction}
|
1138 |
that any finite continued fraction can be converted to a rational
|
1139 |
number. Although we don't say more until Section \ref{ccfr0:scin0},
|
1140 |
it follows directly that any irrational number results in
|
1141 |
an \emph{infinite} (or non-terminating) continued fraction, and that
|
1142 |
any infinite continued fraction represents an irrational number.
|
1143 |
In the theorems that follow, we don't treat infinite continued
|
1144 |
fractions with mathematical rigor, because our emphasis is on
|
1145 |
specific applications of continued fractions.
|
1146 |
|
1147 |
\begin{vworktheoremstatement}
|
1148 |
\label{thm:ccfr0:scnv0:evenslessthanoddsgreaterthan}
|
1149 |
For a finite continued fraction representation of
|
1150 |
the [rational] number $\alpha$, every even-ordered convergent
|
1151 |
is less than $\alpha$ and every odd-ordered convergent is
|
1152 |
greater than $\alpha$, with the exception of the final convergent
|
1153 |
$s_n$, which is equal to $\alpha$.
|
1154 |
For an infinite continued fraction corresponding to the
|
1155 |
[irrational] real
|
1156 |
number $\alpha$, every even-ordered convergent is less than
|
1157 |
$\alpha$, and every odd-ordered convergent is greater than
|
1158 |
$\alpha$.
|
1159 |
\end{vworktheoremstatement}
|
1160 |
\begin{vworktheoremparsection}{Proof (Informal)}
|
1161 |
In the case of a finite continued fraction, the proof is obvious
|
1162 |
and immediate. Since $s_n$, the final convergent, is equal
|
1163 |
to the rational number $\alpha$, Theorems \ref{thm:ccfr0:scnv0:crossproductminusone}
|
1164 |
and \ref{thm:ccfr0:scnv0:crossproductminusonebacktwo} demonstrate this
|
1165 |
unequivocally.
|
1166 |
|
1167 |
In the case of an infinite continued fraction,
|
1168 |
note the form of the proof of Theorem
|
1169 |
\ref{thm:ccfr0:scnv0:canonicalconvergentconstruction},
|
1170 |
where the substitution of $a_k := a_k + 1/a_{k+1}$
|
1171 |
is made. It can be demonstrated that for any even-ordered
|
1172 |
convergent $s_k$, additional partial quotients (except
|
1173 |
$a_{k+1} = a_n = 1$, which isn't allowed in general or even
|
1174 |
possible with an infinite continued fraction) can only
|
1175 |
increase the value. It can similarly be demonstrated that
|
1176 |
additional partial quotients can only decrease the value
|
1177 |
of an odd-ordered convergent. Because the continued fraction
|
1178 |
is infinite, any particular even-ordered convergent will be
|
1179 |
increased if more partial quotients are allowed, and any particular
|
1180 |
odd-ordered convergent will be decreased in value if more
|
1181 |
partial quotients are allowed. Thus, we can conclude that
|
1182 |
all even-ordered convergents are less than the value of
|
1183 |
$\alpha$, and all odd-ordered convergents are greater
|
1184 |
than the value of $\alpha$.\footnote{To make this proof more
|
1185 |
formal would require the discussion of \emph{remainders},
|
1186 |
which wouldn't contribute to the applications discussed in this
|
1187 |
work.}
|
1188 |
\end{vworktheoremparsection}
|
1189 |
%\vworktheoremfooter{}
|
1190 |
|
1191 |
\begin{vworktheoremstatement}
|
1192 |
\label{thm:ccfr0:scnv0:minimumrateofconvergentdenominatorincrease}
|
1193 |
For $k \geq 2$,
|
1194 |
|
1195 |
\begin{equation}
|
1196 |
q_k \geq 2^{\frac{k-1}{2}} .
|
1197 |
\end{equation}
|
1198 |
\end{vworktheoremstatement}
|
1199 |
\begin{vworktheoremproof}\hspace{-0.4em}\footnote{From
|
1200 |
\cite{bibref:b:KhinchinClassic}, Theorem 12, p. 13.}
|
1201 |
For $k \geq 2$,
|
1202 |
|
1203 |
\begin{equation}
|
1204 |
q_k = a_k q_{k-1} + q_{k-2} \geq q_{k-1} + q_{k-2} \geq 2 q_{k-2} .
|
1205 |
\end{equation}
|
1206 |
|
1207 |
Successive application of this inequality yields
|
1208 |
|
1209 |
\begin{equation}
|
1210 |
q_{2k} \geq 2^k q_0 = 2^k, \; q_{2k+1} \geq 2^k q_1 \geq 2^k ,
|
1211 |
\end{equation}
|
1212 |
|
1213 |
which proves the theorem. Thus, the denominators of convergents
|
1214 |
increase at least as rapidly as the terms of a geometric
|
1215 |
progression.
|
1216 |
\end{vworktheoremproof}
|
1217 |
\begin{vworktheoremparsection}{Remarks}
|
1218 |
(1) This minimum geometric rate of increase of denominators of convergents is how
|
1219 |
we make the claim that Algorithms
|
1220 |
\ref{alg:ccfr0:scba0:cfenclosingneighborsfn} and
|
1221 |
\ref{alg:ccfr0:scba0:cffareyneighborfn} are $O(log \; N)$ and
|
1222 |
that Algorithms
|
1223 |
\ref{alg:ccfr0:scba0:cfenclosingneighborsfab}
|
1224 |
and \ref{alg:ccfr0:scba0:cffareyneighborfab} are
|
1225 |
$O(log \; max(h_{MAX}, k_{MAX}))$.
|
1226 |
(2) This theorem supplies the \emph{minimum} rate of increase,
|
1227 |
but the demonominators of convergents can increase much faster. To achieve
|
1228 |
the minimum rate of increase, every $a_k$ must be 1, which occurs
|
1229 |
only with the continued fraction representation of
|
1230 |
$\sqrt{5}/2 + 1/2$ (the famous \index{golden ratio}golden ratio).
|
1231 |
(See also Exercise \ref{exe:cfr0:sexe0:c01}.)
|
1232 |
\end{vworktheoremparsection}
|
1233 |
\vworktheoremfooter{}
|
1234 |
|
1235 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
1236 |
|
1237 |
Since Theorem \ref{thm:ccfr0:scnv0:canonicalconvergentconstruction}
|
1238 |
provides a concrete
|
1239 |
procedure for going from a continued fraction $[a_0; a_1, \ldots{} , a_n]$
|
1240 |
to a rational number $a/b$ that, when Algorithm \ref{alg:ccfr0:scrn0:akgenalg}
|
1241 |
is applied, will again result in $[a_0; a_1, \ldots{} , a_n]$, we have
|
1242 |
successfully demonstrated that every continued fraction
|
1243 |
$[a_0; a_1, \ldots{} , a_n]$ corresponds to [at least one]
|
1244 |
rational number $a/b$.
|
1245 |
|
1246 |
The next natural questions to ask are questions of representation
|
1247 |
uniqueness and the nature of the mapping between the set of rational numbers
|
1248 |
and the set of continued fractions. For example, will 32/100 and 64/200 have
|
1249 |
the same continued fraction representation $[a_0; a_1, \ldots{} , a_n]$?
|
1250 |
Do two different continued fractions ever correspond
|
1251 |
to the same rational number? We answer these questions now.
|
1252 |
|
1253 |
Algorithm \ref{alg:ccfr0:scrn0:akgenalg} will produce the
|
1254 |
same $[a_0; a_1, \ldots{} , a_n]$ for any $ia/ib$, i.e. all rational numbers
|
1255 |
which are equivalent in value will generate the same continued fraction
|
1256 |
representation (see Lemma \ref{lem:ccfr0:scrn0:aoverbneednotbeirreducible}).
|
1257 |
|
1258 |
It was hinted in the introduction (Section
|
1259 |
\ref{ccfr0:sint0}, Footnote \ref{footnote:ccfr0:sint0:00})
|
1260 |
that, except in the case of representing an integer, it is
|
1261 |
not allowed for the final partial quotient $a_n$ to be 1.
|
1262 |
We now explain the reasons why this must be disallowed. First,
|
1263 |
if $a_n = 1$, then $a_{n-1}$ can be increased by 1 and
|
1264 |
the continued fraction can be reduced in order
|
1265 |
by 1 and while still preserving its value. For example, it
|
1266 |
can easily be verified that $[1;2,3,3,1]$ and $[1;2,3,4]$
|
1267 |
represent the same number. However, this observation alone
|
1268 |
is not enough to recommend a canonical form---this observation
|
1269 |
does not suggest that $[1;2,3,4]$ should be preferred
|
1270 |
over $[1;2,3,3,1]$. However, what \emph{can} be noted is that
|
1271 |
that a continued fraction representation with $a_n=1$, $n>0$
|
1272 |
cannot be attained using Algorithm \ref{alg:ccfr0:scrn0:akgenalg} or
|
1273 |
(\ref{eq:ccfr0:scrn0:00a}) through (\ref{eq:ccfr0:scrn0:00e}),
|
1274 |
because a form with $a_n=1$, $n>0$ violates the assumption that
|
1275 |
successive remainders are ever-decreasing (see Eq.
|
1276 |
\ref{eq:lem:ccfr0:scrn0:alwaysterminates}). The property that
|
1277 |
remainders are ever-decreasing is a necessary condition in
|
1278 |
proofs of some important properties, and so requiring
|
1279 |
that $a_n \neq{} 1$, $n>0$
|
1280 |
is the most natural convention for a canonical form.
|
1281 |
|
1282 |
\begin{vworklemmastatement}
|
1283 |
\label{lem:ccfr0:scrn0:aoverbneednotbeirreducible}
|
1284 |
Algorithm \ref{alg:ccfr0:scrn0:akgenalg} will
|
1285 |
produce the same result
|
1286 |
$[a_0; a_1, \ldots{} , a_n]$ for any
|
1287 |
$ia/ib$, i.e. $a/b$ need not be reduced before the algorithm
|
1288 |
is applied.
|
1289 |
\end{vworklemmastatement}
|
1290 |
\begin{vworklemmaproof}
|
1291 |
Assume that $a/b$ is irreducible, and that $ia/ib$,
|
1292 |
$i \in \{ 2, 3, \ldots \}$ is used as input to
|
1293 |
the algorithm. By definition, any rational number
|
1294 |
with the same value as $a/b$ is of the form $ia/ib$,
|
1295 |
$i \in \vworkintsetpos$.
|
1296 |
Note that (\ref{eq:ccfr0:scrn0:00a}) through
|
1297 |
(\ref{eq:ccfr0:scrn0:00e}) ``scale up'', while still producing
|
1298 |
the same partial quotients $[a_0; a_1, \ldots{} , a_n]$.
|
1299 |
Specifically:
|
1300 |
|
1301 |
\begin{equation}
|
1302 |
\label{eq:ccfr0:scrn0:10a}
|
1303 |
\frac{ia}{ib}
|
1304 |
=
|
1305 |
a_0 + \frac{ir_0}{ib}
|
1306 |
=
|
1307 |
a_0 + \frac{1}{\frac{ib}{ir_0}}
|
1308 |
\end{equation}
|
1309 |
|
1310 |
\begin{equation}
|
1311 |
\label{eq:ccfr0:scrn0:10b}
|
1312 |
\frac{ib}{ir_0}
|
1313 |
=
|
1314 |
a_1 + \frac{ir_1}{ir_0}
|
1315 |
\end{equation}
|
1316 |
|
1317 |
\begin{equation}
|
1318 |
\label{eq:ccfr0:scrn0:10c}
|
1319 |
\frac{ir_0}{ir_1}
|
1320 |
=
|
1321 |
a_2 + \frac{ir_2}{ir_1}
|
1322 |
\end{equation}
|
1323 |
|
1324 |
\noindent{}Finally, nearing the termination of
|
1325 |
Algorithm \ref{alg:ccfr0:scrn0:akgenalg}:
|
1326 |
|
1327 |
\begin{equation}
|
1328 |
\label{eq:ccfr0:scrn0:10d}
|
1329 |
\frac{ir_{n-3}}{ir_{n-2}}
|
1330 |
=
|
1331 |
a_{n-1} + \frac{ir_{n-1}}{ir_{n-2}}
|
1332 |
\end{equation}
|
1333 |
|
1334 |
\begin{equation}
|
1335 |
\label{eq:ccfr0:scrn0:10e}
|
1336 |
\frac{ir_{n-2}}{ir_{n-1}}
|
1337 |
=
|
1338 |
a_n
|
1339 |
\end{equation}
|
1340 |
|
1341 |
Thus, it is easy to show that Algorithm \ref{alg:ccfr0:scrn0:akgenalg}
|
1342 |
will produce the same continued fraction representation regardless of whether
|
1343 |
the input to the algorithm is reduced. It is also easy to show that the
|
1344 |
last non-zero remainder as the algorithm is applied ($r_{n-1}$, in
|
1345 |
Eqns. \ref{eq:ccfr0:scrn0:10d} and \ref{eq:ccfr0:scrn0:10e})
|
1346 |
is the greatest common divisor of $ia$ and $ib$ (this is done
|
1347 |
in the proof of Algorithm \ref{alg:ccfr0:sega0:euclidsgcdalgorithm}).
|
1348 |
\end{vworklemmaproof}
|
1349 |
%\vworklemmafooter{}
|
1350 |
|
1351 |
\begin{vworklemmastatement}
|
1352 |
\label{lem:ccfr0:scrn0:cfrepresentationisunique}
|
1353 |
So long as $a_n \neq 1$, $n>0$, a rational number $a/b$ has only
|
1354 |
one [unique] continued fraction representation
|
1355 |
$[a_0; a_1, \ldots{} , a_n]$.
|
1356 |
\end{vworklemmastatement}
|
1357 |
\begin{vworklemmaproof}
|
1358 |
Assume that two different continued fractions,
|
1359 |
$[a_0; a_1, \ldots{} , a_m]$ and
|
1360 |
$[\overline{a_0}; \overline{a_1}, \ldots{} , \overline{a_n}]$,
|
1361 |
correspond to the same rational number $a/b$. By
|
1362 |
\emph{different}, we mean either that $m=n$ but
|
1363 |
$\exists i, a_i \neq \overline{a_i}$, or that $m \neq n$.
|
1364 |
|
1365 |
Note that Theorem \ref{thm:ccfr0:scnv0:canonicalconvergentconstruction}
|
1366 |
will map from any continued fraction to an irreducible rational
|
1367 |
number $a/b$. Assume we apply
|
1368 |
Theorem \ref{thm:ccfr0:scnv0:canonicalconvergentconstruction} to
|
1369 |
$[a_0; a_1, \ldots{} , a_m]$ to produce $a/b$, and
|
1370 |
to $[\overline{a_0}; \overline{a_1}, \ldots{} , \overline{a_n}]$
|
1371 |
to produce $\overline{a}/\overline{b}$. Because two irreducible
|
1372 |
rational numbers are equal iff their components are
|
1373 |
equal,
|
1374 |
$[(a/b) = (\overline{a}/\overline{b})] \vworkhimp{} %
|
1375 |
[(a = \overline{a}) \wedge (b = \overline{b})]$. Because
|
1376 |
$a/b = \overline{a}/\overline{b}$, we denote both of these
|
1377 |
numbers simply as $a/b$.
|
1378 |
|
1379 |
By (\ref{eq:ccfr0:scrn0:11a}),
|
1380 |
$a = a_0 b + r_0 = \overline{a_0} b + \overline{r_0}$,
|
1381 |
$0 < r_0, \overline{r_0} < b$. Because
|
1382 |
$r_0, \overline{r_0} < b$, there is only one combination
|
1383 |
of $a_0$ and $r_0$ or of $\overline{a_0}$ and
|
1384 |
$\overline{r_0}$ that can result in $a$. Thus, we can conclude
|
1385 |
that $a_0 = \overline{a_0}$ and
|
1386 |
$r_0 = \overline{r_0}$. This type of reasoning, can be
|
1387 |
carried ``downward'' inductively, each time fixing
|
1388 |
$a_{i}$ and $r_{i}$. Finally, we must conclude
|
1389 |
that $(a/b = \overline{a}/\overline{b}) \vworkhimp %
|
1390 |
[a_0; a_1, \ldots{} , a_m] = %
|
1391 |
[\overline{a_0}; \overline{a_1}, \ldots{} , \overline{a_n}]$
|
1392 |
and that $m=n$.
|
1393 |
\end{vworklemmaproof}
|
1394 |
\begin{vworklemmaparsection}{Remarks}
|
1395 |
The case of $a_n=1$, $n>0$ deserves further discussion.
|
1396 |
Theorem \ref{thm:ccfr0:scnv0:canonicalconvergentconstruction} will produce
|
1397 |
an irreducible rational number even if
|
1398 |
$a_n = 1$, $n>0$. How is it that uniqueness of representation can
|
1399 |
be claimed when clearly, for example, $[2;3,4,2]$ and $[2;3,4,1,1]$
|
1400 |
are the same number? The answer is that $a_n = 1$, $n>0$ requires
|
1401 |
that $r_{n-2}=r_{n-1}=1$, which violates the ``uniqueness'' assumption
|
1402 |
used in fixing $a_i$ and $r_i$ in the proof above---specifically note
|
1403 |
that the condition $0<r_{n-1}<r_{n-2}$ in (\ref{eq:ccfr0:scrn0:11d})
|
1404 |
is violated. If one is allowed to violate the required
|
1405 |
ever-decreasing remainders, then $a_i$ and $r_i$ cannot
|
1406 |
be uniquely fixed at each step of the proof, above.
|
1407 |
\end{vworklemmaparsection}
|
1408 |
\vworklemmafooter{}
|
1409 |
|
1410 |
\index{continued fraction!intermediate fraction}
|
1411 |
An \emph{intermediate fraction} is a fraction represented
|
1412 |
by the continued fraction representation of a $k$-th order
|
1413 |
convergent with the final partial quotient $a_k$ reduced
|
1414 |
(this can naturally only be done when $a_k > 1$). As Khinchin
|
1415 |
points out (\cite{bibref:b:KhinchinClassic}, p. 14):
|
1416 |
``\emph{In arithmetic applications, these intermediate
|
1417 |
fractions play an important role (though not as important
|
1418 |
a role as the convergents)}''.
|
1419 |
|
1420 |
The intermediate fractions (of a $k$-th order convergent)
|
1421 |
form a monotonically increasing or decreasing sequence of
|
1422 |
fractions (\cite{bibref:b:KhinchinClassic}, p. 13):
|
1423 |
|
1424 |
\begin{equation}
|
1425 |
\label{eq:ccfr0:scrn0:intermediatefrac01}
|
1426 |
\frac{p_{k-2}}{q_{k-2}},
|
1427 |
\frac{p_{k-2} + p_{k-1}}{q_{k-2} + q_{k-1}},
|
1428 |
\frac{p_{k-2} + 2 p_{k-1}}{q_{k-2} + 2 q_{k-1}},
|
1429 |
\ldots{} ,
|
1430 |
\frac{p_{k-2} + a_k p_{k-1}}{q_{k-2} + a_k q_{k-1}}
|
1431 |
=
|
1432 |
\frac{p_k}{q_k} .
|
1433 |
\end{equation}
|
1434 |
|
1435 |
Note in (\ref{eq:ccfr0:scrn0:intermediatefrac01}) that the
|
1436 |
first and last fractions are not intermediate fractions (rather, they are
|
1437 |
convergents).
|
1438 |
|
1439 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
1440 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
1441 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
1442 |
\section{Euclid's GCD Algorithm}
|
1443 |
%Section tag: EGA0
|
1444 |
\index{Euclid!GCD algorithm}
|
1445 |
|
1446 |
The apparatus of continued fractions is closely related to Euclid's GCD
|
1447 |
algorithm (in fact, historically, Euclid's GCD algorithm is considered
|
1448 |
a precursor of continued fractions). It was noted in
|
1449 |
Lemma \ref{lem:ccfr0:scrn0:aoverbneednotbeirreducible} that the last non-zero
|
1450 |
remainder when Algorithm \ref{alg:ccfr0:scrn0:akgenalg} is applied
|
1451 |
is the greatest common divisor of $a$ and $b$. In this section, we
|
1452 |
present Euclid's algorithm, prove it, and show it similarity to
|
1453 |
Algorithm \ref{alg:ccfr0:scrn0:akgenalg}.
|
1454 |
|
1455 |
Knuth (\cite{bibref:b:knuthclassic2ndedvol2}, p. 335) presents some background
|
1456 |
information about Euclid's GCD algorithm:
|
1457 |
|
1458 |
\begin{quote}
|
1459 |
Euclid's algorithm is found in Book 7, Propositions 1 and 2 of his
|
1460 |
\emph{Elements} (c. 300 B.C.), but it probably wasn't his own
|
1461 |
invention. Some scholars believe that the method was known up to
|
1462 |
200 years earlier, at least in its subtractive form, and it
|
1463 |
was almost certainly known to Eudoxus (c. 375 B.C.); see
|
1464 |
K. von Fritz, \emph{Ann. Math.} (2) \textbf{46} 1945, 242-264.
|
1465 |
Aristotle (c. 330 B.C.) hinted at it in his \emph{Topics}, 158b,
|
1466 |
29-35. However, very little hard evidence about such early history
|
1467 |
has survived [see. W. R. Knorr, \emph{The Evolution of the Euclidian
|
1468 |
Elements} (Dordrecht: 1975)].
|
1469 |
|
1470 |
We might call Euclid's method the granddaddy of all algorithms, because
|
1471 |
it is the oldest nontrivial algorithm that has survived to the present day.
|
1472 |
(The chief rival for this honor is perhaps the ancient Egyptian method
|
1473 |
for multiplication, which was based on doubling and adding, and which forms
|
1474 |
the basis for efficient calculation of \emph{n}th powers as explained
|
1475 |
in section 4.6.3. \ldots{})
|
1476 |
\end{quote}
|
1477 |
|
1478 |
\begin{vworkalgorithmstatementpar}
|
1479 |
{Euclid's GCD Algorithm For Greatest Common Divisor Of Positive
|
1480 |
Integers \mbox{\boldmath $a$}
|
1481 |
And \mbox{\boldmath $b$}}\hspace{-0.4em}\footnote{Knuth
|
1482 |
(\cite{bibref:b:knuthclassic2ndedvol2}, pp. 336-337) distinguishes between the \emph{original}
|
1483 |
Euclidian algorithm and the \emph{modern} Euclidian algorithm. The algorithm presented here
|
1484 |
is more closely patterned after the \emph{modern} Euclidian algorithm.}
|
1485 |
\label{alg:ccfr0:sega0:euclidsgcdalgorithm}
|
1486 |
\begin{alglvl0}
|
1487 |
\item If ($a < b$), swap $a$ and $b$.\footnote{This step isn't strictly necessary, but is usually done
|
1488 |
to save one iteration.}
|
1489 |
\item Repeat
|
1490 |
\begin{alglvl1}
|
1491 |
\item $r := a \; mod \; b$.
|
1492 |
\item If ($r = 0$), STOP.
|
1493 |
\item $a := b$.
|
1494 |
\item $b := r$.
|
1495 |
\end{alglvl1}
|
1496 |
\item \textbf{Exit condition:} $b$ will be the g.c.d. of $a$ and $b$.
|
1497 |
\end{alglvl0}
|
1498 |
\end{vworkalgorithmstatementpar}
|
1499 |
\begin{vworkalgorithmproof}
|
1500 |
Olds (\cite{bibref:b:OldsClassic}, pp. 16-17) shows the
|
1501 |
relationship between Algorithm
|
1502 |
\ref{alg:ccfr0:scrn0:akgenalg} and Euclid's algorithm, and presents
|
1503 |
a proof, which is reproduced nearly verbatim here.
|
1504 |
|
1505 |
First, note that $d$ is the GCD of $a$ and $b$ iff:
|
1506 |
|
1507 |
\begin{itemize}
|
1508 |
\item (Necessary Condition I) $d$ divides both $a$ and $b$, and
|
1509 |
\item (Necessary Condition II) any common divisor $c$ of $a$ and $b$ divides $d$.
|
1510 |
\end{itemize}
|
1511 |
|
1512 |
Essentially, we will prove that the final non-zero remainder
|
1513 |
when the algorithm is applied meets the two criteria above,
|
1514 |
and hence must be the GCD of $a$ and $b$.
|
1515 |
|
1516 |
Note that (\ref{eq:ccfr0:scrn0:00a}) through
|
1517 |
(\ref{eq:ccfr0:scrn0:00e}) can be rewritten as
|
1518 |
(\ref{eq:ccfr0:scrn0:11a}) through
|
1519 |
(\ref{eq:ccfr0:scrn0:11e}), which make them
|
1520 |
consistent with the form Olds' presents.
|
1521 |
|
1522 |
\begin{eqnarray}
|
1523 |
\label{eq:ccfr0:scrn0:11a}
|
1524 |
a = a_0 b + r_0, && 0 < r_0 < b \\
|
1525 |
\label{eq:ccfr0:scrn0:11b}
|
1526 |
b = a_1 r_0 + r_1, && 0 < r_1 < r_0 \\
|
1527 |
\label{eq:ccfr0:scrn0:11c}
|
1528 |
r_0 = a_2 r_1 + r_2, && 0 < r_2 < r_1 \\
|
1529 |
\ldots{}\hspace{-1.67em}&& \nonumber \\
|
1530 |
\label{eq:ccfr0:scrn0:11d}
|
1531 |
r_{n-3} = a_{n-1} r_{n-2} + r_{n-1}, && 0 < r_{n-1} < r_{n-2} \\
|
1532 |
\label{eq:ccfr0:scrn0:11e}
|
1533 |
r_{n-2} = a_n r_{n-1} + 0, && 0 = r_n
|
1534 |
\end{eqnarray}
|
1535 |
|
1536 |
First, we will show that \emph{Necessary Condition I}, above, is met.
|
1537 |
Note from (\ref{eq:ccfr0:scrn0:11e}) that $r_{n-1} \vworkdivides r_{n-2}$,
|
1538 |
since $r_{n-2}$ is an integer multiple of $r_{n-1}$. Note from
|
1539 |
(\ref{eq:ccfr0:scrn0:11d}) that $r_{n-1} \vworkdivides r_{n-3}$, since
|
1540 |
$r_{n-3}$ is also an integer multiple of $r_{n-1}$. This logic can
|
1541 |
be carried ``upward'' in the set of equations represented
|
1542 |
by (\ref{eq:ccfr0:scrn0:11a}) through (\ref{eq:ccfr0:scrn0:11e}),
|
1543 |
and we can finally conclude that $r_{n-1} \vworkdivides b$ and
|
1544 |
$r_{n-1} \vworkdivides a$. This proves \emph{Necessary Condition I}.
|
1545 |
|
1546 |
Second, we will show that \emph{Necessary Condition II}, above, is met.
|
1547 |
This time, in (\ref{eq:ccfr0:scrn0:11a}) through (\ref{eq:ccfr0:scrn0:11e}),
|
1548 |
we work top-down rather than bottom-up. Assume that $c$ is a divisor
|
1549 |
of $a$ and a divisor of $b$. Then, from the form of (\ref{eq:ccfr0:scrn0:11a}),
|
1550 |
$c$ divides $r_0$.\footnote{This implication may be counterintuitive
|
1551 |
at first glance. It concerns "reachability" of linear combinations
|
1552 |
of integers with a common divisor. Specifically, if
|
1553 |
$a$ and $b$ have a common divisor $c$, any linear combination
|
1554 |
$ia + jb$, ($i,j \in \vworkintset$), can ``reach'' only multiples of $c$.
|
1555 |
In (\ref{eq:ccfr0:scrn0:11a}), $(1)(a)+(-a_0)(b)=r_0$, thus
|
1556 |
$r_0$ must be a multiple of $c$. An identical argument applies for
|
1557 |
(\ref{eq:ccfr0:scrn0:11a}) through (\ref{eq:ccfr0:scrn0:11e}).}
|
1558 |
Similarly, from the form of (\ref{eq:ccfr0:scrn0:11b}),
|
1559 |
$c$ divides $r_1$. This rationale can be carried ``downward'' to finally
|
1560 |
conclude that $c$ divides $r_{n-1}$. Thus,
|
1561 |
$(c \vworkdivides a) \wedge (c \vworkdivides b) \vworkhimp (c \vworkdivides r_{n-1})$,
|
1562 |
where $r_{n-1}$ is the last non-zero remainder. This proves
|
1563 |
\emph{Necessary Condition II}.
|
1564 |
|
1565 |
Thus, $r_{n-1}$ is the GCD of $a$ and $b$.
|
1566 |
\end{vworkalgorithmproof}
|
1567 |
\begin{vworkalgorithmparsection}{Remarks}
|
1568 |
It is easy to observe that the only difference between
|
1569 |
Algorithm \ref{alg:ccfr0:scrn0:akgenalg} and
|
1570 |
Algorithm \ref{alg:ccfr0:sega0:euclidsgcdalgorithm} is
|
1571 |
that Algorithm \ref{alg:ccfr0:scrn0:akgenalg} records the
|
1572 |
quotient of each division, whereas
|
1573 |
Algorithm \ref{alg:ccfr0:sega0:euclidsgcdalgorithm}
|
1574 |
does not.
|
1575 |
\end{vworkalgorithmparsection}
|
1576 |
%\vworkalgorithmfooter{}
|
1577 |
|
1578 |
\begin{vworkexamplestatement}
|
1579 |
\label{ex:ccfr0:sega0:01}
|
1580 |
Use Euclid's algorithm to find the greatest common divisor
|
1581 |
of 1,736,651 and 26,023.
|
1582 |
\end{vworkexamplestatement}
|
1583 |
\begin{vworkexampleparsection}{Solution}
|
1584 |
\begin{table}
|
1585 |
\caption{Euclid's Algorithm Applied To Find Greatest Common Divisor Of 1,736,651 and 26,023
|
1586 |
(Example \ref{ex:ccfr0:sega0:01})}
|
1587 |
\label{tbl:ex:ccfr0:sega0:01}
|
1588 |
\begin{center}
|
1589 |
\begin{tabular}{|c|c|c|c|}
|
1590 |
\hline
|
1591 |
\small{Iteration} & \small{$a$} & \small{$b$} & \small{$r : = a \; mod \; b$} \\
|
1592 |
\hline
|
1593 |
\hline
|
1594 |
\small{1} & \small{1,736,651} & \small{26,023} & \small{19,133} \\
|
1595 |
\hline
|
1596 |
\small{2} & \small{26,023} & \small{19,133} & \small{6,890} \\
|
1597 |
\hline
|
1598 |
\small{3} & \small{19,133} & \small{6,890} & \small{5,353} \\
|
1599 |
\hline
|
1600 |
\small{4} & \small{6,890} & \small{5,353} & \small{1,537} \\
|
1601 |
\hline
|
1602 |
\small{5} & \small{5,353} & \small{1,537} & \small{742} \\
|
1603 |
\hline
|
1604 |
\small{6} & \small{1,537} & \small{742} & \small{53} \\
|
1605 |
\hline
|
1606 |
\small{7} & \small{742} & \small{53} & \small{0} \\
|
1607 |
\hline
|
1608 |
\end{tabular}
|
1609 |
\end{center}
|
1610 |
\end{table}
|
1611 |
Table \ref{tbl:ex:ccfr0:sega0:01} shows the application of
|
1612 |
Algorithm \ref{alg:ccfr0:sega0:euclidsgcdalgorithm} (Euclid's
|
1613 |
GCD algorithm) to find the greatest common divisor
|
1614 |
of 1,736,651 and 26,023. The last non-zero remainder (and hence
|
1615 |
the greatest common divisor) is 53.
|
1616 |
\end{vworkexampleparsection}
|
1617 |
\begin{vworkexampleparsection}{Remarks}
|
1618 |
The prime factorization of 1,736,651 is $151 \times 53 \times 31 \times 7$, and
|
1619 |
the prime factorization of 26,023 is $491 \times 53$, which is consistent
|
1620 |
with the result in Table \ref{tbl:ex:ccfr0:sega0:01}.
|
1621 |
\end{vworkexampleparsection}
|
1622 |
\vworkexamplefooter{}
|
1623 |
|
1624 |
|
1625 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
1626 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
1627 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
1628 |
\section[CF Representation Of Irrationals]
|
1629 |
{Continued Fraction Representation Of Irrational Numbers}
|
1630 |
%Section tag: CIN0
|
1631 |
\label{ccfr0:scin0}
|
1632 |
|
1633 |
\index{continued fraction!irrational numbers@of irrational numbers}
|
1634 |
\index{irrational number!continued fraction representation of}Irrational
|
1635 |
numbers (such as $\sqrt{2}$ or $\pi$) necessarily have infinite continued
|
1636 |
fraction representations (i.e. the representations do not terminate). This is clear, since
|
1637 |
Theorem \ref{thm:ccfr0:scnv0:canonicalconvergentconstruction} gives a concrete procedure
|
1638 |
for constructing a rational number from any \emph{finite} continued fraction;
|
1639 |
therefore a continued fraction corresponding to an irrational number
|
1640 |
cannot be finite.
|
1641 |
|
1642 |
The algorithm for determining the partial quotients of an irrational number is
|
1643 |
awkward, because it is a symbolic (rather than a numerical) algorithm.
|
1644 |
We present the algorithm here for perspective and completeness, although it
|
1645 |
is not often useful in practical engineering work. In practical work, an
|
1646 |
ordinary handheld calculator will supply a real number to far more precision
|
1647 |
than necessary, and the displayed real number can be converted to a rational
|
1648 |
number for the application of Algorithm \ref{alg:ccfr0:scrn0:akgenalg}.
|
1649 |
For practical work, it is rarely necessary to apply a Algorithm
|
1650 |
\ref{alg:ccfr0:scin0:symboliccfalgorithm}.
|
1651 |
|
1652 |
The symbolic algorithm for determining the continued fraction partial quotients
|
1653 |
of a real number is a recursive process very similar to the algorithm for
|
1654 |
determining the continued fraction partial quotients of a rational number.
|
1655 |
The essential activity is choosing the largest possible integer $a_i$ in each
|
1656 |
iteration.
|
1657 |
|
1658 |
Algorithm \ref{alg:ccfr0:scin0:symboliccfalgorithm} begins by choosing
|
1659 |
the largest integer $a_0$ not larger than $x$, then expressing $x$ as
|
1660 |
|
1661 |
\begin{equation}
|
1662 |
x = a_0 + \frac{1}{x_1} .
|
1663 |
\end{equation}
|
1664 |
|
1665 |
\noindent{}With $a_0$ chosen, $x_1$ can then be expressed as
|
1666 |
|
1667 |
\begin{equation}
|
1668 |
x_1 = \frac{1}{x - a_0} .
|
1669 |
\end{equation}
|
1670 |
|
1671 |
\noindent{}$x_1$ can then be expressed as
|
1672 |
|
1673 |
\begin{equation}
|
1674 |
x_1 = a_1 + \frac{1}{x_2} ,
|
1675 |
\end{equation}
|
1676 |
|
1677 |
\noindent{}and $a_1$, the largest integer not larger than $x_1$,
|
1678 |
can be chosen.
|
1679 |
This process can be continued indefinitely (with an irrational $x$, it won't terminate)
|
1680 |
to determine as many partial quotients as desired.
|
1681 |
|
1682 |
\begin{vworkalgorithmstatementpar}
|
1683 |
{Symbolic Algorithm For Obtaining
|
1684 |
Continued Fraction Representation Of An Irrational Number
|
1685 |
\mbox{\boldmath $x$}}
|
1686 |
\label{alg:ccfr0:scin0:symboliccfalgorithm}
|
1687 |
\begin{alglvl0}
|
1688 |
\item $x_0 := x$ (the real number whose partial quotients are desired).
|
1689 |
\item $k := -1$.
|
1690 |
\item Repeat
|
1691 |
\begin{alglvl1}
|
1692 |
\item $k := k + 1$.
|
1693 |
\item $a_k := \lfloor x_k \rfloor$.
|
1694 |
\item $x_{k+1} := \displaystyle{\frac{1}{x_k - a_k}}$.
|
1695 |
\end{alglvl1}
|
1696 |
\item Until (as many partial quotients as desired are obtained).
|
1697 |
\end{alglvl0}
|
1698 |
\end{vworkalgorithmstatementpar}
|
1699 |
%\vworkalgorithmfooter{}
|
1700 |
|
1701 |
\begin{vworkexamplestatement}
|
1702 |
\label{ex:ccfr0:scin0:symboliccfalgorithmexample}
|
1703 |
Find the first several continued fraction partial quotients of $\sqrt{3}$.
|
1704 |
\end{vworkexamplestatement}
|
1705 |
\begin{vworkexampleparsection}{Solution}
|
1706 |
Applying Algorithm \ref{alg:ccfr0:scin0:symboliccfalgorithm}:
|
1707 |
|
1708 |
\begin{equation}
|
1709 |
x_0 := x = \sqrt{3}
|
1710 |
\end{equation}
|
1711 |
|
1712 |
\begin{equation}
|
1713 |
k := -1
|
1714 |
\end{equation}
|
1715 |
|
1716 |
\begin{equation}
|
1717 |
k := k+1 = 0
|
1718 |
\end{equation}
|
1719 |
|
1720 |
\begin{equation}
|
1721 |
a_0 := \lfloor x_0 \rfloor = \lfloor \sqrt{3} \rfloor = 1
|
1722 |
\end{equation}
|
1723 |
|
1724 |
\begin{equation}
|
1725 |
x_1 := \frac{1}{x_0 - a_0}
|
1726 |
= \frac{1}{\sqrt{3}-1}
|
1727 |
= \frac{\sqrt{3}+1}{2}
|
1728 |
\end{equation}
|
1729 |
|
1730 |
\begin{equation}
|
1731 |
k := k + 1 = 1
|
1732 |
\end{equation}
|
1733 |
|
1734 |
\begin{equation}
|
1735 |
a_1 := \lfloor x_1 \rfloor =
|
1736 |
\left\lfloor {\frac{\sqrt{3}+1}{2}} \right\rfloor = 1
|
1737 |
\end{equation}
|
1738 |
|
1739 |
\begin{equation}
|
1740 |
x_2 := \frac{1}{x_1 - 1}
|
1741 |
= \frac{1}{\frac{\sqrt{3}+1}{2}-1}
|
1742 |
= \sqrt{3}+1
|
1743 |
\end{equation}
|
1744 |
|
1745 |
\begin{equation}
|
1746 |
k := k + 1 = 2
|
1747 |
\end{equation}
|
1748 |
|
1749 |
\begin{equation}
|
1750 |
a_2 := \lfloor x_2 \rfloor = \lfloor \sqrt{3}+1 \rfloor = 2
|
1751 |
\end{equation}
|
1752 |
|
1753 |
\begin{equation}
|
1754 |
x_3 := \frac{1}{(\sqrt{3}+1)-2} = \frac{\sqrt{3}+1}{2}
|
1755 |
\end{equation}
|
1756 |
|
1757 |
Note that $x_3 = x_1$, so the algorithm will repeat with
|
1758 |
$a_3=1$, $a_4=2$, $a_5=1$, $a_6=2$, etc. Thus, the continued
|
1759 |
fraction representation of $\sqrt{3}$ is
|
1760 |
$[1;1,2,1,2,1,2, \ldots{}]$ = $[1;\overline{1,2}]$.
|
1761 |
\end{vworkexampleparsection}
|
1762 |
\begin{vworkexampleparsection}{Remarks}
|
1763 |
\index{continued fraction!repeating}
|
1764 |
It can be proved that all continued fractions that repeat or repeat
|
1765 |
from some point onward
|
1766 |
represent real numbers of the form $\frac{P \pm \sqrt{D}}{Q}$,
|
1767 |
where $D \in \vworkintsetpos$ is not the square of an integer.
|
1768 |
It can also be shown
|
1769 |
that all numbers of this form result in continued fractions that
|
1770 |
repeat or repeat from some point onward. (See Olds
|
1771 |
\cite{bibref:b:OldsClassic}, Chapter 4.) It is beyond the scope
|
1772 |
of our interest in continued fractions to develop these properties.
|
1773 |
\end{vworkexampleparsection}
|
1774 |
\vworkexamplefooter{}
|
1775 |
|
1776 |
|
1777 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
1778 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
1779 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
1780 |
\section{Convergents As Best Approximations}
|
1781 |
%Section tag: CBA0
|
1782 |
|
1783 |
Up until this point, we've presented general properties of continued
|
1784 |
fractions and convergents without regard for practical applications.
|
1785 |
In this section, we present results and algorithms to use the
|
1786 |
apparatus of continued fractions to obtain best rational approximations.
|
1787 |
|
1788 |
Although we don't dwell on other algorithms for locating best
|
1789 |
rational approximations (we present only the single best
|
1790 |
algorithm), it is worth noting that there are many naive algorithms
|
1791 |
for locating best rational approximations. These include:
|
1792 |
|
1793 |
\begin{itemize}
|
1794 |
|
1795 |
\item Exhaustive search of the integer lattice
|
1796 |
[$O(h_{MAX} k_{MAX})$].
|
1797 |
|
1798 |
\item Building the Farey series starting at an
|
1799 |
integer [$O(max(h_{MAX}, k_{MAX})^2)$]
|
1800 |
(see Algorithm \cfryzeroxrefhyphen{}\ref{alg:cfry0:sgfs0:02}).
|
1801 |
|
1802 |
\item Building the Farey series starting at a rational number with
|
1803 |
a large prime denominator [$O(max(h_{MAX}, k_{MAX}))$].
|
1804 |
|
1805 |
\item Building the Stern-Brocot tree (see Section \ref{ccfr0:ssbt0})
|
1806 |
[$O(max(h_{MAX}, k_{MAX}))$].
|
1807 |
|
1808 |
\end{itemize}
|
1809 |
|
1810 |
Although we don't justify it formally,
|
1811 |
the continued fraction algorithms presented here are
|
1812 |
$O(log \; max(h_{MAX}, k_{MAX}))$.\footnote{Well,
|
1813 |
not exactly. In the classical computer science
|
1814 |
sense (speaking only in terms of number of operations),
|
1815 |
the algorithms are $O(log \; max(h_{MAX}, k_{MAX}))$. However,
|
1816 |
if $h_{MAX}$ and $k_{MAX}$ are increased beyond the sizes
|
1817 |
of integers that a computer can inherently accomodate, one must
|
1818 |
use long integer calculation software, which requires more time for
|
1819 |
each integer operation than is required for machine native
|
1820 |
integer sizes. As $h_{MAX}$ and $k_{MAX}$ are increased far
|
1821 |
beyond integer sizes accomodated inherently by the computer,
|
1822 |
the relationship surely is not $O(log \; max(h_{MAX}, k_{MAX}))$.}
|
1823 |
The basis on which we
|
1824 |
make that assertion is the geometric rate of
|
1825 |
increase of convergents (see Theorem
|
1826 |
\ref{thm:ccfr0:scnv0:minimumrateofconvergentdenominatorincrease}),
|
1827 |
which means that the number of steps required is tied to the
|
1828 |
logarithm of the maximum denominator involved, as it is
|
1829 |
necessary to obtain partial quotients and convergents only until
|
1830 |
$q_k \geq max(h_{MAX},k_{MAX})$.
|
1831 |
|
1832 |
\begin{vworktheoremstatement}
|
1833 |
\label{thm:ccfr0:scba0:convergentcloseness}
|
1834 |
In the case of an infinite continued fraction for $k \geq 0$ or in the
|
1835 |
case of a finite continued fraction for $0 \leq k < n-1$, a convergent
|
1836 |
$s_k = p_k/q_k$ to a [rational or irrational] number
|
1837 |
$\alpha \in \vworkrealsetnonneg$ satisfies
|
1838 |
|
1839 |
\begin{equation}
|
1840 |
\left| {\alpha - \frac{p_k}{q_k}} \right|
|
1841 |
<
|
1842 |
\frac{1}{q_k q_{k+1}} .
|
1843 |
\end{equation}
|
1844 |
|
1845 |
In the case of a finite continued fraction with $k = n-1$,
|
1846 |
|
1847 |
\begin{equation}
|
1848 |
\left| {\alpha - \frac{p_k}{q_k}} \right|
|
1849 |
=
|
1850 |
\frac{1}{q_k q_{k+1}} .
|
1851 |
\end{equation}
|
1852 |
\end{vworktheoremstatement}
|
1853 |
\begin{vworktheoremproof}
|
1854 |
The proof comes directly from Theorem
|
1855 |
\ref{thm:ccfr0:scnv0:crossproductminusone} (Corollary I)
|
1856 |
and Theorem
|
1857 |
\ref{thm:ccfr0:scnv0:evenslessthanoddsgreaterthan}.
|
1858 |
\end{vworktheoremproof}
|
1859 |
\begin{vworktheoremparsection}{Remarks}
|
1860 |
Khinchin describes this result (\cite{bibref:b:KhinchinClassic}, p. 9)
|
1861 |
as playing a basic role in the arithmetic
|
1862 |
applications of continued fractions. In fact, this theorem is used
|
1863 |
in the proof of Theorem
|
1864 |
\ref{thm:ccfr0:scba0:cfenclosingneighbors}.
|
1865 |
\end{vworktheoremparsection}
|
1866 |
\vworktheoremfooter{}
|
1867 |
|
1868 |
|
1869 |
We now present and prove the fundamental theorem of this chapter, which gives an
|
1870 |
$O(log \; N)$ algorithm for finding the enclosing neighbors in $F_N$ to an arbitrary
|
1871 |
rational number $a/b$.\footnote{\label{footnote:ccfr0:scba0:rationalitynotrequired}Theorem
|
1872 |
\ref{thm:ccfr0:scba0:cfenclosingneighbors}
|
1873 |
applies to irrational numbers as well,
|
1874 |
so long as one can obtain enough partial quotients, but we don't highlight this
|
1875 |
fact because it is rare in engineering applications that one uses symbolic methods
|
1876 |
to obtain best rational approximations.
|
1877 |
As emphasized by (\ref{eq:ccfr0:spar0:01}), (\ref{eq:ccfr0:spar0:02}), and
|
1878 |
(\ref{eq:ccfr0:spar0:03}),
|
1879 |
the process of obtaining partial quotients is essentially a process of determining in which
|
1880 |
partition a number lies. All numbers in the same partition---rational or
|
1881 |
irrational---have the same Farey neighbors in all Farey series up to a certain order.
|
1882 |
If the partial quotients of
|
1883 |
an irrational number can be obtained up through $a_k$ s.t. $s_k = p_k/q_k$ is the
|
1884 |
highest-order convergent with $q_k \leq N$, then this theorem can be applied.
|
1885 |
Knowledge of all $a_0, \ldots{} , a_k$ is equivalent
|
1886 |
to the knowledge that the number is in a partition where all numbers in that partition have
|
1887 |
the same Farey neighbors in all Farey series up through at least order $q_k$.}
|
1888 |
|
1889 |
|
1890 |
\begin{vworktheoremstatementpar}{Enclosing Neighbors Of \mbox{\boldmath $x \notin F_N$}
|
1891 |
In \mbox{\boldmath $F_N$}}
|
1892 |
\label{thm:ccfr0:scba0:cfenclosingneighbors}
|
1893 |
For a non-negative rational
|
1894 |
number $a/b$ not in
|
1895 |
$F_N$ which has a
|
1896 |
continued fraction representation
|
1897 |
$[a_0;a_1,a_2,\ldots{} ,a_n]$, the
|
1898 |
highest-order convergent $s_k = p_k/q_k$ with $q_k \leq N$ is one
|
1899 |
neighbor\footnote{By neighbors in $F_N$ we mean the rational numbers
|
1900 |
in $F_N$ immediately to the left and immediately to the right
|
1901 |
of $a/b$.}
|
1902 |
to $a/b$ in $F_N$, and the other neighbor in
|
1903 |
$F_N$ is\footnote{Theorem \ref{thm:ccfr0:scba0:cfenclosingneighbors}
|
1904 |
is a somewhat stronger statement about best approximations
|
1905 |
than Khinchin makes in \cite{bibref:b:KhinchinClassic}, Theorem 15.
|
1906 |
We were not able to locate
|
1907 |
this theorem or a proof in print,
|
1908 |
but this theorem is understood within the number theory community.
|
1909 |
It appears on the Web
|
1910 |
page of David Eppstein \cite{bibref:i:davideppstein} in the form of a
|
1911 |
`C'-language computer program,
|
1912 |
\texttt{http://www.ics.uci.edu/\~{}{}eppstein/numth/frap.c}.
|
1913 |
Although
|
1914 |
Dr. Eppstein phrases the solution in terms of modifying
|
1915 |
a partial quotient, his approach is equivalent to
|
1916 |
(\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:01}).}
|
1917 |
|
1918 |
\begin{equation}
|
1919 |
\label{eq:ccfr0:scba0:thm:cfenclosingneighbors:01}
|
1920 |
\frac{{\displaystyle{\left\lfloor {\frac{{N - q_{k - 1} }}{{q_k }}} \right\rfloor}
|
1921 |
p_k + p_{k - 1} }}{{\displaystyle{\left\lfloor {\frac{{N - q_{k - 1} }}{{q_k }}}
|
1922 |
\right\rfloor} q_k + q_{k - 1} }}.
|
1923 |
\end{equation}
|
1924 |
\end{vworktheoremstatementpar}
|
1925 |
\begin{vworktheoremproof}
|
1926 |
First, it is proved that the highest-order
|
1927 |
convergent $s_k = p_k/q_k$ with $q_k \leq N$ is one of the two
|
1928 |
neighbors to $a/b$ in $F_N$. $s_k \in F_N$, since $q_k \leq N$.
|
1929 |
By Theorem \ref{thm:ccfr0:scba0:convergentcloseness}, the upper bound on the
|
1930 |
difference between $a/b$ and arbitrary $s_k$ is given by
|
1931 |
|
1932 |
\begin{equation}
|
1933 |
\label{eq:ccfr0:scba0:thm:cfenclosingneighbors:02}
|
1934 |
\left| {\frac{a}{b} - \frac{{p_k }}{{q_k }}} \right| < \frac{1}{{q_k q_{k + 1} }}.
|
1935 |
\end{equation}
|
1936 |
|
1937 |
For two consecutive terms in $F_N$, $Kh-Hk=1$
|
1938 |
(\cfryzeroxrefcomma{}Theorem \ref{thm:cfry0:spfs:02}).
|
1939 |
For a Farey neighbor $H/K$ to $s_k$ in $F_N$,
|
1940 |
(\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:03}) must hold.
|
1941 |
|
1942 |
\begin{equation}
|
1943 |
\label{eq:ccfr0:scba0:thm:cfenclosingneighbors:03}
|
1944 |
\frac{1}{q_k N} \leq \left| {\frac{H}{K} - \frac{p_k}{q_k}} \right|
|
1945 |
\end{equation}
|
1946 |
|
1947 |
$q_{k+1}>N$, because $q_{k+1}>q_k$ and $p_k/q_k$ was chosen to be the
|
1948 |
highest-order convergent with $q_k\leq N$. Using this knowledge and
|
1949 |
combining (\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:02}) and
|
1950 |
(\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:03}) leads to
|
1951 |
(\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:04}).
|
1952 |
|
1953 |
\begin{equation}
|
1954 |
\label{eq:ccfr0:scba0:thm:cfenclosingneighbors:04}
|
1955 |
\left| {\frac{a}{b} - \frac{{p_k }}{{q_k }}} \right| < \frac{1}{{q_k q_{k + 1} }}
|
1956 |
<
|
1957 |
\frac{1}{q_k N} \leq \left| {\frac{H}{K} - \frac{p_k}{q_k}} \right|
|
1958 |
\end{equation}
|
1959 |
|
1960 |
This proves that $s_k$ is one neighbor to $a/b$ in $F_N$.
|
1961 |
The apparatus of continued fractions ensures that the
|
1962 |
highest order convergent $s_k$ with $q_k\leq N$ is closer to $a/b$ than
|
1963 |
to any neighboring term in $F_N$. Thus, there is
|
1964 |
no intervening term of $F_N$ between $s_k$ and $a/b$.
|
1965 |
If $k$ is even, $s_k<a/b$, and if $k$ is
|
1966 |
odd, $s_k>a/b$.
|
1967 |
|
1968 |
It must be proved that (\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:01}) is the other Farey
|
1969 |
neighbor. For brevity, only the case of $k$ even is proved: the
|
1970 |
case of $k$ odd is symmetrical. (\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:01})
|
1971 |
is of the form (\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:05}),
|
1972 |
where $i \in \vworkintsetnonneg$.
|
1973 |
|
1974 |
\begin{equation}
|
1975 |
\label{eq:ccfr0:scba0:thm:cfenclosingneighbors:05}
|
1976 |
\frac{{ip_k + p_{k - 1} }}{{iq_k + q_{k - 1} }}
|
1977 |
\end{equation}
|
1978 |
|
1979 |
$k$ is even, $s_k < a/b$, and the two Farey terms enclosing $a/b$, in
|
1980 |
order, are
|
1981 |
|
1982 |
\begin{equation}
|
1983 |
\label{eq:ccfr0:scba0:thm:cfenclosingneighbors:06}
|
1984 |
\frac{p_k }{q_k },\frac{ip_k + p_{k - 1} }{iq_k + q_{k - 1} }.
|
1985 |
\end{equation}
|
1986 |
|
1987 |
Applying the $Kh - Hk = 1$ test, (\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:07}), \
|
1988 |
gives the
|
1989 |
result of 1, since by Theorem
|
1990 |
\ref{thm:ccfr0:scnv0:crossproductminusone},
|
1991 |
$q_kp_{k-1}-p_kq_{k-1}=(-1)^k$.
|
1992 |
|
1993 |
\begin{equation}
|
1994 |
\label{eq:ccfr0:scba0:thm:cfenclosingneighbors:07}
|
1995 |
\begin{array}{*{20}c}
|
1996 |
{(q_k )(ip_k + p_{k - 1} ) - (p_k )(iq_k + q_{k - 1} ) = 1}
|
1997 |
\end{array}
|
1998 |
\end{equation}
|
1999 |
|
2000 |
Thus, every potential Farey neighbor of the form (\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:05})
|
2001 |
meets the $Kh - Hk = 1$ test. It is also straightforward
|
2002 |
to show that \emph{only} potential Farey neighbors of the
|
2003 |
form (\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:05}) can meet the $Kh-Hk=1$ test, using the
|
2004 |
property that $p_k$ and $q_k$ are coprime.
|
2005 |
|
2006 |
It must be established that a
|
2007 |
rational number of the form (\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:05})
|
2008 |
is irreducible. This result comes directly from
|
2009 |
(\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:07}),
|
2010 |
since if the numerator
|
2011 |
and denominator of (\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:01}) or
|
2012 |
(\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:05}) are not coprime, the difference of 1 is
|
2013 |
not possible.
|
2014 |
|
2015 |
The denominator of (\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:01})
|
2016 |
can be rewritten as
|
2017 |
|
2018 |
\begin{equation}
|
2019 |
\label{eq:ccfr0:scba0:thm:cfenclosingneighbors:08}
|
2020 |
N - \left[ {\left( {N - q_{k - 1} } \right)\bmod q_k } \right] \in \left\{ {N - q_k + 1,...,N} \right\}.
|
2021 |
\end{equation}
|
2022 |
|
2023 |
It must be shown that if one irreducible
|
2024 |
rational number---namely, the rational number given by
|
2025 |
(\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:01})---with a denominator
|
2026 |
$\in \{ N-q_k+1,\ldots{} ,N \}$ meets the $Kh - Hk = 1$
|
2027 |
test, there can be no other irreducible rational number
|
2028 |
in $F_N$ with a larger
|
2029 |
denominator which also meets this test.
|
2030 |
|
2031 |
Given (\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:07}),
|
2032 |
and given that \emph{only} rational numbers of the form
|
2033 |
(\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:05})
|
2034 |
can meet the $Kh-Hk=1$ test, and given that any number of the
|
2035 |
form (\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:05})
|
2036 |
is irreducible, the irreducible number meeting the
|
2037 |
$Kh-Hk=1$ test with the next larger denominator after the denominator of
|
2038 |
(\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:01})
|
2039 |
will have a denominator $\in \{ N+1, \ldots, N+q_k \}$. Thus,
|
2040 |
no other irreducible rational number in $F_N$ besides that given
|
2041 |
by (\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:01}) with a larger denominator
|
2042 |
$\leq N$ and which meets the $Kh - Hk = 1$ test can exist; therefore
|
2043 |
(\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:01}) is the other enclosing Farey neighbor to
|
2044 |
$a/b$ in $F_N$.
|
2045 |
\end{vworktheoremproof}
|
2046 |
\vworktheoremfooter{}
|
2047 |
|
2048 |
Theorem \ref{thm:ccfr0:scba0:cfenclosingneighbors} establishes that
|
2049 |
the two neighbors in $F_N$ to a rational number $a/b$ will be the highest-order
|
2050 |
convergent with a denominator not exceeding $N$, and the number
|
2051 |
specified by (\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:01}).
|
2052 |
An interesting and worthwhile question to ask about
|
2053 |
Theorem \ref{thm:ccfr0:scba0:cfenclosingneighbors} is which of the
|
2054 |
two neighbors will be \emph{closer} to $a/b$---the convergent or the
|
2055 |
number specified by (\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:01})?
|
2056 |
Can we make any strong, simple, and easy-to-remember statements
|
2057 |
about the relative distance? We answer this question and some related
|
2058 |
questions now.
|
2059 |
|
2060 |
We are not aware of any rules that decisively predict which of the two
|
2061 |
Farey neighbors in Theorem \ref{thm:ccfr0:scba0:cfenclosingneighbors}
|
2062 |
will be closer to $a/b$\footnote{We should qualify this by saying that
|
2063 |
we mean a rule which uses only partial quotients up through
|
2064 |
$a_k$ or at most $a_{k+1}$, which is the same information used
|
2065 |
by the theorem. We should also add that although Theorem
|
2066 |
\ref{thm:ccfr0:scba0:cfenclosingneighbors} is worded to only consider
|
2067 |
non-negative rational numbers, the theorem and the results here
|
2068 |
apply to non-negative irrational numbers as well, so long as enough partial
|
2069 |
quotients can be obtained.}, although Lemma
|
2070 |
\ref{lem:ccfr0:scba0:enclosingneighborstheoremfurtherresult} is able
|
2071 |
to predict that the highest-ordered convergent $s_k$ with a denominator
|
2072 |
not exceeding $N$ will be closer in many cases.
|
2073 |
In general, either neighbor may be closer.
|
2074 |
The most straightforward approach that we
|
2075 |
are aware of is to calculate both Farey neighbors and to calculate
|
2076 |
their respective distances from $a/b$. The difficulty in devising a simple rule
|
2077 |
to predict which neighbor
|
2078 |
is closer is compounded by that fact that knowledge of
|
2079 |
$[a_0; a_1, \ldots{} , a_k]$ such that $s_k$ is the highest-ordered
|
2080 |
convergent with $q_k \leq N$ is incomplete knowledge of $a/b$ and can
|
2081 |
only confine $a/b$ to an inequality in the sense suggested by
|
2082 |
(\ref{eq:ccfr0:spar0:01}) through
|
2083 |
(\ref{eq:ccfr0:spar0:03}). Note that the
|
2084 |
value specified by (\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:01})
|
2085 |
is an intermediate fraction, and that the statement of Theorem
|
2086 |
\ref{thm:ccfr0:scba0:cfenclosingneighbors}
|
2087 |
coincides with Khinchin's Theorem 15
|
2088 |
(\cite{bibref:b:KhinchinClassic}, p. 22).
|
2089 |
|
2090 |
However, even in the absence of a rule to decisively
|
2091 |
predict which of the
|
2092 |
two Farey neighbors specified by Theorem
|
2093 |
\ref{thm:ccfr0:scba0:cfenclosingneighbors} is closer to $a/b$,
|
2094 |
there are other useful properties of convergents
|
2095 |
as best approximations which we present
|
2096 |
now.
|
2097 |
|
2098 |
It has been stated earlier that even-ordered convergents form an
|
2099 |
increasing sequence and that odd-ordered convergents also form a
|
2100 |
decreasing sequence. However, up to this point, we have not made
|
2101 |
a statement about the relationship between even- and odd-ordered
|
2102 |
convergents. We present such a statement as Lemma
|
2103 |
\ref{lem:ccfr0:scba0:convergenterrordecreases},
|
2104 |
below.
|
2105 |
|
2106 |
\begin{vworklemmastatement}
|
2107 |
\label{lem:ccfr0:scba0:convergenterrordecreases}
|
2108 |
In the case of a finite or infinite continued fraction representation
|
2109 |
of a non-negative rational or irrational
|
2110 |
number $\alpha \in \vworkrealsetnonneg$, for all $k$,
|
2111 |
|
2112 |
\begin{equation}
|
2113 |
\label{eq:lem:ccfr0:scba0:convergenterrordecreases:01}
|
2114 |
\left| {\alpha - \frac{p_k}{q_k}} \right| <
|
2115 |
\left| {\alpha - \frac{p_{k-1}}{q_{k-1}}} \right| .
|
2116 |
\end{equation}
|
2117 |
In other words, convergents get ever-closer to $\alpha$, without
|
2118 |
respect to whether they are even- or odd-ordered convergents.
|
2119 |
\end{vworklemmastatement}
|
2120 |
\begin{vworklemmaproof}
|
2121 |
In this proof, we show that for all $k$,
|
2122 |
|
2123 |
\begin{equation}
|
2124 |
\label{eq:lem:ccfr0:scba0:convergenterrordecreases:02}
|
2125 |
| s_{k-2} - s_{k-1} | > 2 | s_{k-1} - s_k | .
|
2126 |
\end{equation}
|
2127 |
|
2128 |
To understand why the proof is valid, consider the case of $k$ even,
|
2129 |
in which case $s_k < \alpha$, so that $s_{k-1} - \alpha < s_{k-1} - s_k$.
|
2130 |
If $s_{k-1} - s_{k-2} > 2 (s_{k-1} - s_k)$, then
|
2131 |
$s_{k-2}$ is further to the left of $\alpha$ than $s_{k-1}$ is to the
|
2132 |
right of $\alpha$; thus (\ref{eq:lem:ccfr0:scba0:convergenterrordecreases:01})
|
2133 |
applies. A symmetrical argument holds for $k$ odd.
|
2134 |
|
2135 |
By Theorem \ref{thm:ccfr0:scnv0:crossproductminusone},
|
2136 |
|
2137 |
\begin{equation}
|
2138 |
\label{eq:lem:ccfr0:scba0:convergenterrordecreases:03}
|
2139 |
s_{k-2} - s_{k-1}
|
2140 |
= \frac{p_{k-2}}{q_{k-2}}
|
2141 |
- \frac{p_{k-1}}{q_{k-1}}
|
2142 |
= \frac{(-1)^{k-1}}{q_{k-2} q_{k-1}} ,
|
2143 |
\end{equation}
|
2144 |
|
2145 |
and similarly
|
2146 |
|
2147 |
\begin{equation}
|
2148 |
\label{eq:lem:ccfr0:scba0:convergenterrordecreases:04}
|
2149 |
s_{k-1} - s_{k}
|
2150 |
= \frac{p_{k-1}}{q_{k-1}}
|
2151 |
- \frac{p_{k}}{q_{k}}
|
2152 |
= \frac{(-1)^{k}}{q_{k-1} q_{k}} .
|
2153 |
\end{equation}
|
2154 |
|
2155 |
In order for (\ref{eq:lem:ccfr0:scba0:convergenterrordecreases:02})
|
2156 |
to be met, it must be true that
|
2157 |
$2 q_{k-2} q_{k-1} < q_{k-1} q_k$, or equivalently that
|
2158 |
$2 q_{k-2} < q_k$. Since canonically $q_k = a_k q_{k-1} + q_{k-2}$
|
2159 |
(Eq. \ref{eq:thm:ccfr0:scnv0:canonicalconvergentconstruction:10}),
|
2160 |
the requirement is that $2 q_{k-2} < a_k q_{k-1} + q_{k-2}$.
|
2161 |
Since $a_k \geq 1$ and convergents are ever-increasing,
|
2162 |
(\ref{eq:lem:ccfr0:scba0:convergenterrordecreases:02}) is met and the
|
2163 |
lemma is proved.
|
2164 |
\end{vworklemmaproof}
|
2165 |
\vworklemmafooter{}
|
2166 |
|
2167 |
Theorem \ref{thm:ccfr0:scba0:convergentcloseness} establishes a
|
2168 |
maximum distance from a number $\alpha$ that we wish to approximate
|
2169 |
to a convergent. We now provide a second result that establishes
|
2170 |
a \emph{minimum} distance. (This result is Theorem 13, p.
|
2171 |
15, from \cite{bibref:b:KhinchinClassic}.)
|
2172 |
|
2173 |
\begin{vworktheoremstatement}
|
2174 |
\label{thm:ccfr0:scba0:convergentfarness}
|
2175 |
In the case of an infinite continued fraction representation
|
2176 |
$[a_0; a_1, a_2, \ldots]$ of
|
2177 |
a non-negative irrational number $\alpha \in \vworkrealsetnonneg$,
|
2178 |
for all $k \geq 0$; or in the case of a [necessarily finite]
|
2179 |
continued fraction representation $[a_0; a_1, a_2, \ldots , a_n]$
|
2180 |
of a non-negative rational number
|
2181 |
$\alpha \in \vworkrealsetnonneg$, for all $0 \leq k \leq n-1$,
|
2182 |
|
2183 |
\begin{equation}
|
2184 |
\label{eq:thm:ccfr0:scba0:convergentfarness:01}
|
2185 |
\left| {\alpha - \frac{p_k}{q_k}} \right| > \frac{1}{q_k(q_{k+1}+q_k)} .
|
2186 |
\end{equation}
|
2187 |
\end{vworktheoremstatement}
|
2188 |
\begin{vworktheoremproof}
|
2189 |
We've already established (Lemma \ref{lem:ccfr0:scba0:convergenterrordecreases})
|
2190 |
that each convergent $s_{k+1}$ is nearer to
|
2191 |
a number $\alpha$ to be approximated than the previous
|
2192 |
convergent, $s_k$, i.e. for all $k$,
|
2193 |
|
2194 |
\begin{equation}
|
2195 |
\label{eq:thm:ccfr0:scba0:convergentfarness:02}
|
2196 |
\left| {\alpha - \frac{p_{k+1}}{q_{k+1}}} \right| <
|
2197 |
\left| {\alpha - \frac{p_{k}}{q_{k}}} \right| .
|
2198 |
\end{equation}
|
2199 |
|
2200 |
Since the mediant of two fractions always lies between
|
2201 |
them (Lemma \cfryzeroxrefhyphen{}\ref{lem:cfry0:spfs:02c}), it
|
2202 |
follows directly that
|
2203 |
|
2204 |
\begin{equation}
|
2205 |
\label{eq:thm:ccfr0:scba0:convergentfarness:03}
|
2206 |
\left| {\alpha - \frac{p_{k}}{q_{k}}} \right| >
|
2207 |
\left| {\frac{p_k + p_{k+1}}{q_k + q_{k+1}} - \frac{p_k}{q_k}} \right| =
|
2208 |
\frac{1}{q_k ( q_k + q_{k+1})} .
|
2209 |
\end{equation}
|
2210 |
\end{vworktheoremproof}
|
2211 |
\begin{vworktheoremparsection}{Remark I}
|
2212 |
This theorem can be combined with Theorem \ref{thm:ccfr0:scba0:convergentcloseness}
|
2213 |
to give the following combined inequality:
|
2214 |
|
2215 |
\begin{equation}
|
2216 |
\label{eq:thm:ccfr0:scba0:convergentfarness:04}
|
2217 |
\frac{1}{q_k ( q_k + q_{k+1})} <
|
2218 |
\left| {\alpha - \frac{p_{k}}{q_{k}}} \right| \leq
|
2219 |
\frac{1}{q_k q_{k+1}} .
|
2220 |
\end{equation}
|
2221 |
\end{vworktheoremparsection}
|
2222 |
\vworktheoremfooter{}
|
2223 |
|
2224 |
We now supply an interesting and sometimes useful property of
|
2225 |
convergents used as best approximations. Note that we later show that
|
2226 |
Lemma \ref{lem:ccfr0:scba0:convergentbetterappthanlesserdenominator}
|
2227 |
is a weak statement (a stronger statement can be made, Lemma
|
2228 |
\ref{lem:ccfr0:scba0:morecomplexconvergentbapprule}), but this lemma
|
2229 |
has the advantage of being extremely easy to remember.
|
2230 |
|
2231 |
\begin{vworklemmastatement}
|
2232 |
\label{lem:ccfr0:scba0:convergentbetterappthanlesserdenominator}
|
2233 |
A convergent $s_k = p_k/q_k$ to a non-negative [rational or irrational] number
|
2234 |
$\alpha \in \vworkrealsetnonneg$ is closer to $\alpha$
|
2235 |
than any other rational number with the same or a smaller
|
2236 |
denominator.
|
2237 |
\end{vworklemmastatement}
|
2238 |
\begin{vworklemmaproof}
|
2239 |
Let $\alpha$ be the non-negative real number, rational or irrational,
|
2240 |
that we wish to approximate.
|
2241 |
|
2242 |
If there is a number (let's call it $c/d$)
|
2243 |
closer to $\alpha$ than $s_k = p_k / q_k$, with the same or a smaller denominator
|
2244 |
than $s_k$, then by definition it must be in the Farey series of order
|
2245 |
$q_k$, which we denote $F_{q_k}$.
|
2246 |
|
2247 |
Theorem \ref{thm:ccfr0:scba0:cfenclosingneighbors}
|
2248 |
assures us that the two Farey neighbors to $\alpha$ in $F_{q_k}$ will be
|
2249 |
$s_k$ and the number given by (\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:01}).
|
2250 |
Note that Theorem \ref{thm:ccfr0:scba0:cfenclosingneighbors}
|
2251 |
applies to irrational numbers as well (although the theorem statement
|
2252 |
does not indicate this), so we interpret
|
2253 |
Theorem \ref{thm:ccfr0:scba0:cfenclosingneighbors}
|
2254 |
in that sense.
|
2255 |
|
2256 |
Note in (\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:01}) that the
|
2257 |
expression involving the $floor(\cdot{})$ function will evaluate
|
2258 |
to be zero, since $N=q_k$. Thus, the other Farey neighbor to
|
2259 |
$\alpha$ in $F_{q_k}$ will be $s_{k-1} = p_{k-1}/q_{k-1}$.
|
2260 |
|
2261 |
We have already shown in Lemma \ref{lem:ccfr0:scba0:convergenterrordecreases}
|
2262 |
that $|\alpha - s_{k-1}| > |\alpha - s_{k}|$, therefore
|
2263 |
$s_k$ is closer to $\alpha$ than the other Farey neighbor given
|
2264 |
by (\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:01}).
|
2265 |
Furthermore, because any $c/d$ which is closer to $\alpha$ than
|
2266 |
$s_k$ must be present in $F_{q_k}$, such a $c/d$ does not exist.
|
2267 |
\end{vworklemmaproof}
|
2268 |
\begin{vworklemmaparsection}{Remark I}
|
2269 |
In practice, this lemma is little more than parlor trivia
|
2270 |
(it is not mathematically significant), but it is useful
|
2271 |
information and very easy to remember. For example, $355/113$ is a convergent to
|
2272 |
$\pi$, and it is sometimes useful to know that no better rational approximation
|
2273 |
can exist with the same or a smaller denominator.
|
2274 |
\end{vworklemmaparsection}
|
2275 |
\begin{vworklemmaparsection}{Remark II}
|
2276 |
A stronger statement can be made (see
|
2277 |
Lemma \ref{lem:ccfr0:scba0:morecomplexconvergentbapprule}).
|
2278 |
\end{vworklemmaparsection}
|
2279 |
\vworklemmafooter{}
|
2280 |
|
2281 |
We now
|
2282 |
present a stronger statement about convergents as best approximations that
|
2283 |
is not as easy to remember as
|
2284 |
Lemma \ref{lem:ccfr0:scba0:convergentbetterappthanlesserdenominator}.
|
2285 |
|
2286 |
\begin{vworklemmastatement}
|
2287 |
\label{lem:ccfr0:scba0:morecomplexconvergentbapprule}
|
2288 |
A convergent $s_k = p_k/q_k$ to a non-negative
|
2289 |
[rational or irrational] number
|
2290 |
$\alpha \in \vworkrealsetnonneg$ is closer to $\alpha$
|
2291 |
than any other rational number with a denominator
|
2292 |
less than $q_k + q_{k-1}$.
|
2293 |
\end{vworklemmastatement}
|
2294 |
\begin{vworklemmaproof}
|
2295 |
Let $N$ be the denominator of a rational number which is
|
2296 |
potentially closer to $\alpha$ than $s_k$. If
|
2297 |
$N < q_k + q_{k+1}$, then
|
2298 |
(\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:01})
|
2299 |
evaluates to $s_{k-1}$, and Lemma
|
2300 |
\ref{lem:ccfr0:scba0:convergenterrordecreases} has established that
|
2301 |
$s_k$ is closer to $\alpha$ than $s_{k-1}$. If, on the other
|
2302 |
hand, $N \geq q_k + q_{k+1}$, then the intermediate fraction specified by
|
2303 |
(\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:01}) \emph{may} be
|
2304 |
closer to $\alpha$ than $s_k$.
|
2305 |
\end{vworklemmaproof}
|
2306 |
\begin{vworklemmaparsection}{Remark I}
|
2307 |
This statement is harder to remember, but a stronger statement
|
2308 |
than Lemma \ref{lem:ccfr0:scba0:convergentbetterappthanlesserdenominator}.
|
2309 |
\end{vworklemmaparsection}
|
2310 |
\begin{vworklemmaparsection}{Remark II}
|
2311 |
Note that the only valid implication is $N < q_k + q_{k+1} \rightarrow$
|
2312 |
(convergent is closer). Note that
|
2313 |
$N \geq q_k + q_{k+1} \nrightarrow$ (intermediate fraction is closer)!
|
2314 |
If $N \geq q_k + q_{k+1}$, either the convergent or the intermediate fraction
|
2315 |
may be closer.
|
2316 |
This statement is harder to remember, but a stronger statement
|
2317 |
than Lemma \ref{lem:ccfr0:scba0:convergentbetterappthanlesserdenominator}.
|
2318 |
\end{vworklemmaparsection}
|
2319 |
\vworklemmafooter{}
|
2320 |
|
2321 |
Finally, we present a result about Theorem
|
2322 |
\ref{thm:ccfr0:scba0:cfenclosingneighbors} that will predict
|
2323 |
in some circumstances that the highest-ordered convergent
|
2324 |
$s_k$ with a denominator not exceeding $N$ must be closer
|
2325 |
to $a/b$ than the intermediate fraction specified by
|
2326 |
(\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:01}).
|
2327 |
|
2328 |
\begin{vworklemmastatement}
|
2329 |
\label{lem:ccfr0:scba0:enclosingneighborstheoremfurtherresult}
|
2330 |
In Theorem \ref{thm:ccfr0:scba0:cfenclosingneighbors},
|
2331 |
if $N < q_k + q_{k-1}$, the highest ordered convergent
|
2332 |
$s_k$ with a denominator not exceeding $N$ is closer to
|
2333 |
$a/b$\footnote{Note that this result is also valid for
|
2334 |
convergents to an irrational number, although
|
2335 |
Theorem \ref{thm:ccfr0:scba0:cfenclosingneighbors} is
|
2336 |
not worded in this way.} then the intermediate fraction specified by
|
2337 |
(\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:01}).
|
2338 |
If $N \geq q_k + q_{k-1}$, either $s_k$ or the intermediate
|
2339 |
fraction specified by (\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:01})
|
2340 |
may be closer.
|
2341 |
\end{vworklemmastatement}
|
2342 |
\begin{vworklemmaproof}
|
2343 |
See the proof of Lemma
|
2344 |
\ref{lem:ccfr0:scba0:morecomplexconvergentbapprule}.
|
2345 |
\end{vworklemmaproof}
|
2346 |
\vworklemmafooter{}
|
2347 |
|
2348 |
Theorem \ref{thm:ccfr0:scba0:cfenclosingneighbors} immediately suggests
|
2349 |
an algorithm for obtaining the enclosing rational numbers in $F_N$
|
2350 |
to a rational number $a/b \notin F_N$, which we present as
|
2351 |
Algorithm \ref{alg:ccfr0:scba0:cfenclosingneighborsfn}. Although
|
2352 |
we don't formally show it, the algorithm is $O(log \; N)$, due to
|
2353 |
the minimum geometric rate of increase of convergents
|
2354 |
(Theorem \ref{thm:ccfr0:scnv0:minimumrateofconvergentdenominatorincrease}).
|
2355 |
Note that the algorithm will proceed only until $q_k > N$, not necessarily
|
2356 |
until all partial quotients of $a/b$ are obtained. Note also that the
|
2357 |
algorithm can be applied to irrational numbers with minor
|
2358 |
modification (all that matters is that we can obtain enough
|
2359 |
partial quotients).
|
2360 |
|
2361 |
\begin{vworkalgorithmstatementpar}{Enclosing Neighbors Of \mbox{\boldmath $a/b \notin F_N$}
|
2362 |
In \mbox{\boldmath $F_N$}}
|
2363 |
\label{alg:ccfr0:scba0:cfenclosingneighborsfn}
|
2364 |
\begin{alglvl0}
|
2365 |
\item $k := -1$.
|
2366 |
\item $divisor_{-1} := a$.
|
2367 |
\item $remainder_{-1} := b$.
|
2368 |
\item $p_{-1} := 1$.
|
2369 |
\item $q_{-1} := 0$.
|
2370 |
|
2371 |
\item Repeat
|
2372 |
|
2373 |
\begin{alglvl1}
|
2374 |
\item $k := k + 1$.
|
2375 |
\item $dividend_k := divisor_{k-1}$.
|
2376 |
\item $divisor_k := remainder_{k-1}$.
|
2377 |
\item $a_k := dividend_k \; div \; divisor_k$.
|
2378 |
\item $remainder_k := dividend_k \; mod \; divisor_k$.
|
2379 |
\item If $k=0$ then $p_k := a_k$ else $p_k := a_k p_{k-1} + p_{k-2}$.
|
2380 |
\item If $k=0$ then $q_k := 1$ else $q_k := a_k q_{k-1} + q_{k-2}$.
|
2381 |
\end{alglvl1}
|
2382 |
|
2383 |
\item Until ($q_k > k_{MAX}$).
|
2384 |
\item $s_{k-1} = p_{k-1}/q_{k-1}$ will be one Farey neighbor to $a/b$ in $F_{k_{MAX}}$.
|
2385 |
Apply (\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:01})
|
2386 |
to obtain the other Farey neighbor.
|
2387 |
\end{alglvl0}
|
2388 |
\end{vworkalgorithmstatementpar}
|
2389 |
%\vworkalgorithmfooter{}
|
2390 |
|
2391 |
\begin{vworkexamplestatement}
|
2392 |
\label{ex:ccfr0:scba0:bestrapapptoratnum}
|
2393 |
Find the members of $F_{100}$ which enclose the conversion factor
|
2394 |
from kilometers-per-hour to miles-per-hour. Assume that
|
2395 |
one mile is 1.6093 kilometers (exactly).
|
2396 |
\end{vworkexamplestatement}
|
2397 |
\begin{vworkexampleparsection}{Solution}
|
2398 |
The conversion factor from KPH to MPH is the reciprocal of 1.6093. As a rational
|
2399 |
number, 1.6093 is 16,093/10,000, so 10,000/16,093 is its exact reciprocal.
|
2400 |
Applying Algorithm \ref{alg:ccfr0:scba0:cfenclosingneighborsfn}
|
2401 |
with $a/b = 10,000/16,093$ and $k_{MAX} = 100$ yields Table
|
2402 |
\ref{tbl:ex:ccfr0:scba0:bestrapapptoratnum}.
|
2403 |
|
2404 |
\begin{table}
|
2405 |
\caption{Application Of Algorithm \ref{alg:ccfr0:scba0:cfenclosingneighborsfn}
|
2406 |
To Find Members Of $F_{100}$ Which Enclose 10,000/16,093
|
2407 |
(Example \ref{ex:ccfr0:scba0:bestrapapptoratnum})}
|
2408 |
\label{tbl:ex:ccfr0:scba0:bestrapapptoratnum}
|
2409 |
\begin{center}
|
2410 |
\begin{tabular}{|c|c|c|c|c|c|c|}
|
2411 |
\hline
|
2412 |
\small{Index} & \small{$dividend_k$} & \small{$divisor_k$} & \small{$a_k$} & \small{$remainder_k$} & \small{$p_k$} & \small{$q_k$} \\
|
2413 |
\small{($k$)} & & & & & & \\
|
2414 |
\hline
|
2415 |
\hline
|
2416 |
\small{-1} & \small{N/A} & \small{10,000} & \small{N/A} & \small{16,093} & \small{1} & \small{0} \\
|
2417 |
\hline
|
2418 |
\small{0} & \small{10,000} & \small{16,093} & \small{0} & \small{10,000} & \small{0} & \small{1} \\
|
2419 |
\hline
|
2420 |
\small{1} & \small{16,093} & \small{10,000} & \small{1} & \small{6,093} & \small{1} & \small{1} \\
|
2421 |
\hline
|
2422 |
\small{2} & \small{10,000} & \small{6,093} & \small{1} & \small{3,907} & \small{1} & \small{2} \\
|
2423 |
\hline
|
2424 |
\small{3} & \small{6,093} & \small{3,907} & \small{1} & \small{2,186} & \small{2} & \small{3} \\
|
2425 |
\hline
|
2426 |
\small{4} & \small{3,907} & \small{2,186} & \small{1} & \small{1,721} & \small{3} & \small{5} \\
|
2427 |
\hline
|
2428 |
\small{5} & \small{2,186} & \small{1,721} & \small{1} & \small{465} & \small{5} & \small{8} \\
|
2429 |
\hline
|
2430 |
\small{6} & \small{1,721} & \small{465} & \small{3} & \small{326} & \small{18} & \small{29} \\
|
2431 |
\hline
|
2432 |
\small{7} & \small{465} & \small{326} & \small{1} & \small{139} & \small{23} & \small{37} \\
|
2433 |
\hline
|
2434 |
\small{8} & \small{326} & \small{139} & \small{2} & \small{48} & \small{64} & \small{103} \\
|
2435 |
\hline
|
2436 |
\end{tabular}
|
2437 |
\end{center}
|
2438 |
\end{table}
|
2439 |
|
2440 |
Note from Table \ref{tbl:ex:ccfr0:scba0:bestrapapptoratnum}
|
2441 |
that the 7-th order convergent, $s_7 = 23/37$,
|
2442 |
is the highest-ordered convergent with $q_k \leq 100$, so
|
2443 |
by Theorem \ref{thm:ccfr0:scba0:cfenclosingneighbors}, 23/37
|
2444 |
is one neighbor in $F_{100}$ to 10,000/16,093. Because $s_7$
|
2445 |
is an odd-ordered convergent, it will be the right
|
2446 |
Farey neighbor.
|
2447 |
By (\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:01}), the
|
2448 |
other Farey neighbor is 41/66, and it will be the left
|
2449 |
Farey neighbor.
|
2450 |
\end{vworkexampleparsection}
|
2451 |
%\vworkexamplefooter{}
|
2452 |
|
2453 |
|
2454 |
\begin{vworkexamplestatement}
|
2455 |
\label{ex:ccfr0:scba0:bestrapapptoirratnum}
|
2456 |
Find the members of $F_{200}$ which
|
2457 |
enclose $\sqrt{3}$.
|
2458 |
\end{vworkexamplestatement}
|
2459 |
\begin{vworkexampleparsection}{Solution}
|
2460 |
We demonstrated in Example
|
2461 |
\ref{ex:ccfr0:scin0:symboliccfalgorithmexample}
|
2462 |
that the continued fraction representation of
|
2463 |
$\sqrt{3}$ is $[1;\overline{1,2}]$.
|
2464 |
As is highlighted in Footnote
|
2465 |
\ref{footnote:ccfr0:scba0:rationalitynotrequired}, it isn't required
|
2466 |
that a number be rational to apply Theorem
|
2467 |
\ref{thm:ccfr0:scba0:cfenclosingneighbors}, so long as
|
2468 |
enough partial quotients can be obtained.
|
2469 |
Using knowledge of the partial quotients of
|
2470 |
$\sqrt{3}$ and applying Algorithm \ref{alg:ccfr0:scba0:cfenclosingneighborsfn}
|
2471 |
yields Table \ref{tbl:ex:ccfr0:scba0:bestrapapptoirratnum} (note that it isn't necessary
|
2472 |
to track remainders, as we already have all of the partial quotients for
|
2473 |
$\sqrt{3}$).
|
2474 |
|
2475 |
\begin{table}
|
2476 |
\caption{Application Of Algorithm \ref{alg:ccfr0:scba0:cfenclosingneighborsfn}
|
2477 |
To Find Members Of $F_{100}$ Which Enclose $\sqrt{3}$
|
2478 |
(Example \ref{ex:ccfr0:scba0:bestrapapptoirratnum})}
|
2479 |
\label{tbl:ex:ccfr0:scba0:bestrapapptoirratnum}
|
2480 |
\begin{center}
|
2481 |
\begin{tabular}{|c|c|c|c|}
|
2482 |
\hline
|
2483 |
\hspace{0.15in}\small{Index ($k$)}\hspace{0.15in} & \hspace{0.15in}\small{$a_k$}\hspace{0.15in} &
|
2484 |
\hspace{0.15in}\small{$p_k$}\hspace{0.15in} & \hspace{0.15in}\small{$q_k$}\hspace{0.15in} \\
|
2485 |
\hline
|
2486 |
\hline
|
2487 |
\small{-1} & \small{N/A} & \small{1} & \small{0} \\
|
2488 |
\hline
|
2489 |
\small{0} & \small{1} & \small{1} & \small{1} \\
|
2490 |
\hline
|
2491 |
\small{1} & \small{1} & \small{2} & \small{1} \\
|
2492 |
\hline
|
2493 |
\small{2} & \small{2} & \small{5} & \small{3} \\
|
2494 |
\hline
|
2495 |
\small{3} & \small{1} & \small{7} & \small{4} \\
|
2496 |
\hline
|
2497 |
\small{4} & \small{2} & \small{19} & \small{11} \\
|
2498 |
\hline
|
2499 |
\small{5} & \small{1} & \small{26} & \small{15} \\
|
2500 |
\hline
|
2501 |
\small{6} & \small{2} & \small{71} & \small{41} \\
|
2502 |
\hline
|
2503 |
\small{7} & \small{1} & \small{97} & \small{56} \\
|
2504 |
\hline
|
2505 |
\small{8} & \small{2} & \small{265} & \small{153} \\
|
2506 |
\hline
|
2507 |
\small{9} & \small{1} & \small{362} & \small{209} \\
|
2508 |
\hline
|
2509 |
\end{tabular}
|
2510 |
\end{center}
|
2511 |
\end{table}
|
2512 |
|
2513 |
Note from Table \ref{tbl:ex:ccfr0:scba0:bestrapapptoirratnum}
|
2514 |
that the 8-th order convergent, $s_8 = 265/153$,
|
2515 |
is the highest-ordered convergent with $q_k \leq 200$, so
|
2516 |
by Theorem \ref{thm:ccfr0:scba0:cfenclosingneighbors}, 265/153
|
2517 |
is one neighbor in $F_{100}$ to $\sqrt{3}$. Because $s_8$
|
2518 |
is an even-ordered convergent, it will be the left
|
2519 |
Farey neighbor.
|
2520 |
By (\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:01}), the
|
2521 |
other Farey neighbor is 97/56, and it will be the right
|
2522 |
Farey neighbor.
|
2523 |
\end{vworkexampleparsection}
|
2524 |
\vworkexamplefooter{}
|
2525 |
|
2526 |
|
2527 |
It is clear that Algorithm \ref{alg:ccfr0:scba0:cfenclosingneighborsfn}
|
2528 |
can be trivially modified to find enclosing neighbors
|
2529 |
in $F_{k_{MAX},\overline{h_{MAX}}}$, and we present this
|
2530 |
trivial modification as Algorithm
|
2531 |
\ref{alg:ccfr0:scba0:cfenclosingneighborsfab}.
|
2532 |
|
2533 |
\begin{vworkalgorithmstatementpar}{Enclosing Neighbors Of
|
2534 |
\mbox{\boldmath $x \notin F_{k_{MAX},\overline{h_{MAX}}}$}
|
2535 |
In \mbox{\boldmath $F_{k_{MAX},\overline{h_{MAX}}}$}}
|
2536 |
\label{alg:ccfr0:scba0:cfenclosingneighborsfab}
|
2537 |
\begin{alglvl0}
|
2538 |
\item If $a/b < h_{MAX}/k_{MAX}$, apply Algorithm
|
2539 |
\ref{alg:ccfr0:scba0:cfenclosingneighborsfn} directly;
|
2540 |
|
2541 |
\item Else if $a/b > h_{MAX}/k_{MAX}$, apply Algorithm
|
2542 |
\ref{alg:ccfr0:scba0:cfenclosingneighborsfn} using $b/a$ rather
|
2543 |
than $a/b$ as the input to the algorithm, using $h_{MAX}$
|
2544 |
rather than $k_{MAX}$ as $N$, and
|
2545 |
using the reciprocals of the results of the algorithm.\footnote{The
|
2546 |
basis for taking the reciprocals of input and output and
|
2547 |
using $h_{MAX}$ rather than $k_{MAX}$ are explained
|
2548 |
in \cfryzeroxrefcomma{}Section \ref{cfry0:schk0}.}
|
2549 |
|
2550 |
\end{alglvl0}
|
2551 |
\end{vworkalgorithmstatementpar}
|
2552 |
%\vworkalgorithmfooter{}
|
2553 |
|
2554 |
\begin{vworkexamplestatement}
|
2555 |
\label{ex:ccfr0:scba0:bestratapptoirratnum2d}
|
2556 |
Find the members of $F_{200,\overline{100}}$ which
|
2557 |
enclose $\sqrt{3}$.
|
2558 |
\end{vworkexamplestatement}
|
2559 |
\begin{vworkexampleparsection}{Solution}
|
2560 |
It was shown in Example \ref{ex:ccfr0:scba0:bestrapapptoirratnum}
|
2561 |
that the two enclosing neighbors to $\sqrt{3}$ in
|
2562 |
$F_{200}$ are 265/153 and 97/56. Note that the first of
|
2563 |
these neighbors, 265/153, violates the constraint on the
|
2564 |
numerator.
|
2565 |
As explained in Section \cfryzeroxrefhyphen{}\ref{cfry0:schk0},
|
2566 |
because $\sqrt{3} > 100/200$, the constraint on the
|
2567 |
numerator is the dominant constraint, and the necessary
|
2568 |
approach is to find the neighbors of $1/\sqrt{3}$ in
|
2569 |
$F_{100}$, then invert the results.
|
2570 |
Although we don't explain it in this work,
|
2571 |
the reciprocal of a continued fraction can be formed by
|
2572 |
``right-shifting'' or ``left-shifting'' the continued fraction one position.
|
2573 |
Thus, if $[1;1,2,1,2,1,2, \ldots{}]$ = $[1;\overline{1,2}]$
|
2574 |
is the continued fraction representation of $\sqrt{3}$, then
|
2575 |
$[0;1,1,2,1,2,1, \ldots{}]$ = $[0;1,\overline{1,2}]$ is the
|
2576 |
continued fraction representation of $1/\sqrt{3}$. Using
|
2577 |
this result and constructing the convergents until
|
2578 |
$q_k \geq 100$ yields Table \ref{tbl:ex:ccfr0:scba0:bestratapptoirratnum2d}.
|
2579 |
|
2580 |
\begin{table}
|
2581 |
\caption{Application Of Algorithm \ref{alg:ccfr0:scba0:cfenclosingneighborsfab}
|
2582 |
To Find Members Of $F_{100}$ Which Enclose $1/\sqrt{3}$
|
2583 |
(Example \ref{ex:ccfr0:scba0:bestratapptoirratnum2d})}
|
2584 |
\label{tbl:ex:ccfr0:scba0:bestratapptoirratnum2d}
|
2585 |
\begin{center}
|
2586 |
\begin{tabular}{|c|c|c|c|}
|
2587 |
\hline
|
2588 |
\hspace{0.15in}\small{Index ($k$)}\hspace{0.15in} & \hspace{0.15in}\small{$a_k$}\hspace{0.15in} &
|
2589 |
\hspace{0.15in}\small{$p_k$}\hspace{0.15in} & \hspace{0.15in}\small{$q_k$}\hspace{0.15in} \\
|
2590 |
\hline
|
2591 |
\hline
|
2592 |
\small{-1} & \small{N/A} & \small{1} & \small{0} \\
|
2593 |
\hline
|
2594 |
\small{0} & \small{0} & \small{0} & \small{1} \\
|
2595 |
\hline
|
2596 |
\small{1} & \small{1} & \small{1} & \small{1} \\
|
2597 |
\hline
|
2598 |
\small{2} & \small{1} & \small{1} & \small{2} \\
|
2599 |
\hline
|
2600 |
\small{3} & \small{2} & \small{3} & \small{5} \\
|
2601 |
\hline
|
2602 |
\small{4} & \small{1} & \small{4} & \small{7} \\
|
2603 |
\hline
|
2604 |
\small{5} & \small{2} & \small{11} & \small{19} \\
|
2605 |
\hline
|
2606 |
\small{6} & \small{1} & \small{15} & \small{26} \\
|
2607 |
\hline
|
2608 |
\small{7} & \small{2} & \small{41} & \small{71} \\
|
2609 |
\hline
|
2610 |
\small{8} & \small{1} & \small{56} & \small{97} \\
|
2611 |
\hline
|
2612 |
\small{9} & \small{2} & \small{153} & \small{265} \\
|
2613 |
\hline
|
2614 |
\end{tabular}
|
2615 |
\end{center}
|
2616 |
\end{table}
|
2617 |
|
2618 |
Note from Table \ref{tbl:ex:ccfr0:scba0:bestratapptoirratnum2d}
|
2619 |
that the 8-th order convergent, $s_8 = 56/97$,
|
2620 |
is the highest-ordered convergent with $q_k \leq 100$, so
|
2621 |
by Theorem \ref{thm:ccfr0:scba0:cfenclosingneighbors}, 56/97
|
2622 |
is one neighbor in $F_{100}$ to $1/\sqrt{3}$. Because $s_8$
|
2623 |
is an even-ordered convergent, it will be the left
|
2624 |
Farey neighbor.
|
2625 |
By (\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:01}), the
|
2626 |
other Farey neighbor is 41/71, and it will be the right
|
2627 |
Farey neighbor. Taking the reciprocal of these neighbors (and
|
2628 |
reversing their order) yields $97/56 < \sqrt{3} < 41/71$
|
2629 |
as the two members of $F_{200, \overline{100}}$ which enclose
|
2630 |
$\sqrt{3}$.
|
2631 |
\end{vworkexampleparsection}
|
2632 |
\vworkexamplefooter{}
|
2633 |
|
2634 |
|
2635 |
A natural question to ask is whether, given only a \emph{single}
|
2636 |
rational number $a/b \in F_N$, the apparatus of continued fractions
|
2637 |
can be used to economically find its neighbors in $F_N$. Examining
|
2638 |
the proof of Theorem \ref{thm:ccfr0:scba0:cfenclosingneighbors},
|
2639 |
we see that the entire proof applies even if the denominator of the
|
2640 |
highest-order convergent, $q_n$, is less than or equal to $N$---that is,
|
2641 |
the number specified by (\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:01})
|
2642 |
is a left or right Farey neighbor in $F_N$ of $a/b$. If $n$ is even,
|
2643 |
$s_{n-1} > s_n$, and the number specified by
|
2644 |
(\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:01}) will be the right Farey neighbor
|
2645 |
of $s_n$, and
|
2646 |
(\cfryzeroxrefhyphen{}\ref{eq:cfry0:sgfs0:thm:01:eq03}) and
|
2647 |
(\cfryzeroxrefhyphen{}\ref{eq:cfry0:sgfs0:thm:01:eq04})
|
2648 |
can be used to find the left Farey neighbor.
|
2649 |
On the other hand if $n$ odd, $s_{n-1} < s_n$, (\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:01})
|
2650 |
will be the left Farey neighbor of $s_n$, and
|
2651 |
(\cfryzeroxrefhyphen{}\ref{eq:cfry0:sgfs0:thm:01:eq01})
|
2652 |
and
|
2653 |
(\cfryzeroxrefhyphen{}\ref{eq:cfry0:sgfs0:thm:01:eq02})
|
2654 |
can be used to find the
|
2655 |
right Farey neighbor. We summarize these observations as Algorithm
|
2656 |
\ref{alg:ccfr0:scba0:cffareyneighborfn}.
|
2657 |
|
2658 |
\begin{vworkalgorithmstatementpar}{Neighbors Of
|
2659 |
\mbox{\boldmath $a/b \in F_N$}
|
2660 |
In \mbox{\boldmath $F_N$}}
|
2661 |
\label{alg:ccfr0:scba0:cffareyneighborfn}
|
2662 |
\end{vworkalgorithmstatementpar}
|
2663 |
\begin{alglvl0}
|
2664 |
|
2665 |
\item Apply the first part of Algorithm
|
2666 |
\ref{alg:ccfr0:scba0:cfenclosingneighborsfn} to obtain
|
2667 |
all of the partial quotients and convergents of $a/b$.
|
2668 |
The final convergent, $s_n = p_n/q_n$, will be
|
2669 |
$a/b$ in reduced form.
|
2670 |
|
2671 |
\item Use (\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:01})
|
2672 |
(with $k = n$) to obtain the right Farey neighbor
|
2673 |
(if $n$ is even) or the left Farey neighbor (if $n$
|
2674 |
is odd).
|
2675 |
|
2676 |
\item If $n$ is even, $s_{n-1} > s_n$, and the number specified by
|
2677 |
(\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:01}) will be
|
2678 |
the right Farey neighbor of $s_n$. Use
|
2679 |
(\cfryzeroxrefhyphen{}\ref{eq:cfry0:sgfs0:thm:01:eq03}) and
|
2680 |
(\cfryzeroxrefhyphen{}\ref{eq:cfry0:sgfs0:thm:01:eq04})
|
2681 |
to find the left Farey neighbor.
|
2682 |
On the other hand if $n$ is odd, $s_{n-1} < s_n$,
|
2683 |
(\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:01})
|
2684 |
will be the left Farey neighbor of $s_n$. Use
|
2685 |
(\cfryzeroxrefhyphen{}\ref{eq:cfry0:sgfs0:thm:01:eq01})
|
2686 |
and (\cfryzeroxrefhyphen{}\ref{eq:cfry0:sgfs0:thm:01:eq02})
|
2687 |
to find the right Farey neighbor.
|
2688 |
|
2689 |
\end{alglvl0}
|
2690 |
%\vworkalgorithmfooter{}
|
2691 |
|
2692 |
\begin{vworkexamplestatement}
|
2693 |
\label{ex:ccfr0:scba0:fnneighborsaoverbinfn}
|
2694 |
Find the neighbors of 5/7 in $F_{1,000,000}$.
|
2695 |
\end{vworkexamplestatement}
|
2696 |
\begin{vworkexampleparsection}{Solution}
|
2697 |
As per Algorithm \ref{alg:ccfr0:scba0:cffareyneighborfn}, the first
|
2698 |
step is to obtain the partial quotients and convergents of 5/7
|
2699 |
(these partial quotients and convergents are shown in
|
2700 |
Table \ref{tbl:ex:ccfr0:scba0:fnneighborsaoverbinfn}).
|
2701 |
|
2702 |
\begin{table}
|
2703 |
\caption{Partial Quotients And Convergents Of 5/7
|
2704 |
(Example \ref{ex:ccfr0:scba0:fnneighborsaoverbinfn})}
|
2705 |
\label{tbl:ex:ccfr0:scba0:fnneighborsaoverbinfn}
|
2706 |
\begin{center}
|
2707 |
\begin{tabular}{|c|c|c|c|c|c|c|}
|
2708 |
\hline
|
2709 |
\small{Index ($k$)} & \small{$dividend_k$} & \small{$divisor_k$} & \small{$a_k$} & \small{$remainder_k$} & \small{$p_k$} & \small{$q_k$} \\
|
2710 |
\hline
|
2711 |
\hline
|
2712 |
\small{-1} & \small{N/A} & \small{5} & \small{N/A} & \small{7} & \small{1} & \small{0} \\
|
2713 |
\hline
|
2714 |
\small{0} & \small{5} & \small{7} & \small{0} & \small{5} & \small{0} & \small{1} \\
|
2715 |
\hline
|
2716 |
\small{1} & \small{7} & \small{5} & \small{1} & \small{2} & \small{1} & \small{1} \\
|
2717 |
\hline
|
2718 |
\small{2} & \small{5} & \small{2} & \small{2} & \small{1} & \small{2} & \small{3} \\
|
2719 |
\hline
|
2720 |
\small{3} & \small{2} & \small{1} & \small{2} & \small{0} & \small{5} & \small{7} \\
|
2721 |
\hline
|
2722 |
\end{tabular}
|
2723 |
\end{center}
|
2724 |
\end{table}
|
2725 |
|
2726 |
Since the final convergent, $s_{3}$, is an odd-ordered convergent, $s_{k-1} < s_k$, and
|
2727 |
(\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:01}) will supply the left Farey neighbor
|
2728 |
of 5/7. Applying (\ref{eq:ccfr0:scba0:thm:cfenclosingneighbors:01}) with
|
2729 |
$N=1,000,000$, $k=3$, $k-1=2$, $p_k = 5$, $q_k = 7$, $p_{k-1}=2$, and $q_{k-1}=3$
|
2730 |
yields $\frac{714,282}{999,995}$ as the left Farey neighbor of 5/7 in $F_{1,000,000}$.
|
2731 |
Application of (\cfryzeroxrefhyphen{}\ref{eq:cfry0:sgfs0:thm:01:eq01})
|
2732 |
and (\cfryzeroxrefhyphen{}\ref{eq:cfry0:sgfs0:thm:01:eq02})
|
2733 |
yields $\frac{714,283}{999,996}$ as the right Farey neighbor.
|
2734 |
\end{vworkexampleparsection}
|
2735 |
%\vworkexamplefooter{}
|
2736 |
|
2737 |
|
2738 |
\begin{vworkalgorithmstatementpar}{Neighbors Of
|
2739 |
\mbox{\boldmath $x \in F_{k_{MAX},\overline{h_{MAX}}}$}
|
2740 |
In \mbox{\boldmath $F_{k_{MAX},\overline{h_{MAX}}}$}}
|
2741 |
\label{alg:ccfr0:scba0:cffareyneighborfab}
|
2742 |
\begin{alglvl0}
|
2743 |
\item If $a/b < h_{MAX}/k_{MAX}$, apply Algorithm
|
2744 |
\ref{alg:ccfr0:scba0:cffareyneighborfn} directly;
|
2745 |
|
2746 |
\item Else if $a/b > h_{MAX}/k_{MAX}$, apply Algorithm
|
2747 |
\ref{alg:ccfr0:scba0:cffareyneighborfn} using $b/a$ rather
|
2748 |
than $a/b$ as the input to the algorithm, using $h_{MAX}$
|
2749 |
rather than $k_{MAX}$ as $N$, and
|
2750 |
using the reciprocals of the results of the algorithm.\footnote{The
|
2751 |
basis for taking the reciprocals of input and output and
|
2752 |
using $h_{MAX}$ rather than $k_{MAX}$ are explained
|
2753 |
in \cfryzeroxrefcomma{}Section \ref{cfry0:schk0}.}
|
2754 |
\end{alglvl0}
|
2755 |
\end{vworkalgorithmstatementpar}
|
2756 |
\vworkalgorithmfooter{}
|
2757 |
|
2758 |
|
2759 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
2760 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
2761 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
2762 |
\section{The Stern-Brocot Tree}
|
2763 |
%Section tag: SBT0
|
2764 |
\label{ccfr0:ssbt0}
|
2765 |
|
2766 |
In this chapter, we've developed continued fraction techniques of best
|
2767 |
rational approximation without reference to any other models or theory.
|
2768 |
Because the algorithms presented in this chapter are $O(log \; N)$,
|
2769 |
the results so far are completely satisfactory and usable in practice.
|
2770 |
It is not necessary to go further or to present additional information.
|
2771 |
|
2772 |
However, there is a second model of best rational approximation (and a second
|
2773 |
set of algorithms), involving
|
2774 |
the Stern-Brocot tree. In fact, when reviewing the material in this
|
2775 |
chapter, some readers have inquired why the Stern-Brocot tree was not
|
2776 |
used.\footnote{In brief, the Stern-Brocot tree was not used because
|
2777 |
the resulting algorithms are $O(N)$, and so will introduce practical
|
2778 |
computational difficulties when used with large integers.} In this
|
2779 |
section, we introduce the Stern-Brocot tree, demonstrate how to construct it,
|
2780 |
mention its major properties, show its correspondence with the apparatus of
|
2781 |
continued fractions, and finally show why we \emph{must} use the apparatus
|
2782 |
of continued fractions to find best rational approximations.
|
2783 |
|
2784 |
|
2785 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
2786 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
2787 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
2788 |
\subsection{Definition And Properties Of The Stern-Brocot Tree}
|
2789 |
%Section tag: DPT0
|
2790 |
\label{ccfr0:ssbt0:sdpt0}
|
2791 |
|
2792 |
\index{Stern-Brocot tree}The Stern-Brocot tree
|
2793 |
(Figure \ref{fig:ccfr0:ssbt0:sdpt0:00}), is
|
2794 |
an infinite binary tree which contains all positive rational numbers.
|
2795 |
|
2796 |
\begin{figure}
|
2797 |
\centering
|
2798 |
\includegraphics[width=4.6in]{c_cfr0/sbtdpt01.eps}
|
2799 |
\caption{The Stern-Brocot Tree}
|
2800 |
\label{fig:ccfr0:ssbt0:sdpt0:00}
|
2801 |
\end{figure}
|
2802 |
|
2803 |
To construct the tree, one begins with the two fractions $\frac{0}{1}$
|
2804 |
and $\frac{1}{0}$, and forms the mediant (see Definition
|
2805 |
\cfryzeroxrefhyphen{}\ref{def:cfry0:spfs:02})
|
2806 |
of two adjacent fractions as many
|
2807 |
times as desired to generate additional fractions.
|
2808 |
Figure \ref{fig:ccfr0:ssbt0:sdpt0:00} illustrates the construction process.
|
2809 |
Note in Figure \ref{fig:ccfr0:ssbt0:sdpt0:00} that the adjacent fractions
|
2810 |
are always above and to the left and above and to the right of the fraction
|
2811 |
being constructed, and that in the construction of the Stern-Brocot
|
2812 |
tree, one of the adjacent fractions can be many levels upwards in the tree
|
2813 |
from the fraction being constructed. For example, in
|
2814 |
Figure \ref{fig:ccfr0:ssbt0:sdpt0:00}, when constructing the fraction
|
2815 |
4/5, the left adjacent fraction (3/4) is nearby in the figure, but
|
2816 |
the right adjacent fraction (1/1) is three levels up to the left and
|
2817 |
one level up to the right. Note when constructing the fraction 4/5 that
|
2818 |
its right adjacent fraction is \emph{not} 4/3.
|
2819 |
|
2820 |
Note that it is also possible to maintain the Stern-Brocot tree as an
|
2821 |
ordered list, rather than a tree, starting with the list
|
2822 |
$\{0/1, 1/0\}$. An additional element may be inserted
|
2823 |
between any two existing elements in the list by forming their mediant,
|
2824 |
and this process may be repeated indefinitely. Note also that two
|
2825 |
elements $s_L$ and $s_R$ are Farey neighbors to any number $\alpha$
|
2826 |
if $s_L < \alpha < s_R$ and the mediant of $s_L$ and $s_R$ has a
|
2827 |
denominator larger than the order of the Farey series. This gives a convenient
|
2828 |
procedure for forming best rational approximations using only the Stern-Brocot
|
2829 |
tree, as the following example shows.
|
2830 |
|
2831 |
\begin{vworkexamplestatement}
|
2832 |
\label{ex:ccfr0:ssbt0:sdpt0:01}
|
2833 |
Find the members of $F_{10}$ which enclose $\pi$.
|
2834 |
\end{vworkexamplestatement}
|
2835 |
\begin{vworkexampleparsection}{Solution}
|
2836 |
By repeatedly calculating mediants, terms can be added to the list
|
2837 |
$\{\frac{0}{1}, \frac{1}{0} \}$ until $\pi$ is enclosed and it is not
|
2838 |
possible to generate additional enclosing terms whose denominator does not
|
2839 |
exceed 10. This process is carried out below.
|
2840 |
|
2841 |
\begin{equation}
|
2842 |
\left\{ {\frac{0}{1}, \frac{1}{0} } \right\},
|
2843 |
\left\{ {\frac{0}{1}, \frac{1}{1}, \frac{1}{0} } \right\},
|
2844 |
\left\{ {\frac{0}{1}, \frac{1}{1}, \frac{2}{1}, \frac{1}{0} } \right\},
|
2845 |
\left\{ {\frac{0}{1}, \frac{1}{1}, \frac{2}{1}, \frac{3}{1}, \frac{1}{0} } \right\},
|
2846 |
\end{equation}
|
2847 |
|
2848 |
\begin{equation}
|
2849 |
\left\{ {\frac{0}{1}, \frac{1}{1}, \frac{2}{1}, \frac{3}{1},
|
2850 |
\frac{4}{1}, \frac{1}{0} } \right\},
|
2851 |
\left\{ {\frac{0}{1}, \frac{1}{1}, \frac{2}{1}, \frac{3}{1}, \frac{7}{2},
|
2852 |
\frac{4}{1}, \frac{1}{0} } \right\},
|
2853 |
\left\{ {\frac{0}{1}, \frac{1}{1}, \frac{2}{1}, \frac{3}{1}, \frac{10}{3}, \frac{7}{2},
|
2854 |
\frac{4}{1}, \frac{1}{0} } \right\},
|
2855 |
\end{equation}
|
2856 |
|
2857 |
\begin{equation}
|
2858 |
\left\{ {\frac{0}{1}, \frac{1}{1}, \frac{2}{1},
|
2859 |
\frac{3}{1}, \frac{13}{4}, \frac{10}{3}, \frac{7}{2},
|
2860 |
\frac{4}{1}, \frac{1}{0} } \right\},
|
2861 |
\left\{ {\frac{0}{1}, \frac{1}{1}, \frac{2}{1},
|
2862 |
\frac{3}{1}, \frac{16}{5}, \frac{13}{4}, \frac{10}{3}, \frac{7}{2},
|
2863 |
\frac{4}{1}, \frac{1}{0} } \right\},
|
2864 |
\end{equation}
|
2865 |
|
2866 |
\begin{equation}
|
2867 |
\left\{ {\frac{0}{1}, \frac{1}{1}, \frac{2}{1},
|
2868 |
\frac{3}{1}, \frac{19}{6}, \frac{16}{5}, \frac{13}{4}, \frac{10}{3}, \frac{7}{2},
|
2869 |
\frac{4}{1}, \frac{1}{0} } \right\},
|
2870 |
\end{equation}
|
2871 |
|
2872 |
\begin{equation}
|
2873 |
\left\{ {\frac{0}{1}, \frac{1}{1}, \frac{2}{1},
|
2874 |
\frac{3}{1}, \frac{22}{7}, \frac{19}{6},
|
2875 |
\frac{16}{5}, \frac{13}{4}, \frac{10}{3}, \frac{7}{2},
|
2876 |
\frac{4}{1}, \frac{1}{0} } \right\},
|
2877 |
\end{equation}
|
2878 |
|
2879 |
\begin{equation}
|
2880 |
\left\{ {\frac{0}{1}, \frac{1}{1}, \frac{2}{1},
|
2881 |
\frac{3}{1}, \frac{25}{8}, \frac{22}{7}, \frac{19}{6},
|
2882 |
\frac{16}{5}, \frac{13}{4}, \frac{10}{3}, \frac{7}{2},
|
2883 |
\frac{4}{1}, \frac{1}{0} } \right\}.
|
2884 |
\end{equation}
|
2885 |
|
2886 |
Note that 25/8 and 22/7 are the left and right neighbors to
|
2887 |
$\pi$ in $F_{10}$, since $25/8 < \pi < 22/7$, and since the
|
2888 |
mediant of 25/8 and 22/7 (49/15) has a denominator which is
|
2889 |
too large for the Farey series being considered.
|
2890 |
|
2891 |
Note also that the construction process above could be
|
2892 |
trivially amended to treat the case of a constrained numerator
|
2893 |
rather than a constrained denominator.
|
2894 |
\end{vworkexampleparsection}
|
2895 |
\vworkexamplefooter{}
|
2896 |
|
2897 |
The Stern-Brocot tree has many remarkable properties (especially in view of the
|
2898 |
simplicity of its construction). We mention the following properties
|
2899 |
without proof.
|
2900 |
|
2901 |
\begin{itemize}
|
2902 |
\item Each rational number in the tree is irreducible.
|
2903 |
|
2904 |
\item Each rational number appears in the tree only once.
|
2905 |
|
2906 |
\item Every positive rational number appears in the tree (i.e. there are no rational
|
2907 |
numbers absent).
|
2908 |
\end{itemize}
|
2909 |
|
2910 |
A more detailed discussion of the Stern-Brocot tree and proof of its
|
2911 |
properties is provided
|
2912 |
in \cite{bibref:b:concretemathematics}, pp. 116-123.
|
2913 |
|
2914 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
2915 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
2916 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
2917 |
\subsection{The Correspondence Between The Stern-Brocot Tree And The
|
2918 |
Apparatus Of Continued Fractions}
|
2919 |
%Section tag: DPT0
|
2920 |
\label{ccfr0:ssbt0:sdpt1}
|
2921 |
|
2922 |
The Stern-Brocot tree, on examination, bears a clear resemblence to
|
2923 |
the apparatus of continued fractions. For example, in examining
|
2924 |
Figure \ref{fig:ccfr0:ssbt0:sdpt0:00} and following leftmost branches in
|
2925 |
the tree, the rational numbers 1/2, 1/3, 1/4, and 1/5 correspond respectively
|
2926 |
to the continued fractions [0;2], [0;3], [0;4], and [0;5]. Similarly,
|
2927 |
following
|
2928 |
the right branches down from 1/2 yields, in order, [0;1,2], [0;1,3], and
|
2929 |
[0;1,4]. Clearly, a relationship between the Stern-Brocot tree and the
|
2930 |
apparatus of continued fractions may exist.
|
2931 |
|
2932 |
Suspicions of a simple relationship may also arise by noting that the
|
2933 |
way in which the Stern-Brocot tree is constructed when only left branches
|
2934 |
or only right branches are pursued is of the same form as the rule for
|
2935 |
the formation of continued fraction convergents (Eqns.
|
2936 |
\ref{eq:thm:ccfr0:scnv0:canonicalconvergentconstruction:01}
|
2937 |
and \ref{eq:thm:ccfr0:scnv0:canonicalconvergentconstruction:02}). For example,
|
2938 |
the $n$th successor to the right of 1/3 has the form
|
2939 |
|
2940 |
\begin{equation}
|
2941 |
\label{eq:ccfr0:ssbt0:sdpt1:01}
|
2942 |
\frac{n + 1}{2n+3},
|
2943 |
\end{equation}
|
2944 |
|
2945 |
\noindent{}which is suspiciously similar to
|
2946 |
(\ref{eq:thm:ccfr0:scnv0:canonicalconvergentconstruction:01}) and
|
2947 |
(\ref{eq:thm:ccfr0:scnv0:canonicalconvergentconstruction:02}).
|
2948 |
|
2949 |
There is, in fact, an intimate relationship between the Stern-Brocot
|
2950 |
tree and the apparatus of continued fractions. We present
|
2951 |
this relationship as
|
2952 |
Lemma \ref{lem:ccfr0:ssbt0:sdpt1:sbtcfcorrespondence},
|
2953 |
below.
|
2954 |
|
2955 |
\begin{vworklemmastatement}
|
2956 |
\label{lem:ccfr0:ssbt0:sdpt1:sbtcfcorrespondence}
|
2957 |
Let $R^{z_0}L^{z_1} \ldots{} L^{z_{j-2}} R^{z_{j-1}} L^{z_{j}}$
|
2958 |
or $R^{z_0}L^{z_1} \ldots{} R^{z_{j-2}} L^{z_{j-1}} R^{z_{j}}$
|
2959 |
(depending on whether the final leg of the path is towards the
|
2960 |
left or towards the right, respectively) be the path in the
|
2961 |
Stern-Brocot tree from the fraction 1/1 to the fraction $a/b$, where
|
2962 |
$L^N$ denotes traveling downward and to the left in the tree
|
2963 |
$N$ nodes, and $R^N$ denotes traveling downward and to the right
|
2964 |
in the tree $N$ nodes. Then the continued fraction representation
|
2965 |
of $a/b$ is $[z_0; z_1, \ldots{}, z_{j-2}, z_{j-1}, z_j + 1]$.
|
2966 |
\end{vworklemmastatement}
|
2967 |
\begin{vworklemmaproof}
|
2968 |
The proof is inductive. First note that the constraints of the path
|
2969 |
require that $z_0 \geq 0$, and that $z_k \geq 1$, $k > 0$. In other
|
2970 |
words, only the first rightward leg of the path can have zero steps.
|
2971 |
|
2972 |
If the path is $R^{z_0}$, $z_0 = 0$, then the lemma predicts that the continued fraction
|
2973 |
representation will be $[z_0 + 1]$ = $[1]$, which is the correct continued
|
2974 |
fraction representation of the fraction 1/1. Note that the rational number
|
2975 |
1/1 has no ancestor in the tree.
|
2976 |
|
2977 |
If the path is $R^{z_0}$, $z_0 \neq 0$, then the lemma predicts that the
|
2978 |
continued fraction representation will be $[z_0 + 1]$, which is correct
|
2979 |
on inspection since the most rightward path in the Stern-Brocot tree
|
2980 |
traverses the non-negative integers. Note that the immediate ancestor of
|
2981 |
the fraction $[z_0 + 1]$ is $[z_0]$.
|
2982 |
|
2983 |
If the path is $R^{z_0}, L^{z_1}$, $z_0 = 0$, then the
|
2984 |
fraction $a/b$ will be the weighted mediant of
|
2985 |
1/1 and 0/1,
|
2986 |
|
2987 |
\begin{equation}
|
2988 |
\label{eq:ccfr0:ssbt0:sdpt1:02}
|
2989 |
\frac{1}{z_1 + 1}
|
2990 |
=
|
2991 |
[0; z_1 + 1],
|
2992 |
\end{equation}
|
2993 |
|
2994 |
\noindent{}which argrees with the lemma. Note that the
|
2995 |
immediate ancestor ancestor of $[0; z_1 + 1]$ in the
|
2996 |
tree is $[0; z_1]$.
|
2997 |
|
2998 |
If the path is $R^{z_0}, L^{z_1}$, $z_0 \neq 0$, then the
|
2999 |
fraction $a/b$ will be the weighted mediant of
|
3000 |
$(z_0 + 1)/1$ and $z_0/1$, i.e.
|
3001 |
|
3002 |
\begin{equation}
|
3003 |
\label{eq:ccfr0:ssbt0:sdpt1:03}
|
3004 |
\frac{(z_0 + 1) + (z_0 z_1)}{(1) + (z_1)}
|
3005 |
= z_0 + \frac{1}{z_1 + 1}
|
3006 |
= [z_0; z_1 + 1],
|
3007 |
\end{equation}
|
3008 |
|
3009 |
\noindent{}which is consistent with the lemma. Note also that
|
3010 |
the immediate ancestor of the rational number specified by
|
3011 |
(\ref{eq:ccfr0:ssbt0:sdpt1:03}) is
|
3012 |
|
3013 |
\begin{equation}
|
3014 |
\label{eq:ccfr0:ssbt0:sdpt1:03b}
|
3015 |
\frac{(z_0 + 1) + z_0 (z_1 - 1)}{(1) + (z_1 - 1)}
|
3016 |
= z_0 + \frac{1}{z_1}
|
3017 |
= [z_0; z_1].
|
3018 |
\end{equation}
|
3019 |
|
3020 |
The cases with two or fewer path components have been
|
3021 |
proved above. It remains to prove all cases with three
|
3022 |
or more path components.
|
3023 |
|
3024 |
Let $s_k = p_k/q_k$ denote the $k$th-ordered convergent
|
3025 |
of the continued fraction $[z_0; z_1, \ldots{}, z_{j-1}, z_j]$
|
3026 |
(note that the final partial quotient is \emph{not} adjusted upwards by one).
|
3027 |
For $k \geq 2$, we can establish a relationship between
|
3028 |
$[z_0; z_1, \ldots{}, z_{k-1}, z_k]$
|
3029 |
and
|
3030 |
$[z_0; z_1, \ldots{}, z_{k-1}, z_k + 1]$
|
3031 |
as follows:
|
3032 |
|
3033 |
\begin{equation}
|
3034 |
\label{eq:ccfr0:ssbt0:sdpt1:04}
|
3035 |
[z_0; z_1, z_2, \ldots{}, z_{k-2}, z_{k-1}, z_k + 1]
|
3036 |
=
|
3037 |
\frac{(z_k + 1)p_{k-1} + p_{k-2}}{(z_k + 1)q_{k-1} + q_{k-2}}
|
3038 |
=
|
3039 |
\frac{p_k + p_{k-1}}{q_k + q_{k-1}}.
|
3040 |
\end{equation}
|
3041 |
|
3042 |
If we agree for convenience, as was mentioned in
|
3043 |
Section \ref{ccfr0:scnf0}, that we will define $s_{-1} = p_{-1}/q_{-1} = 1/0$,
|
3044 |
then (\ref{eq:ccfr0:ssbt0:sdpt1:04}) holds for $k \geq 1$.
|
3045 |
|
3046 |
\textbf{(Inductive Step):} Assume that the lemma holds
|
3047 |
up through $k-1$. For a path in the Stern-Brocot tree
|
3048 |
$R^{z_0}L^{z_1} \ldots{} L^{z_{k-2}} R^{z_{k-1}} L^{z_{k}}$
|
3049 |
or $R^{z_0}L^{z_1} \ldots{} R^{z_{k-2}} L^{z_{k-1}} R^{z_{k}}$,
|
3050 |
$k \geq 2$, the ``reversal'' fraction above (i.e. the fraction where the path changes
|
3051 |
directions) is
|
3052 |
|
3053 |
\begin{equation}
|
3054 |
\label{eq:ccfr0:ssbt0:sdpt1:05}
|
3055 |
[z_0; \ldots{}, z_{k-2}, z_{k-1} + 1] =
|
3056 |
\frac{p_{k-1} + p_{k-2}}{q_{k-1} + q_{k-2}}
|
3057 |
\end{equation}
|
3058 |
|
3059 |
\noindent{}(this is established by the lemma on the path through $k-1$ and by
|
3060 |
Eqn. \ref{eq:ccfr0:ssbt0:sdpt1:04}).
|
3061 |
|
3062 |
The immediate ancestor of the fraction specified in
|
3063 |
(\ref{eq:ccfr0:ssbt0:sdpt1:05}) is
|
3064 |
|
3065 |
\begin{equation}
|
3066 |
\label{eq:ccfr0:ssbt0:sdpt1:06}
|
3067 |
[z_0; \ldots{}, z_{k-2}, z_{k-1}] =
|
3068 |
\frac{z_{k-1}p_{k-2} + p_{k-3}}{z_{k-1}q_{k-2} + q_{k-3}} ,
|
3069 |
\end{equation}
|
3070 |
|
3071 |
\noindent{}as was shown to hold in (\ref{eq:ccfr0:ssbt0:sdpt1:03b}) and
|
3072 |
in the inductive step.
|
3073 |
|
3074 |
The rational number corresponding to the path
|
3075 |
$R^{z_0}L^{z_1} \ldots{} L^{z_{k-2}} R^{z_{k-1}} L^{z_{k}}$
|
3076 |
or $R^{z_0}L^{z_1} \ldots{} R^{z_{k-2}} L^{z_{k-1}} R^{z_{k}}$
|
3077 |
is a weighted mediant of (\ref{eq:ccfr0:ssbt0:sdpt1:05})
|
3078 |
and (\ref{eq:ccfr0:ssbt0:sdpt1:06}):
|
3079 |
|
3080 |
\begin{eqnarray}
|
3081 |
\label{eq:ccfr0:ssbt0:sdpt1:07}
|
3082 |
\hspace{-0.35in}
|
3083 |
\frac{z_k(z_{k-1}p_{k-2} + p_{k-3}) + p_{k-1} + p_{k-2}}
|
3084 |
{z_k(z_{k-1}q_{k-2} + q_{k-3}) + q_{k-1} + q_{k-2}}
|
3085 |
& = &
|
3086 |
\frac{(z_k + 1)p_{k-1} + p_{k-2}}{(z_k + 1)q_{k-1} + q_{k-2}} \\
|
3087 |
\label{eq:ccfr0:ssbt0:sdpt1:08}
|
3088 |
& = & \frac{p_k + p_{k-1}}{q_k + q_{k-1}} \\
|
3089 |
& = & [z_0; z_1, \ldots{}, z_{k-1}, z_{k} + 1],
|
3090 |
\end{eqnarray}
|
3091 |
|
3092 |
\noindent{}which establishes the main result of the lemma in the
|
3093 |
inductive step. Note also that the immediate ancestor of the
|
3094 |
fraction specified in (\ref{eq:ccfr0:ssbt0:sdpt1:07}) is
|
3095 |
$[z_0; \ldots{}, z_{k-1}, z_{k}]$ (which is necessary for
|
3096 |
the inductive step). This proves the lemma.
|
3097 |
\end{vworklemmaproof}
|
3098 |
\begin{vworklemmaparsection}{Remarks}
|
3099 |
This lemma provides a straightforward method to go from a
|
3100 |
fraction's position in the Stern-Brocot tree to its continued
|
3101 |
fraction representation, or vice-versa.
|
3102 |
|
3103 |
To go from a fraction's position in the Stern-Brocot tree to its
|
3104 |
continued fraction representation:
|
3105 |
|
3106 |
\begin{itemize}
|
3107 |
\item Starting with moves downward and to the right from the
|
3108 |
fraction 1/1 ($z_0$), observe the length of the alternating
|
3109 |
rightward and leftward node traversals required to reach
|
3110 |
the desired fraction.
|
3111 |
|
3112 |
\item Adjust the final length upward by one.
|
3113 |
|
3114 |
\item These lengths in order are then the successive partial quotients
|
3115 |
of the fraction.
|
3116 |
\end{itemize}
|
3117 |
|
3118 |
To go from the continued fraction representation of a fraction
|
3119 |
to its position in the Stern-Brocot tree:
|
3120 |
|
3121 |
\begin{itemize}
|
3122 |
\item Reduce the final partial quotient by one.
|
3123 |
|
3124 |
\item Use the partial quotients, in order, in an alternating fashion,
|
3125 |
to go rightward and downward
|
3126 |
and leftward and downward in the Stern-Brocot tree. The fraction
|
3127 |
reached on the final leg will be the fraction of interest.
|
3128 |
\end{itemize}
|
3129 |
\end{vworklemmaparsection}
|
3130 |
\vworklemmafooter{}
|
3131 |
|
3132 |
It is clear from the lemma above that the Stern-Brocot tree and the
|
3133 |
apparatus of continued fractions are intimately related. Specifically,
|
3134 |
the Stern-Brocot tree provides a model for the formation and arrangement
|
3135 |
of rational numbers, but the apparatus of continued fractions provides
|
3136 |
a much more efficient way to navigate the Stern-Brocot tree and to find
|
3137 |
best rational approximations.
|
3138 |
|
3139 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
3140 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
3141 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
3142 |
\subsection{Using The Stern-Brocot Tree To Find Best Rational Approximations}
|
3143 |
%Section tag: USB0
|
3144 |
\label{ccfr0:ssbt0:susb0}
|
3145 |
|
3146 |
It is clear from Example \ref{ex:ccfr0:ssbt0:sdpt0:01} that the Stern-Brocot
|
3147 |
tree can be used to find best rational approximations in the Farey series
|
3148 |
of any order, simply by forming mediants until the number of interest
|
3149 |
is enclosed. It is also clear that an algorithm of repeatedly forming
|
3150 |
mediants in order to find a best rational approximation in
|
3151 |
$F_{k_{MAX}, \overline{h_{MAX}}}$ can be devised.
|
3152 |
|
3153 |
However, the sole drawback of such a procedure is that building the Stern-Brocot
|
3154 |
tree from the top in order to find neighbors in $F_N$ is an
|
3155 |
$O(N)$ procedure, which renders it unsuitable for use with large
|
3156 |
$N$. For this reason, the continued fraction algorithms presented
|
3157 |
earlier in the chapter, which are $O(log \; N)$ (due to the
|
3158 |
guaranteed minimum exponential rate of increase of convergent
|
3159 |
denominators, Theorem \ref{thm:ccfr0:scnv0:minimumrateofconvergentdenominatorincrease}),
|
3160 |
are the only practical algorithms.
|
3161 |
|
3162 |
|
3163 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
3164 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
3165 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
3166 |
\section{Practical Techniques}
|
3167 |
%Section tag: PTQ0
|
3168 |
|
3169 |
Although this chapter has presented rather theoretical results and techniques
|
3170 |
from number theory, our emphasis is on practical applications (which is why
|
3171 |
we've concentrated on finding Farey neighbors of \emph{rational} numbers).
|
3172 |
Practicing engineers would be more likely to use the digits from a calculator
|
3173 |
as the starting point to obtain a rational approximation than to use
|
3174 |
a symbolic irrational constant, such as $\pi$.
|
3175 |
|
3176 |
In this section, we present \emph{practical} techniques---those most likely
|
3177 |
to be used in practice by microcontroller software developers.
|
3178 |
|
3179 |
|
3180 |
|
3181 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
3182 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
3183 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
3184 |
\subsection{Practical Aspects Of Beginning With A Rational Approximation}
|
3185 |
%Subsection tag: PAS0
|
3186 |
\label{ccfr0:sptq0:sspas0}
|
3187 |
|
3188 |
In practical applications, one often begins with a rational approximation
|
3189 |
to a irrational number.
|
3190 |
For example, one might use 3.14159265359 (from
|
3191 |
a calculator) as the value of $\pi$ for the application of
|
3192 |
Algorithm \ref{alg:ccfr0:scrn0:akgenalg}. This naturally raises the
|
3193 |
question of how accurate the rational approximation used
|
3194 |
as a starting point must be to avoid identifying the wrong
|
3195 |
rational numbers as Farey neighbors. We illustrate the possibility
|
3196 |
of identifying the wrong rational number with an example.
|
3197 |
|
3198 |
\begin{vworkexamplestatement}
|
3199 |
\label{ex:ccfr0:sptq0:01}
|
3200 |
Find the members of $F_{255}$ which enclose $\pi$, using
|
3201 |
3.1416 as the value of $\pi$.
|
3202 |
\end{vworkexamplestatement}
|
3203 |
\begin{vworkexampleparsection}{[Erroneous] Solution And Remarks}
|
3204 |
It can be shown using the methods presented earlier that
|
3205 |
the members of $F_{255}$ which enclose 3.1416 are
|
3206 |
355/113 and 732/333, i.e.
|
3207 |
|
3208 |
\begin{equation}
|
3209 |
\frac{355}{113} < 3.1416 < \frac{732}{333} .
|
3210 |
\end{equation}
|
3211 |
|
3212 |
However, in fact, 688/219 and 355/113 are the actual enclosing
|
3213 |
neighbors of $\pi$ in $F_{255}$:
|
3214 |
|
3215 |
\begin{equation}
|
3216 |
\frac{688}{219} < \pi < \frac{355}{113} < 3.1416 < \frac{732}{333} .
|
3217 |
\end{equation}
|
3218 |
|
3219 |
Thus by using an imprecise approximation of $\pi$, we have incorrectly
|
3220 |
identified the neighbors to $\pi$ in $F_{255}$.
|
3221 |
\end{vworkexampleparsection}
|
3222 |
\vworkexamplefooter{}
|
3223 |
|
3224 |
How do we avoid incorrectly identifying the rational
|
3225 |
numbers which enclose an irrational number when a
|
3226 |
rational approximation of the irrational number is
|
3227 |
used as the starting point for the selection algorithm?
|
3228 |
There are three practical approaches to the problem.
|
3229 |
|
3230 |
Observe that when we know
|
3231 |
the first several decimal digits of an irrational number,
|
3232 |
the actual value of the irrational number is confined
|
3233 |
to an interval. For example, if a calculator displays
|
3234 |
``3.1416'' as the value of $\pi$, we might safely
|
3235 |
assume that $3.14155 \leq \pi \leq 3.14165$, if the
|
3236 |
digits that the calculator displays were
|
3237 |
obtained by rounding.
|
3238 |
|
3239 |
As a first approach to dealing with a rational approximation
|
3240 |
to an irrational number,
|
3241 |
we might simply determine the
|
3242 |
Farey neighbors of both endpoints of the interval of
|
3243 |
uncertainty. For example, if
|
3244 |
314,155/100,000 and 314,165/100,000 have the same
|
3245 |
Farey neighbors in a Farey series of interest (which we can
|
3246 |
easily determine using the algorithms presented earlier
|
3247 |
in this chapter), we could
|
3248 |
correctly deduce that these Farey neighbors are the
|
3249 |
Farey neighbors of $\pi$. On the other hand,
|
3250 |
if 314,155/100,000 and 314,165/100,000 have different
|
3251 |
enclosing Farey neighbors, then there are Farey
|
3252 |
terms in the interval [3.14155, 3.14165],
|
3253 |
and more information about $\pi$
|
3254 |
would be required to determine its true Farey neighbors.
|
3255 |
|
3256 |
A second approach to this same problem would be to devise an
|
3257 |
algorithm to process
|
3258 |
the endpoints of the interval of uncertainty simultaneously and note
|
3259 |
when their partial quotients diverge.
|
3260 |
|
3261 |
A third approach, which is
|
3262 |
perhaps the most direct, is to apply
|
3263 |
Algorithm \cfryzeroxrefhyphen{}\ref{alg:cfmindenominator} to determine
|
3264 |
the rational number with the minimum denominator in the interval of uncertainty.
|
3265 |
We would thus know that we have enough information to determine uniquely the
|
3266 |
enclosing rational numbers in any Farey series up to one less than this
|
3267 |
minimum denominator.
|
3268 |
|
3269 |
\begin{vworkexamplestatement}
|
3270 |
\label{ex:ccfr0:sptq0:02}
|
3271 |
Assume that 3.142 is the only value for $\pi$ available. What is the maximum
|
3272 |
order of the Farey series where the enclosing rational numbers to $\pi$ can
|
3273 |
be unambiguously determined?
|
3274 |
\end{vworkexamplestatement}
|
3275 |
\begin{vworkexampleparsection}{Solution}
|
3276 |
Assume that the constant ``3.142'' was obtained by rounding of digits, rather than
|
3277 |
by truncation of digits: thus $3.1415 \leq \pi \leq 3.1425$. Applying
|
3278 |
Algorithm \cfryzeroxrefhyphen{}\ref{alg:cfmindenominator} yields 333/106
|
3279 |
as the rational number with the smallest denominator in the interval
|
3280 |
[3.1415, 3.1425]. Thus, no rational number with a smaller denominator exists
|
3281 |
in the interval, and the enclosing rational numbers of $\pi$ in the Farey series of
|
3282 |
up to order 105 can be determined with the limited information available.
|
3283 |
\end{vworkexampleparsection}
|
3284 |
\vworkexamplefooter{}
|
3285 |
|
3286 |
|
3287 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
3288 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
3289 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
3290 |
\subsection{Obtaining Irrational Numbers To High Precision}
|
3291 |
%Subsection tag: OIN0
|
3292 |
\label{ccfr0:sptq0:ssoin0}
|
3293 |
|
3294 |
It may happen in practice that one desires more information about an
|
3295 |
irrational number than can be easily obtained. As a practical example,
|
3296 |
a typical scientific calculator treats $\pi$ as 3.14159265359, implying that
|
3297 |
$3.141592653585 \leq \pi \leq 3.141592653595$. Application of
|
3298 |
Algorithm \cfryzeroxrefhyphen{}\ref{alg:cfmindenominator} to this
|
3299 |
interval yields 1,146,408/364,913 as the rational number with the
|
3300 |
smallest denominator in this interval: implying that we cannot determine the
|
3301 |
enclosing rational approximations to $\pi$ even in $F_{2^{32}-1}$ using
|
3302 |
the information most readily available. How do we obtain more digits of $\pi$?
|
3303 |
And even if we can obtain more digits of $\pi$, how do we manipulate rational
|
3304 |
numbers with such large integer components? (We discuss the problem of obtaining
|
3305 |
more digits below, but discuss manipulation in Section \ref{ccfr0:sptq0:smhp0}.)
|
3306 |
|
3307 |
There are two approaches to determining $\pi$ or other numbers to
|
3308 |
high precision.
|
3309 |
|
3310 |
\begin{enumerate}
|
3311 |
|
3312 |
\item Locate information about the number on the Web or in a reference
|
3313 |
book. (Note that decimal digits of the number, partial quotients
|
3314 |
of the number, or convergents of the number can all be used; and it
|
3315 |
is typical for all of these to be somewhere on the Web. However,
|
3316 |
convergents are the most useful form for obtaining best rational
|
3317 |
approximations.)
|
3318 |
|
3319 |
\item Use commercial symbolic manipulation software (\index{Mathematica@\emph{Mathematica}}\emph{Mathematica}
|
3320 |
\cite{bibref:s:wolframmathematica},
|
3321 |
for example) to
|
3322 |
obtain the number of interest to arbitrary
|
3323 |
precison.\footnote{\label{footnote:ccfr0:sptq0:ssoin0:mathematicaexpensive}\emph{Mathematica}
|
3324 |
\cite{bibref:s:wolframmathematica} is quite expensive (version 4.1
|
3325 |
for Windows, as of March 2001, is \$1,495),
|
3326 |
and something that a microcontroller software developer
|
3327 |
would very rarely use, so we assume that most microcontroller software
|
3328 |
developers would search for a less expensive solution.}
|
3329 |
|
3330 |
\end{enumerate}
|
3331 |
|
3332 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
3333 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
3334 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
3335 |
\subsection{Manipulating High-Precision Rational Numbers}
|
3336 |
%Subsection tag: MHP0
|
3337 |
\label{ccfr0:sptq0:smhp0}
|
3338 |
|
3339 |
Assuming that one is able to determine a [rational or irrational] number
|
3340 |
of interest to high-precision (either a large number of decimal digits or a rational
|
3341 |
number with large integer components), how does
|
3342 |
one manipulate rational numbers with large integer components?
|
3343 |
In this section, we list software alternatives.
|
3344 |
|
3345 |
The first alternative we should mention is \emph{The Iju Tool Set}, distributed
|
3346 |
with this book. Starting with version 1.05, this tool set contains
|
3347 |
a subset of the GNU MP Library \cite{bibref:s:gnumultipleprecisionarithmeticlibrary},
|
3348 |
and will manipulate
|
3349 |
large integers and rational numbers with large integer components. To provide
|
3350 |
more flexibility for the user, this tool set is embedded as extensions to
|
3351 |
the Tcl scripting language; so that any of the functionality provided can be
|
3352 |
used either interactively or from within a Tcl script.
|
3353 |
|
3354 |
\begin{figure}
|
3355 |
\centering
|
3356 |
\includegraphics[width=4.6in]{c_cfr0/ijt_ss01.eps}
|
3357 |
\caption{Large Integer Arithmetic And Best Rational Approximations Using \emph{IjuConsole}
|
3358 |
From \emph{The Iju Tool Set}}
|
3359 |
\label{fig:ccfr0:sptq0:smhp0:00}
|
3360 |
\end{figure}
|
3361 |
|
3362 |
Figure \ref{fig:ccfr0:sptq0:smhp0:00} shows a screen snapshot\footnote{By
|
3363 |
the way, \emph{IjuConsole} will handle \emph{much} larger integers, but
|
3364 |
small examples were used so that all of the information would fit
|
3365 |
in a single screen snapshot.} of
|
3366 |
\emph{IjuConsole} (the \emph{Wish}-like Tcl
|
3367 |
interpreter from \emph{The Iju Tool Set}) being used interactively
|
3368 |
to provide the answers to several questions involving large integers and
|
3369 |
rational numbers with large integer components. The first command
|
3370 |
shown,\\
|
3371 |
|
3372 |
\texttt{arbint intmul 218643832695416243621 13254215384521848},\\
|
3373 |
|
3374 |
\noindent{}illustrates integer multiplication. The second command shown,\\
|
3375 |
|
3376 |
\texttt{arbint intfac 55},\\
|
3377 |
|
3378 |
\noindent{}illustrates calculating the factorial of
|
3379 |
55. The third command shown, \\
|
3380 |
|
3381 |
\texttt{arbint cfbrapab [arbint const pi 500] 65535 65535},\\
|
3382 |
|
3383 |
\noindent{}illustrates calculating the best rational approximation to
|
3384 |
$\pi$ with numerator and denominator not exceeding
|
3385 |
65,535, and using the first 500 digits of $\pi$ as
|
3386 |
the value of $\pi$. The fourth command shown,\\
|
3387 |
|
3388 |
\texttt{arbint cfbrapab 1.609344 1023 1023},\\
|
3389 |
|
3390 |
\noindent{}illustrates finding the best rational approximation to
|
3391 |
the conversion factor from MPH to KPH with numerator and denominator
|
3392 |
not exceeding 1,023. The last command shown,\\
|
3393 |
|
3394 |
\texttt{arbint rnadd 78/2976 342/2763},\\
|
3395 |
|
3396 |
\noindent{}illustrates the addition of
|
3397 |
two rational numbers.
|
3398 |
|
3399 |
Many other potential solutions for dealing with large
|
3400 |
integers have been submitted by newsgroup
|
3401 |
posters, and are listed below. (Please note that these alternatives haven't actually been
|
3402 |
tried, and we can't say whether they are viable.)
|
3403 |
|
3404 |
\begin{enumerate}
|
3405 |
|
3406 |
\item \index{Mathematica@\emph{Mathematica}}\emph{Mathematica}
|
3407 |
\cite{bibref:s:wolframmathematica} (by Wolfram Research) will easily operate on large integers and
|
3408 |
rational numbers with large integer components (see
|
3409 |
Footnote \ref{footnote:ccfr0:sptq0:ssoin0:mathematicaexpensive}).
|
3410 |
(Suggested by \index{Lutus, Paul} Paul Lutus \cite{bibref:i:paullutus} and
|
3411 |
\index{Taylor, Don} Don Taylor \cite{bibref:i:dontaylor}.)
|
3412 |
|
3413 |
\item \index{GNU!Multiple Precision Arithmetic Library (GMP)}The
|
3414 |
\emph{GNU Multiple Precision Arithmetic
|
3415 |
Library (GMP)} \cite{bibref:s:gnumultipleprecisionarithmeticlibrary}.
|
3416 |
This library, which is free and on the Web, can be linked into
|
3417 |
`C' and `C++' programs, and allows fast integer calculations of
|
3418 |
any size that do not exceed the memory available in the computer.
|
3419 |
This library could be used to quickly construct a program to
|
3420 |
process rational numbers with very large integer components.
|
3421 |
|
3422 |
\item \index{UBASIC@\emph{UBASIC}}\emph{UBASIC} \cite{bibref:s:ubasic}
|
3423 |
(\index{Kida, Yuji}by Yuji Kida \cite{bibref:i:yujikida})
|
3424 |
is an extended-precision version of the BASIC
|
3425 |
language which will handle integers up to 2,600 digits and
|
3426 |
exact rational arithmetic. (Suggested by \index{Schorn, Richard} Richard Schorn
|
3427 |
\cite{bibref:i:richardschorn}.)
|
3428 |
|
3429 |
\item \index{Derive 5@\emph{Derive 5}}\emph{Derive 5} \cite{bibref:s:derive5} (by Texas Instruments).
|
3430 |
The exact capabilities of this software are not known, but the Web page indicates
|
3431 |
it can perform exact rational arithmetic. (Suggested by \index{Schorn, Richard} Richard Schorn
|
3432 |
\cite{bibref:i:richardschorn} and \index{Taylor, Don} Don Taylor \cite{bibref:i:dontaylor}.)
|
3433 |
|
3434 |
\item \index{Maple@\emph{Maple}}\emph{Maple} \cite{bibref:s:maple} (by Waterloo
|
3435 |
Maple, Inc.). The exact capabilities of this software are not known.
|
3436 |
(Suggested by
|
3437 |
\index{Lutus, Paul} Paul Lutus \cite{bibref:i:paullutus} and
|
3438 |
\index{Taylor, Don} Don Taylor \cite{bibref:i:dontaylor}.)
|
3439 |
|
3440 |
\item \index{MuPAD@\emph{MuPAD}}\emph{MuPAD} \cite{bibref:s:mupad} (from
|
3441 |
the University Of Paderborn, Germany). The capabilities of this
|
3442 |
software are not known. (Suggested by \index{Schorn, Richard} Richard Schorn
|
3443 |
\cite{bibref:i:richardschorn}.)
|
3444 |
|
3445 |
\end{enumerate}
|
3446 |
|
3447 |
%http://www.csc.fi/math_topics/Mail/FAQ/msg00015.html
|
3448 |
|
3449 |
In addition to the large integer resources above, a
|
3450 |
much longer list of resources is maintained
|
3451 |
at the URL
|
3452 |
|
3453 |
\begin{quote}
|
3454 |
\texttt{http://www.csc.fi/math\_topics/Mail/FAQ/msg00015.html},
|
3455 |
\end{quote}
|
3456 |
|
3457 |
\noindent{}and is reproduced below. Because this URL was apparently last updated
|
3458 |
in 1994, it is not known which of the resources listed are still
|
3459 |
available.
|
3460 |
|
3461 |
\begin{quote}
|
3462 |
\begin{scriptsize}
|
3463 |
\begin{verbatim}
|
3464 |
--------------------------------------------------------------------------------
|
3465 |
Subject: List of Arbitrary Precision C packages
|
3466 |
From: mrr@scss3.cl.msu.edu (Mark Riordan)
|
3467 |
Date: 27 Jan 1994 16:06:01 GMT
|
3468 |
Newsgroups: sci.math
|
3469 |
--------------------------------------------------------------------------------
|
3470 |
This is the file BIGNUMS.TXT from ripem.msu.edu, last updated January 1994.
|
3471 |
|
3472 |
In response to Email requests, I have assembled this list of
|
3473 |
large-integer arithmetic packages of which I have heard.
|
3474 |
Most of these are C function libraries, available in source form.
|
3475 |
A few also deal with floating point numbers.
|
3476 |
|
3477 |
For your convenience, I have placed copies of
|
3478 |
some of these on ripem.msu.edu (35.8.1.178). They are
|
3479 |
available for anonymous FTP in the directory "pub/bignum".
|
3480 |
However, what I have may not be the most current version in all cases.
|
3481 |
|
3482 |
Here they are, in no particular order:
|
3483 |
|
3484 |
mp
|
3485 |
Multiple Precision package that comes with some Unixes
|
3486 |
|
3487 |
Multiple precision package accessed via -lmp flag on your
|
3488 |
compiler. Provides +, -, *, /, gcd, exponentiation,
|
3489 |
sqrt. Comes with SunOS, NeXT Mach, BBN Mach 1000,
|
3490 |
and probably a few others. See "man 3 mp".
|
3491 |
Object code only, of course.
|
3492 |
|
3493 |
PARI
|
3494 |
Henri Cohen, et al., Universite Bordeaux I, Paris, FRANCE
|
3495 |
|
3496 |
Multiple precision desk calculator and library routines.
|
3497 |
Contains optimized assembly code for Motorola 68020,
|
3498 |
semi-optimized code for SPARC, and apparently rather slow
|
3499 |
generic C version. Does both integers and reals.
|
3500 |
Does vectors and matrices as well as scalars.
|
3501 |
Contains a number of advanced functions, some of which I've
|
3502 |
never heard of. ("Weber's function"?)
|
3503 |
Has a factorization function, primality test, & other related stuff.
|
3504 |
Plenty of TEX documentation.
|
3505 |
Public domain, but you can't distribute modified versions.
|
3506 |
Available via anonymous FTP from ftp.inria.fr:lang/ and
|
3507 |
math.ucla.edu. The ucla site has Mac, MSDOS, OS/2, and
|
3508 |
NeXT-specific versions there in addition to:
|
3509 |
Filename: pari-1.37.tar.Z (There are now more recent versions)
|
3510 |
|
3511 |
Arithmetic in Global Fields (Arith)
|
3512 |
Kevin R. Coombes, David R. Grant
|
3513 |
|
3514 |
Package of routines for arbitrary precision integers or
|
3515 |
polynomials over finite fields. Includes basic +, -, *, /
|
3516 |
and a few others like gcd. Source code in C.
|
3517 |
Distributed under the terms of the GNU public license.
|
3518 |
Includes man pages and TEX documentation.
|
3519 |
Filename: arith.tar.Z
|
3520 |
|
3521 |
Arbitrary Precision Math Library
|
3522 |
Lloyd Zusman Los Gatos, CA
|
3523 |
|
3524 |
C package which supports basic +, -, *, /. Provides for radix
|
3525 |
points (i.e., non-integers). Not as polished as the others here.
|
3526 |
Posted to comp.sources.misc in October 1988.
|
3527 |
Filename: apml.tar.Z
|
3528 |
|
3529 |
BigNum
|
3530 |
J. Vuillemin, INRIA, FRANCE, and others.
|
3531 |
Distributed by Digital Equipment Paris Research Lab (DECPRL)
|
3532 |
|
3533 |
A "portable and efficient arbitrary-precision integer" package.
|
3534 |
C code, with generic C "kernel", plus assembly "kernels" for
|
3535 |
MC680x0, Intel i960, MIPS, NS32032, Pyramid, and of course VAX.
|
3536 |
This is probably one of the better-known packages of this type.
|
3537 |
Implements +, -, *, /, mod, plus logical operations OR, AND, XOR.
|
3538 |
Both signed and unsigned arithmetic available.
|
3539 |
Available via email from librarian@decprl.dec.com.
|
3540 |
You will receive 5 shell archives. Give your postal address
|
3541 |
and you will also receive printed documentation from France.
|
3542 |
Package includes TEX documentation.
|
3543 |
Publicly available for non-commercial use.
|
3544 |
I removed this from my archive when I heard a rumor that PRL
|
3545 |
doesn't like others to distribute it. However, BIGNUM *is*
|
3546 |
distributed as part of ecpp (see below).
|
3547 |
|
3548 |
Lenstra's LIP package
|
3549 |
Arjen Lenstra Bellcore
|
3550 |
|
3551 |
Portable unsigned integer package written entirely in C.
|
3552 |
Includes +, -, *, /, exponentiation, mod, primality testing,
|
3553 |
sqrt, random number generator, and a few others.
|
3554 |
An earlier version of this package is the only of these packages
|
3555 |
I have actually used. It works well and is very portable.
|
3556 |
I haven't done any benchmarks against the others, but the code
|
3557 |
looks clever & Lenstra is an accomplished number theorist.
|
3558 |
|
3559 |
LIP replaces lenstra-3.1.c. The package now includes encrypted
|
3560 |
source code; to obtain the decryption key, you must send a
|
3561 |
signed license agreement to Bellcore. See the documentation.
|
3562 |
Filename: lenstra-LIP-package.tar This is a collection of
|
3563 |
all the files in flash.bellcore.com:/pub/lenstra
|
3564 |
|
3565 |
bmp (Brent's Multiple Precision?)
|
3566 |
R. P. Brent
|
3567 |
|
3568 |
1981 vintage FORTRAN code to do extended precision floating &
|
3569 |
fixed point arithmetic. Includes most of the mathematical
|
3570 |
functions you'd find in a FORTRAN run-time library.
|
3571 |
This code is an ACM algorithm, number 524.
|
3572 |
To obtain, send a mail message to netlib@ornl.gov
|
3573 |
containing the line "send mp.f from bmp" or better yet, perhaps
|
3574 |
just start with "help".
|
3575 |
|
3576 |
SPX
|
3577 |
Kannan Alagappan & Joseph Tardo, DEC
|
3578 |
|
3579 |
This is a huge prototype public key authentication system
|
3580 |
based on RSA. I mention it here because those who have heard
|
3581 |
of SPX have probably correctly guessed that it contains a large
|
3582 |
integer package and I want to inform you that the large integer
|
3583 |
package it contains is indeed DEC's BigNum from France.
|
3584 |
You can get a beta test copy of SPX from crl.dec.com (192.58.206.2).
|
3585 |
Use it only for testing, as it "may" expire on a certain date.
|
3586 |
(I don't know whether this has expired yet.)
|
3587 |
|
3588 |
amp (Antti's Multiple Precision?)
|
3589 |
Antti Louko alo@kampi.hut.fi
|
3590 |
|
3591 |
Multiple precision integer package in C. Includes +, -, *, /, %,
|
3592 |
pow, mod, 1/x mod y, random, sqrt, gcd. Available for non-commercial
|
3593 |
use. The package includes "share-secret", a public key system based
|
3594 |
on the Diffie-Hellman algorithm.
|
3595 |
This is normally part of the well-known "des-dist.tar.Z",
|
3596 |
but I have removed the DES part to avoid having to deal with
|
3597 |
cryptographic export laws, and have named the result:
|
3598 |
Filename: amp.tar.Z
|
3599 |
|
3600 |
gennum
|
3601 |
Per Bothner U of Wisconsin-Madison
|
3602 |
|
3603 |
C++ routines and classes to do generic arithmetic, both
|
3604 |
integer and rational. Part of the "Q" programming system.
|
3605 |
Distributed under the terms of the GNU public license.
|
3606 |
Obtained from cygnus.com.
|
3607 |
Filename: gennum.tar.Z
|
3608 |
|
3609 |
MIRACL
|
3610 |
(Shamus Software, Dublin, Ireland)
|
3611 |
|
3612 |
Integer and fractional multiple precision package.
|
3613 |
MIRACL is a portable C library. Full C/C++ source code included
|
3614 |
(In-line assembly support for 80x86). Number theoretic primitives
|
3615 |
needed to support PK Cryptography are supplied.
|
3616 |
C++ classes for Multiprecision Integers, Modular arithmetic, and
|
3617 |
Chinese Remainder Thereom. Implementation in C/C++ of all modern
|
3618 |
methods of Integer Factorisation, viz Brent-pollard, p-1, p+1,
|
3619 |
Elliptic Curve, MPQS. Includes TEX manual and some DOS .EXEs.
|
3620 |
Not public domain, but free for academic and non-commercial use.
|
3621 |
Obtained from ftp.compapp.dcu.ie.
|
3622 |
Filename: /pub/crypt/other/miracl-3.23.zip and miracl.tar.Z (older)
|
3623 |
|
3624 |
precision
|
3625 |
Dave Barrett barrettd@tigger.colorado.edu
|
3626 |
|
3627 |
Multiple precision integer package in C with +,-,*,/, sqrt, rand,
|
3628 |
mod, pow, log. Simple vector support. Does dynamic allocation of memory.
|
3629 |
Free as long as you don't sell it or any program that uses it.
|
3630 |
Filename: precision.tar.Z
|
3631 |
|
3632 |
UBASIC
|
3633 |
Prof. Yuji Kida, Rikkyo University, Nishi-Ikebukuro 3, Tokyo 171, Japan
|
3634 |
kida@rkmath.rikkyo.ac.jp
|
3635 |
|
3636 |
Multiple-precision version of the BASIC programming language,
|
3637 |
for MS-DOS. Includes floating point. Said (by Keith Briggs)
|
3638 |
to be pretty fast. Object only, I think. ervin@morekypr.bitnet
|
3639 |
says: "This is the best package that I know of for
|
3640 |
fast arithmetic. Has a version optimized for 386 machines. Includes
|
3641 |
routines to do MPQS, the fastest currently known general factoring
|
3642 |
algorithm. An additional file is at both sites to allow MPQS to use
|
3643 |
hard drives so that it can factor up to 80 digits. Many number
|
3644 |
theoretical functions are included in UBASIC. It allows over 2500
|
3645 |
digits of precision."
|
3646 |
Available via anonymous FTP from shape.mps.ohio-state.edu,
|
3647 |
or simtel20.army.mil, or wuarchive.wustl.edu.
|
3648 |
|
3649 |
calc_v22
|
3650 |
Unknown
|
3651 |
|
3652 |
MS-DOS C-like language that allows "infinite" precision.
|
3653 |
Nice intrinsic functions. ervin@morekypr.bitnet reports problems
|
3654 |
when changing precision on the fly.
|
3655 |
See simtel20 or wuarchive.
|
3656 |
|
3657 |
briggs_arith
|
3658 |
Keith Briggs (kbriggs@maths.adelaide.edu.au)
|
3659 |
|
3660 |
Turbo Pascal 5 source for routines that do multiple-precision
|
3661 |
+, -, *, /, sqrt, gcd, factoring, rand for integers; also includes
|
3662 |
+, -, *, / and rand for rational numbers.
|
3663 |
Filename: briggs_arith.pas
|
3664 |
|
3665 |
Institute fur Experimentelle Mathematik
|
3666 |
Dr Gerhard Schneider (?)
|
3667 |
|
3668 |
Fast C multiple-precision subroutine library.
|
3669 |
I don't know anything about it; sl25@ely.cl.cam.ac.uk says
|
3670 |
to contact MAT420@DE0HRZ1A.BITNET for more info.
|
3671 |
Postal Address:
|
3672 |
Institute fur Experimentelle Mathematik
|
3673 |
EllernStr 29
|
3674 |
D4300 Essen-12 GERMANY
|
3675 |
|
3676 |
LongInt
|
3677 |
Markus Mueller (mueller@komsys.tik.ethz.ch)
|
3678 |
|
3679 |
"Multi precision arithmetic written in MODULA-2, with the most time critical
|
3680 |
parts written in Assembler. Includes basic arithmetics (+, -, *, /, %) as
|
3681 |
well as arithmetics MODULO a number. An additional module provides a
|
3682 |
collection of procedures for primality testing, gcd, multiplicative
|
3683 |
inverse and more. The package is part of a Privacy Enhanced Mail (PEM)
|
3684 |
package which includes a PEM mailer, RSA key generator and Certificate
|
3685 |
generation tools."
|
3686 |
|
3687 |
Source is in Modula-2, C, and assembler for Sun 3. LongInt has
|
3688 |
also been ported to MS-DOS under Logitech Modula-2 and Turbo
|
3689 |
Assembler. Availability: free for university use (research and
|
3690 |
education); otherwise, a source license is required. To obtain,
|
3691 |
write or email to:
|
3692 |
|
3693 |
Markus Mueller
|
3694 |
Bertastrasse 7
|
3695 |
CH-8953 Dietikon
|
3696 |
Switzerland
|
3697 |
email: mueller@komsys.tik.ethz.ch
|
3698 |
|
3699 |
bignum-1.2
|
3700 |
Henrik.Johansson@Nexus.Comm.SE
|
3701 |
|
3702 |
Bignum package written in portable C. Will in the future
|
3703 |
conform to the Common Lisp functions that handles integers.
|
3704 |
Currently includes +, -, *, /, exponentiation, "exptmod",
|
3705 |
comparison, random numbers, and gcd.
|
3706 |
Filename: bignum-1.2
|
3707 |
|
3708 |
ACM algorithm 567
|
3709 |
D.W. LOZIER and J.M. SMITH
|
3710 |
|
3711 |
FORTRAN subroutines to do extended-precision floating point
|
3712 |
and normalized Legendre polynomials.
|
3713 |
ACM TRANSACTIONS ON MATHEMATICAL SOFTWARE 7,1 (MARCH, 1981)
|
3714 |
Obtained from research.att.com:netlib/toms/567.Z
|
3715 |
Filename: acm-algorithm-567-floating-point.fortran.Z
|
3716 |
|
3717 |
range
|
3718 |
O. Aberth and M. J. Schaefer
|
3719 |
|
3720 |
C++ package to do extended-precision floating point arithmetic
|
3721 |
with programmer-defined precision. Uses decimal representations
|
3722 |
internally. Contains basic +, -, *, /, relational operators,
|
3723 |
++, and a few functions like sin, cos, sqrt, log. Documentation
|
3724 |
a trifle confusing.
|
3725 |
Obtained from math.tamu.edu:pub/range/range.tar.Z
|
3726 |
Filename: range.tar.Z
|
3727 |
|
3728 |
bsint
|
3729 |
Author unknown.
|
3730 |
|
3731 |
Pre-alpha release of C++ big integer package.
|
3732 |
Implements basic math operators, exponentiation, and modular
|
3733 |
exponentiation. Very skimpy documentation.
|
3734 |
See milton.u.washington.edu:/pub/user-supported/tzs/bsint.tar.Z
|
3735 |
|
3736 |
GNU Multiple Precision (GMP)
|
3737 |
GNU (Free Software Foundation) multiple precision package.
|
3738 |
I haven't looked at it yet. This is current as of April 1992,
|
3739 |
but there may be a more recent version by the time you read
|
3740 |
this. This package is very widely available on FTP sites.
|
3741 |
Filename: gmp-1.3.2.tar.Z
|
3742 |
|
3743 |
libg++ - GNU's C++ class library
|
3744 |
Free Software Foundation
|
3745 |
|
3746 |
Includes Integer and Rational classes. Integer provides
|
3747 |
the usual C++ operators, plus exponentiation, gcd, lcm.
|
3748 |
Limited functionality, but documentation is better than most.
|
3749 |
Look for libg++-2.4.tar.gz on an FTP server near you.
|
3750 |
|
3751 |
Elliptic Curve Primality Proving
|
3752 |
Francois Morain, France.
|
3753 |
|
3754 |
Large package to prove the primality of any prime.
|
3755 |
Includes Inria's BIGNUM package.
|
3756 |
Obtained from ftp.inria.fr (128.93.1.26).
|
3757 |
Filename: ecpp.V3.4.1.tar.Z
|
3758 |
|
3759 |
PGP (Pretty Good Privacy)
|
3760 |
Philip Zimmermann prz@sage.cgd.ucar.EDU
|
3761 |
|
3762 |
Crypto package that includes bignum routines in C.
|
3763 |
Assembly implementations available for several processors;
|
3764 |
said to be quite fast for numbers around 1000 bits in size.
|
3765 |
The crypto package violates RSA patents, but the bignum routines
|
3766 |
can be used without fear of legal repercussions.
|
3767 |
|
3768 |
Bell's Arbitrary Precision Calculator
|
3769 |
David I. Bell, Australia (dbell@pdact.pd.necisa.oz.au)
|
3770 |
|
3771 |
Arbitrary-precision calculator with good online help, C-like
|
3772 |
language, many builtin functions, support for integers,
|
3773 |
rational numbers (they work like floating point), complex numbers,
|
3774 |
matrices, strings, lists, files, "objects". Includes
|
3775 |
gcd, primality testing, even trig functions. Recommended.
|
3776 |
(Large package, though.) Obtained from comp.sources.unix.
|
3777 |
Filename: calc-1.24.7.tar.Z
|
3778 |
|
3779 |
Calc for GNU Emacs
|
3780 |
Dave Gillespie (daveg@synaptics.com)
|
3781 |
|
3782 |
Advanced calculator written in Emacs Lisp. Includes arbitrary
|
3783 |
precision integers and floating point, bitwise operations,
|
3784 |
log and trig functions, financial functions, number theoretic
|
3785 |
functions including prime factorization, symbolic calculus,
|
3786 |
and an interface to GNUPLOT.
|
3787 |
Filename: calc-2.02a.tar.Z
|
3788 |
|
3789 |
MPFUN: A Multiple Precision Floating Point Computation Package
|
3790 |
David H. Bailey (dbailey@nas.nasa.gov)
|
3791 |
|
3792 |
Package of Fortran subroutines to perform multiprecision
|
3793 |
floating point arithmetic. Also includes a program that
|
3794 |
can automatically convert ordinary Fortran-77 code into code
|
3795 |
that calls the MPFUN routines.
|
3796 |
Keith Briggs says: "It's a masterpiece, and the state of the art
|
3797 |
as far as Fortran goes."
|
3798 |
Documentation in TeX format. Unrestricted distribution
|
3799 |
allowed at no cost.
|
3800 |
Filenames: mpfun_fortran.tar.Z & mpfun_tex_papers.tar.Z
|
3801 |
|
3802 |
MPQS
|
3803 |
Mark S. Manasse (msm@src.dec.com) and Arjen Lenstra
|
3804 |
|
3805 |
C program to factor numbers on a distributed network of
|
3806 |
heterogeneous machines. June 1993 version.
|
3807 |
Filename: mpqs-distributed-factoring.shar
|
3808 |
|
3809 |
GNU bc
|
3810 |
Author: Philip A. Nelson (phil@cs.wwu.edu)
|
3811 |
GNU bc is an interactive algebraic language with arbitrary precision.
|
3812 |
GNU bc is almost the same as bc & dc in some Unixes.
|
3813 |
Filename: bc-1.02.tar.z (for example, in GNU prep.ai.mit.edu:pub/gnu/)
|
3814 |
|
3815 |
bc & dc
|
3816 |
bc is an interactive processor for an arbitrary precision arithmetic
|
3817 |
language or just compiler/preprocessor for dc calculator with arbitrary
|
3818 |
precision; they comes with some Unixes.
|
3819 |
|
3820 |
Built-in support in other languages
|
3821 |
Various
|
3822 |
|
3823 |
Multiple precision arithmetic is available in a number of
|
3824 |
programming languages, such as Lisp and ABC (cf. mcsun.eu.net).
|
3825 |
Version 8 of the programming language Icon (Griswold's successor
|
3826 |
to SNOBOL4 available from cs.arizona.edu) has large integers.
|
3827 |
Perl (by Larry Wall, available from devvax.jpl.nasa.gov)
|
3828 |
includes source, in Perl, for such a package, but it's probably
|
3829 |
not suitable for serious use.
|
3830 |
For some of these, source code may be available. This list is
|
3831 |
long enough, so I'm not going to pursue it aggressively.
|
3832 |
|
3833 |
Thanks to Keith Briggs and several others who contributed to this list.
|
3834 |
|
3835 |
See also other sites, such as nic.funet.fi:pub/sci/math/multiplePrecision/.
|
3836 |
|
3837 |
Mark Riordan mrr@ripem.msu.edu
|
3838 |
--------------------------------------------------------------------------------
|
3839 |
\end{verbatim}
|
3840 |
\end{scriptsize}
|
3841 |
\end{quote}
|
3842 |
|
3843 |
|
3844 |
|
3845 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
3846 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
3847 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
3848 |
\section{Authors And Acknowledgements}
|
3849 |
%Section tag: ACK0
|
3850 |
This chapter was primarily written by \index{Ashley, David T.}David T. Ashley
|
3851 |
\cite{bibref:i:daveashley}, and is based on a paper originally
|
3852 |
authored by
|
3853 |
David T. Ashley \cite{bibref:i:daveashley},
|
3854 |
Joseph P. DeVoe \cite{bibref:i:joedevoe},
|
3855 |
Karl Perttunen \cite{bibref:i:karlperttunen},
|
3856 |
Cory L. Pratt \cite{bibref:i:corypratt},
|
3857 |
and Anatoly Zhigljavsky \cite{bibref:i:anatolyzhigljavsky}.
|
3858 |
|
3859 |
We would like to gratefully acknowledge the assistance of
|
3860 |
\index{Davidson, Iain} Iain Davidson \cite{bibref:i:iaindavidson},
|
3861 |
\index{Edgar, Gerald A.} Gerald A. Edgar \cite{bibref:i:geraldaedgar}, and
|
3862 |
\index{Smiley, Len} Len Smiley \cite{bibref:i:lensmiley}
|
3863 |
in locating works related to the history of continued fractions.
|
3864 |
We would also like to acknolwedge the assistance of
|
3865 |
\index{Davidson, Iain} Iain Davidson \cite{bibref:i:iaindavidson}
|
3866 |
in providing insight into algorithms and other assistance.
|
3867 |
|
3868 |
For translating the remarks of Huygens and Delambre (Section
|
3869 |
\ref{cfr0:hst0}) from French
|
3870 |
to English, we are grateful to Sandrine de Raspide\index{Raspide, Sandrine@de Raspide, Sandrine} \cite{bibref:i:sandrinederaspide}
|
3871 |
and Danil Hiridjee\index{Hiridjee, Danil} \cite{bibref:i:danilhiridjee}.
|
3872 |
|
3873 |
We would also like to acknowledge the assistance of \texttt{sci.math}
|
3874 |
\cite{bibref:n:scimathnewsgroup}
|
3875 |
newsgroup posters in suggesting software which can manipulate
|
3876 |
high-precision numbers, including
|
3877 |
\index{Lutus, Paul} Paul Lutus \cite{bibref:i:paullutus},
|
3878 |
\index{Schorn, Richard} Richard Schorn \cite{bibref:i:richardschorn},
|
3879 |
and
|
3880 |
\index{Taylor, Don} Don Taylor \cite{bibref:i:dontaylor}.
|
3881 |
|
3882 |
Special thanks to
|
3883 |
\index{Eastham, Chip} Chip Eastham \cite{bibref:i:chipeastham},
|
3884 |
\index{Kolker, Robert} Robert Kolker \cite{bibref:i:robertkolker},
|
3885 |
and
|
3886 |
\index{Reichert, Jan-Hinnerk} Jan-Hinnerk Reichert \cite{bibref:i:janhinnerkreichert}
|
3887 |
for locating and assisting in the correction of typographic
|
3888 |
and mathematical errors.
|
3889 |
|
3890 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
3891 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
3892 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
3893 |
\section{Exercises}
|
3894 |
%Section tag: EXE0
|
3895 |
|
3896 |
\subsection{Algorithms}
|
3897 |
|
3898 |
\begin{vworkexercisestatement}
|
3899 |
\label{exe:cfr0:sexe0:a01}
|
3900 |
Develop an algorithm to convert a continued fraction $[a_0;a_1, \ldots{}, a_n]$
|
3901 |
to a rational number $a/b$ ``from the right'' (starting with $a_n$), and prove
|
3902 |
that the $a/b$ generated will be irreducible. (Hint: the ordinary algorithm
|
3903 |
often applied by hand---working ``from the bottom up'' as shown in
|
3904 |
Example \ref{ex:ccfr0:scnv0:abreconstructionfromright:01}
|
3905 |
will always generate a coprime $a/b$.)
|
3906 |
\end{vworkexercisestatement}
|
3907 |
|
3908 |
\subsection{Calculation Of Best Rational Approximations}
|
3909 |
|
3910 |
\begin{vworkexercisestatement}
|
3911 |
\label{exe:cfr0:sexe0:b01}
|
3912 |
Assuming 1.609344\footnote{\label{footnote:exe:cfr0:sexe0:b01}This
|
3913 |
conversion factor was
|
3914 |
obtained from \cite{bibref:b:nistsp811:1995ed} and is
|
3915 |
assumed to be the most accurate conversion factor available.}
|
3916 |
as the exact conversion factor from miles to
|
3917 |
kilometers, find the best rational approximation to this
|
3918 |
conversion factor with a maximum numerator of 255 and a maximum
|
3919 |
denominator of 255.
|
3920 |
\end{vworkexercisestatement}
|
3921 |
|
3922 |
\begin{vworkexercisestatement}
|
3923 |
\label{exe:cfr0:sexe0:b02}
|
3924 |
Assuming 1.609344 (see Footnote \ref{footnote:exe:cfr0:sexe0:b01})
|
3925 |
as the exact conversion factor from miles to
|
3926 |
kilometers, find the best rational approximation to this
|
3927 |
conversion factor with a maximum numerator of 65,535 and a maximum
|
3928 |
denominator of 65,535.
|
3929 |
\end{vworkexercisestatement}
|
3930 |
|
3931 |
\subsection{Continued Fraction Representation Of Irrational Numbers}
|
3932 |
|
3933 |
\begin{vworkexercisestatement}
|
3934 |
\label{exe:cfr0:sexe0:c01}
|
3935 |
Show that the continued fraction representation of the
|
3936 |
golden ratio $(\sqrt{5}/2 + 1/2)$ is $[1;\overline{1}]$.
|
3937 |
\end{vworkexercisestatement}
|
3938 |
|
3939 |
\vworkexercisefooter{}
|
3940 |
|
3941 |
|
3942 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
3943 |
|
3944 |
\noindent\begin{figure}[!b]
|
3945 |
\noindent\rule[-0.25in]{\textwidth}{1pt}
|
3946 |
\begin{tiny}
|
3947 |
\begin{verbatim}
|
3948 |
$RCSfile: c_cfr0.tex,v $
|
3949 |
$Source: /home/dashley/cvsrep/e3ft_gpl01/e3ft_gpl01/dtaipubs/esrgubka/c_cfr0/c_cfr0.tex,v $
|
3950 |
$Revision: 1.18 $
|
3951 |
$Author: dtashley $
|
3952 |
$Date: 2004/03/12 11:12:35 $
|
3953 |
\end{verbatim}
|
3954 |
\end{tiny}
|
3955 |
\noindent\rule[0.25in]{\textwidth}{1pt}
|
3956 |
\end{figure}
|
3957 |
|
3958 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
3959 |
% $Log: c_cfr0.tex,v $
|
3960 |
% Revision 1.18 2004/03/12 11:12:35 dtashley
|
3961 |
% Erroneous equation reference corrected, plus a cosmetic change to source code
|
3962 |
% by addition of separation bars.
|
3963 |
%
|
3964 |
% Revision 1.17 2004/01/18 20:09:04 dtashley
|
3965 |
% Danil Hiridjee added in acknowledgements.
|
3966 |
%
|
3967 |
% Revision 1.16 2003/11/03 02:14:24 dtashley
|
3968 |
% All duplicate labels as flagged by LaTeX removed. Additional files added
|
3969 |
% to Microsoft Visual Studio edit context.
|
3970 |
%
|
3971 |
% Revision 1.15 2003/04/03 19:31:30 dtashley
|
3972 |
% Correction about the number corresponding to the continued fraction
|
3973 |
% [1;1,1,1,...], received from Jan-Hinnerk Reichert, with additional
|
3974 |
% information provided by two newsgroup posters, made.
|
3975 |
%
|
3976 |
% Revision 1.14 2002/08/22 00:33:33 dtashley
|
3977 |
% Have made aesthetic changes in CFRY0 and CCFR0. Checking in all before
|
3978 |
% rebuild of book.
|
3979 |
%
|
3980 |
% Revision 1.13 2002/04/27 00:21:03 dtashley
|
3981 |
% Substantial edits--preparing for review.
|
3982 |
%
|
3983 |
% Revision 1.12 2002/02/12 19:12:55 dtashley
|
3984 |
% Unwieldly fraction corrected.
|
3985 |
%
|
3986 |
% Revision 1.11 2001/08/31 23:11:14 dtashley
|
3987 |
% End of August 2001 safety check-in.
|
3988 |
%
|
3989 |
% Revision 1.10 2001/08/25 22:51:25 dtashley
|
3990 |
% Complex re-organization of book.
|
3991 |
%
|
3992 |
% Revision 1.9 2001/08/22 10:46:12 dtashley
|
3993 |
% Initial check-in, edits.
|
3994 |
%
|
3995 |
% Revision 1.8 2001/07/23 21:40:40 dtashley
|
3996 |
% Hopefully final changes to the section about convergents as best
|
3997 |
% approximations. Tool documentation changes.
|
3998 |
%
|
3999 |
% Revision 1.7 2001/07/23 03:30:19 dtashley
|
4000 |
% Edits.
|
4001 |
%
|
4002 |
% Revision 1.6 2001/07/09 21:38:45 dtashley
|
4003 |
% Longer list of large integer resources added.
|
4004 |
%
|
4005 |
% Revision 1.5 2001/07/09 02:22:55 dtashley
|
4006 |
% Edits. Safety check-in after changes and addition of figures.
|
4007 |
%
|
4008 |
% Revision 1.4 2001/07/06 23:46:55 dtashley
|
4009 |
% Edits. Addition of K-map diagrams to Boolean function chapter.
|
4010 |
%
|
4011 |
% Revision 1.3 2001/07/01 21:10:59 dtashley
|
4012 |
% Safety check-in after major re-org.
|
4013 |
%
|
4014 |
% Revision 1.2 2001/06/29 23:47:43 dtashley
|
4015 |
% Conversion away from binary for CVS archiving, typos and poor wording
|
4016 |
% in French translation corrected.
|
4017 |
%
|
4018 |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
4019 |
% $History: c_cfr0.tex $
|
4020 |
%
|
4021 |
% ***************** Version 6 *****************
|
4022 |
% User: Dashley1 Date: 3/11/01 Time: 4:42a
|
4023 |
% Updated in $/uC Software Multi-Volume Book (A)/Chapter, CFR0, Continued Fractions
|
4024 |
% Nearly complete except for pending French translation.
|
4025 |
%
|
4026 |
% ***************** Version 5 *****************
|
4027 |
% User: Dashley1 Date: 3/07/01 Time: 12:17a
|
4028 |
% Updated in $/uC Software Multi-Volume Book (A)/Chapter, CFR0, Continued Fractions
|
4029 |
% Edits.
|
4030 |
%
|
4031 |
% ***************** Version 4 *****************
|
4032 |
% User: Dashley1 Date: 12/22/00 Time: 12:54a
|
4033 |
% Updated in $/uC Software Multi-Volume Book (A)/Chapter, CFR0, Continued Fractions
|
4034 |
% Tcl automated method of build refined.
|
4035 |
%
|
4036 |
% ***************** Version 3 *****************
|
4037 |
% User: David T. Ashley Date: 7/29/00 Time: 11:50p
|
4038 |
% Updated in $/uC Software Multi-Volume Book (A)/Chapter, CFR0, Continued Fractions
|
4039 |
% Edits, addition of solutions manual volume.
|
4040 |
%
|
4041 |
% ***************** Version 2 *****************
|
4042 |
% User: David T. Ashley Date: 7/09/00 Time: 11:23p
|
4043 |
% Updated in $/uC Software Multi-Volume Book (A)/Chapter, CFR0, Continued Fractions
|
4044 |
% Addition of new chapters, enhancements to preface.
|
4045 |
%
|
4046 |
% ***************** Version 1 *****************
|
4047 |
% User: David T. Ashley Date: 7/09/00 Time: 9:27p
|
4048 |
% Created in $/uC Software Multi-Volume Book (A)/Chapter, CFR0, Continued Fractions
|
4049 |
% Initial check-in.
|
4050 |
%End of file C_CFR0.TEX
|