
Re: NonEuclidean Arithmetic
Posted:
Sep 12, 2012 3:02 PM


On Wed, Sep 12, 2012 at 9:27 AM, Paul Tanner <upprho@gmail.com> wrote: > On Wed, Sep 12, 2012 at 11:34 AM, kirby urner <kirby.urner@gmail.com> wrote: >> On Tue, Sep 11, 2012 at 8:54 PM, Paul Tanner <upprho@gmail.com> wrote: >> >> << snip >> >> >>> I dealt with the act that you are the one who said that almost >>> everyone never needs to deal with mathematics that deals with >>> noncomputable objects  when as we all know everyone does need to >>> deal with all the reals in any and all mathematics based on the reals, >>> which is essentially all the math everyone learns in high school and >>> beyond. >>> >> >> That shouldn't be the case though. Confining our numeracy and >> alphanumeracy training to the real numbers and its subsets is a huge >> deficiency in today's mediocre curriculum, >> > > I did not say confine things to real numbers. >
Right, that would be daft. Nor should the multiplication operation be confined to numbers in general.
E.g. from a hypothetical high school abstract algebra segment, digital math track:
>>> from perms import anyperm, P >>> permA = anyperm() >>> permA {' ': 'g', 'a': 'y', 'c': 's', 'b': 'p', 'e': 'u', 'd': 'd', 'g': 'q', 'f': 'h', 'i': 'n', 'h': 'z', 'k': 'm', 'j': 'x', 'm': 'f', 'l': 'o', 'o': 'j', 'n': 'e', 'q': 'c', 'p': 't', 's': 'i', 'r': ' ', 'u': 'k', 't': 'a', 'w': 'r', 'v': 'v', 'y': 'l', 'x': 'w', 'z': 'b'} >>> permB = anyperm() >>> pA = P(permA) >>> pB = P(permB) >>> pC = pA * pB >>> pC P({' ': 't', 'a': 'd', 'c': 'm', 'b': 'e', 'e': 'z', 'd': 'x', 'g': 'q', 'f': 'p', 'i': 'h', 'h': 'v', 'k': 'c', 'j': 'n', 'm': 'o', 'l': 'l', 'o': 'i', 'n': 'w', 'q': 'y', 'p': 'r', 's': 'k', 'r': 'u', 'u': 'g', 't': ' ', 'w': 'j', 'v': 'a', 'y': 's', 'x': 'f', 'z': 'b'}) >>> permB {' ': 'u', 'a': ' ', 'c': 'y', 'b': 'b', 'e': 'w', 'd': 'x', 'g': 't', 'f': 'o', 'i': 'k', 'h': 'p', 'k': 'g', 'j': 'i', 'm': 'c', 'l': 's', 'o': 'l', 'n': 'h', 'q': 'q', 'p': 'e', 's': 'm', 'r': 'j', 'u': 'z', 't': 'r', 'w': 'f', 'v': 'a', 'y': 'd', 'x': 'n', 'z': 'v'} >>>
You can see that ' ' (space) goes to 'g' in permA whereas 'g' goes to 't' in permB. In their product, ' ' goes directly to 't'.
The complete source code is less than 20 lines of code, with a language phasing in no later than 8th grade:
from string import ascii_lowercase as letters from random import shuffle
letters = letters + " " # add space
def anyperm(): perm = {} target = list(letters) shuffle(target) return dict(zip(list(letters), target))
class P: def __init__(self, mapping): self.mapping = mapping def __mul__(self, other): newmap = {} for c in self.mapping: newmap[c] = other.mapping[self.mapping[c]] return P(newmap) def __repr__(self): return 'P('+str(self.mapping)+")"
(using plaintext view to get the spacing right  syntactically meaningful)
> We can avoid real numbers only by avoiding just about everything > taught in Algebra I and beyond. Avoiding just about everything taught > in Algebra I and beyond is just dumb.
Not trying to avoid numbers, just not wanting to use them exclusively.
The idea that mathematics is only about numbers is a stereotype that leads to serious forms of bigotry, difficult to overcome in later life.
Playing chess is a mathematical activity. The TimeLife series entitled 'Mathematics' is what recruited me to the field, and it had lots about computers.
I'm concerned about "bait and switch". They promise studying math will pay off, but then they withhold all the good stuff, saying "oh no, that's computer science".
Kirby
 End of Forwarded Message

