[Baypiggies] Numeric precision (was Re: Eric Raymond likes Python)
Benjamin Sergeant
bsergean at gmail.com
Fri Sep 11 04:21:53 CEST 2009
For those who'd like to play with math and programming at the same
time I highly recommend Project Euler (or doing 3D / 2D CG).
- Benjamin
On Wed, Sep 9, 2009 at 7:08 PM, Delbert Franz <ddf at iqdotdt.com> wrote:
> On Wednesday 09 September 2009, Edward Cherlin wrote:
>> APL has a default Print Precision for just this reason, and a way for
>> the user to set the number of digits to print throughout a workspace.
>> Explicit numeric formatting was also built in. We tend to get more
>> people who have at least heard of Numerical Analysis in the APL
>> community. Ken Iverson was of the opinion that the rudiments of NA
>> (significant digits, anyway) should be taught in grade school, and did
>> so himself in an IBM experiment in the 1960s.
>>
> I think this is a good idea as well. Plus students should be taught
> that addition and subtraction are inverses, so are multiplication and
> division, and that multiplication is just repeated addition and division
> is a repeated subtraction. I don't recall ever hearing about the last
> two until I got well beyond grade school:) However, my grade school
> is more than 50 years ago, so I may have forgotten what I was taught
> then:)
>
>> On Sun, Sep 6, 2009 at 5:13 PM, Delbert Franz<ddf at iqdotdt.com> wrote:
>> > The complaint about 1.1 printing as 1.10...01, is just plain lame!
>> > When I ask for a variable to be printed without a format given,
>> > I want all of what the variable contains. The protester needs a
>> > simple lesson in floating point arithmetic. Of course too many
>> > people in software know practically nothing of floating point and
>> > expect the computer to behave like the "real number" system.
>> > Simple answer: it does not and never will:) Get a life and
>> > print with a format that cuts off the unavoidable floating-point
>> > noise! If it helps any, gfortran does the same thing and I suspect
>> > any other Fortran implementation worth anything would do the same thing.
>> > I suspect many developers were never taught much about floating point or if they
>> > were, they have forgotten about it.
>>
>> Far too many classes on and books about programming languages only
>> think to teach the syntax, not the nature of data objects or anything
>> else beyond the most superficial semantics. I blame the schools for
>> teaching children that math is too hard for them, instead of teaching
>> how to learn it effectively in a way that suits each individual
>> child's cognitive style.
>>
>> Sure, advanced math is hard. Like anything important, it is as hard as
>> possible, but no harder. Playing baseball, or the piano, or World of
>> Warcraft, for example. We don't say, "I won't learn as much as I can"
>> of anything we like, just because the pros are so much better at it.
>> Unless peer pressure or institutional pressure says we shouldn't.
>>
> I suspect I have learned more math after I finished school (I was a "slow learner"
> and took 22 years!) than I did in school. Of course I have had almost 40 years
> of after school to do that:) It is unfortunate that there is not more emphasis
> on the need for continuing to learn after formal education is finished. In fact,
> I argue one of the primary purposes for "formal education" is learning how to
> learn, that is, getting broad basic knowledge plus a collection of skills
> to use when there is no one else around to help you solve a problem.
>
>> > Being a "number cruncher" requires
>> > a nearly constant awareness of the various pitfalls of ignoring the
>> > differences between floating-point arithmetic and real-number
>> > system arithmetic.
>>
>> Yup. Subtraction is one of the worst. What's 1.000001 - 1.000000 to
>> four significant figures? 0.0000. (The 0 before the decimal point
>> doesn't count.) What does the computer give you? 1.000e-6, unless you
>> know how to tell it in much greater detail what you really want, which
>> involves the intermediate stage, 1.000-1.000.
>>
>
> You are quite right! A good intro to some of the issues for anyone with
> high school algebra would be: "Solving a Quadratic Equation on a
> Computer", by George E. Forsythe, appearing in: "The Mathematical Sciences:
> A Collection of Essays", National Academy of Sciences, National
> Research Council, 1969, pp. 138-152. What looks so simple with
> "exact arithmetic" is a much more complex task when using the arithmetic
> on a computer!
>
> Finally, I am consistently dismayed by the lack of mathematical ability of
> even graduates with degrees in engineering. Mathematical illiteracy is
> a national "scandal". Perhaps math education is too important to leave
> to the mathematicians:)
>
> Delbert
>
>> > _______________________________________________
>> > Baypiggies mailing list
>> > Baypiggies at python.org
>> > To change your subscription options or unsubscribe:
>> > http://mail.python.org/mailman/listinfo/baypiggies
>> >
>>
>>
>>
>> --
>> Edward Mokurai (默雷/धर्ममेघशब्दगर्ज/دھرممیگھشبدگر ج) Cherlin
>> Silent Thunder is my name, and Children are my nation.
>> The Cosmos is my dwelling place, the Truth my destination.
>> http://earthtreasury.org/
>>
>>
>
>
> _______________________________________________
> Baypiggies mailing list
> Baypiggies at python.org
> To change your subscription options or unsubscribe:
> http://mail.python.org/mailman/listinfo/baypiggies
More information about the Baypiggies
mailing list