[Edu-sig] modeling the rational numbers

kirby urner kirby.urner at gmail.com
Fri Aug 24 03:49:47 CEST 2007


On 8/23/07, Michel Paul <mpaul at bhusd.k12.ca.us> wrote:

> I appreciate any suggestions, especially along programming lines, that people may have.
>
> Thanks,
>
> - Michel Paul

Make sure you check out The Book of Numbers by Conway and Guy,
and Sloane's On-Line Encyclopedia of Integer Sequences for programming
ideas.

Absolutely right to focus on Rationals as a Python class, to reinforce
student understanding (or to help nurture it in the first place).  Using
__add__ and __mul__ sets the stage for redefining these ops again
and again, over different sets of elements (e.g. polynomials, complex
numbers).

If you write it so that numerators and denominators accept Rationals
as input types, then you have the bases for Continuing Fractions, a
deep and fun topic, especially when the drudgery has been taken out
of it i.e. you have transparent open source algorithms *and* machine
execution.

A paradise, by yesteryear's standards.  An unexplored junkyard by
the standards of today.

Here's a fun generator for phi, though inefficient:

IDLE 1.2.1
>>> def genphi():
	result = 1.0
	while True:
		yield result
		result = (1 + 1/result)

>>> thegen = genphi()
>>> [thegen.next() for term in range(10)]
[1.0, 2.0, 1.5, 1.6666666666666665, 1.6000000000000001, 1.625,
1.6153846153846154, 1.6190476190476191, 1.6176470588235294,
1.6181818181818182]

Kirby


More information about the Edu-sig mailing list