Parent Directory | Revision Log

Revision **4** -
(**show annotations**)
(**download**)
(**as text**)

*Thu Oct 6 03:15:02 2016 UTC*
(6 years, 3 months ago)
by *dashley*

File MIME type: application/x-tex

File size: 174877 byte(s)

File MIME type: application/x-tex

File size: 174877 byte(s)

Initial commit after migrating from CVS.

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 |

dashley@gmail.com | ViewVC Help |

Powered by ViewVC 1.1.25 |