Fascinating. How did Iverson do division? Op 15 jun. 2012, om 23:08 heeft David Leibs het volgende geschreven:
> Speaking of multiplication. Ken Iverson teaches us to do multiplication by > using a * outer product to build a times table for the digits involved. > +-+--------+ > | | 3 6 6| > +-+--------+ > |3| 9 18 18| > |6|18 36 36| > |5|15 30 30| > +-+--------+ > > Now you sum each diagonal: > (9) (18+18) (18+36+15) (36+30) (30) > 9 36 69 66 30 > And just normalize as usual: > > 9 36 69 66 30 > 9 36 69 69 0 > 9 36 75 9 0 > 9 43 5 9 0 > 13 3 5 9 0 > 1 3 3 5 9 0 > > The multiplication table is easy and just continued practice for your > multiplication facts. > > You don't need much more machinery before you have the kids doing Cannon's > order n systolic array algorithm for matrix multiply, on the gym floor, with > their bodies. This assumes that the dance teacher is coordinating with the > algorithms teacher. Of course if there isn't something relevant going on that > warrants matrix multiply then all is lost. I guess that's a job for the > motivation teacher. :-) > > -David Leibs > > On Jun 15, 2012, at 12:57 PM, Pascal J. Bourguignon wrote: > >> David Leibs <david.le...@oracle.com> writes: >> >>> I have kinda lost track of this thread so forgive me if I wander off >>> in a perpendicular direction. >>> >>> I believe that things do not have to continually get more and more >>> complex. The way out for me is to go back to the beginning and start >>> over (which is what this mailing list is all about). I constantly go >>> back to the beginnings in math and/or physics and try to re-understand >>> from first principles. Of course every time I do this I get less and >>> less further along the material continuum because the beginnings are >>> so darn interesting. >>> >>> Let me give an example from arithmetic which I learned from Ken >>> Iverson's writings years ago. >>> >>> As children we spend a lot of time practicing adding up >>> numbers. Humans are very bad at this if you measure making a silly >>> error as bad. Take for example: >>> >>> 365 >>> + 366 >>> ------ >>> >>> this requires you to add 5 & 6, write down 1 and carry 1 to the next >>> column then add 6, 6, and that carried 1 and write down 2 and carry a >>> 1 to the next column finally add 3, 3 and the carried 1 and write down >>> 7 this gives you 721, oops, the wrong answer. In step 2 I made a >>> totally dyslexic mistake and should have written down a 3. >>> >>> Ken proposed learning to see things a bit differently and remember the >>> digits are a vector times another vector of powers. Ken would have >>> you see this as a two step problem with the digits spread out. >>> >>> 3 6 5 >>> + 3 6 6 >>> ------------ >>> >>> Then you just add the digits. Don't think about the carries. >>> >>> 3 6 5 >>> + 3 6 6 >>> ------------ >>> 6 12 11 >>> >>> Now we normalize the by dealing with the carry part moving from right >>> to left in fine APL style. You can almost see the implied loop using >>> residue and n-residue. >> >>> 6 12 11 >>> 6 13 0 >>> 7 3 0 >>> >>> Ken believed that this two stage technique was much easier for people >>> to get right. I adopted it for when I do addition by had and it works >>> very well for me. What would it be like if we changed the education >>> establishment and used this technique? One could argue that this sort >>> of hand adding of columns of numbers is also dated. Let's don't go >>> there I am just using this as an example of going back and looking at >>> a beginning that is hard to see because it is "just too darn >>> fundamental". >> >> It's a nice way to do additions indeed. >> >> When doing additions mentally, I tend to do them from right to left, >> predicting whether we need a carry or not by looking ahead the next >> column. Usually carries don't "carry over" more than one column, but >> even if it does, you only have to remember a single digit at a time. >> >> There are several ways to do additions :-) >> >> >> Your way works as well for substractions: >> >> 3 6 5 >> - 3 7 1 >> ----------- >> 0 -1 4 >> 0 -10 + 4 = -6 >> >> 3 7 1 >> - 3 6 5 >> ----------- >> 0 1 -4 >> 10 -4 = 6 >> >> and of course, it's already how we do multiplications too. >> >> >> >>> We need to reduce complexity at all levels and that includes the >>> culture we swim in. >> >> Otherwise, you can always apply the KISS principle >> (Keep It Simple Stupid). >> >> >> -- >> __Pascal Bourguignon__ http://www.informatimago.com/ >> A bad day in () is better than a good day in {}. >> _______________________________________________ >> fonc mailing list >> fonc@vpri.org >> http://vpri.org/mailman/listinfo/fonc > > _______________________________________________ > fonc mailing list > fonc@vpri.org > http://vpri.org/mailman/listinfo/fonc
_______________________________________________ fonc mailing list fonc@vpri.org http://vpri.org/mailman/listinfo/fonc