Of Mice and Math Programs
|
Posted on 28 August 1998
The following text was written by S.T.L.: Why'd I choose that title? I don't know,
it sounded niftier than, "Of Mice and Math and Science Programs". Anyways, it's
late at night again, and I'm browsing through the ticalc.org archives. One thing I notice is
that there is a serious deficiency of math/science programs in general, and a waaaay serious
deficit of assembly math/science programs. Well, I know they can't be as popular as games,
but they sure are darn useful. So, the basic idea of this article is that: Some changes need
to be made in the way math/science programs are conceived and written. Let me take
the TI-85 TI-Basic Math program Diviz as an example. It tests numbers to see if they're
prime. The author writes: "But this one is the fastest I've seen." Well, it's not that fast
at all. (No offense intended to the programmer, it's great he wrote a math program.) The
process Diviz uses is Baby Trial Divide. Without going into serious mathematical language
here, there exists a better process called Wheel Factorization. Had the author studied
Number Theory (the area of math involved with primes and such) a little, he'd at least know
about that. It's pretty simple, I implemented it on my TI-85. There are of course even
better things, but they can't be done on a TI-85. This example of deficient programming
isn't restricted to one program. There are some triangle solving programs there, and some of
them (all of them?) don't seem to know of the Law of Cosines, which would let them solve
more triangles. It's also pretty simple, I implemented it on my TI-85. Now, let's
talk about Periodic Table programs. I *used* to have one on my TI-85. I also can't program
one, since I'm assembly-illiterate. Yet I deleted it. Why? Because I do some heavy-duty work
with chemistry, and I'm a precision fanatic. I want as much precision in the atomic masses
as I can get. Thus I've gone back to using a paper table. *If* a TI-85 program that had 7+
decimal precision for atomic masses came out, it would be really useful. Now, all
this has led me to the opinion that math/science programmers have to know the subject
they're doing in detail before they write a program, so that it is as detailed, as
efficient, and as useful as possible. For example, I'm not bothering to upload my program
TRI, because anyone can hack up that sort of thing in TI-BASIC, and may even be better than
mine. I'm also probably not going to upload my program PRIME2. Why? Though it's pretty
speedy for a TI-85, for the TI-92, there's something infinitely better that I couldn't ever
make by myself. The TI-92 Number Theory library, the NTH, can be found at
http://home1.gte.net/paulp/nth/ Now, I think ticalc.org should have a link to that. :-D
So, what's this all mean? Well, I've got some opinions on that. Namely:
- There need to be more math and science programs (both TI-BASIC and assembly) for all the
TI calculators. (Granted, some cannot support the heavy-duty math sometimes required, as in
the NTH. No other calculator (except the TI-89) could support that.)
- A programmer
writing math/science should get to know the subject in detail, to make a program that has
many useful features.
- Also, a programmer writing math/science should go to extremes to
provide precision. (This mostly applies to science. I refuse to use a Periodic Table that
gives Oxygen a mass of 16. I'll consider using a Periodic Table that gives Oxygen a mass of
15.9994.)
- A programmer writing math/science should get to know ways to implement the
algorithms needed, in detail, to make an efficient and quick program. (This mostly applies
to math.) If game programmers spend sleepless nights to speed up their games and shave off
11 bytes, then so can math/science programmers.
- Also, programs should be written so that
they can be used as sub-programs, with no or little modification. For the case of the TI-92
(and 89) they should come in Function format, too. (This mostly applies to math programs. I
did this for my program PRIME2, transforming it into PRIME3.)
- Programs should be made
for really complicated things. Now, while programs that do (say) quadratic equations are
useful in their own right for some/most people, there also exists a need for heavy-duty math
and science. (Probably the NTH is the first attempt at this that I've seen. A look at the
ticalc.org archives shows that most TI-BASIC math programs are for a 8th grade Algebra I
audience. And the TI-BASIC science programs are for a medium high school level. And the
assembly programs are few and far between.)
Well, anyone else have other
suggestions?
|
|
Reply to this item
|
Re: Article: "Of Mice and Math Programs"
|
Philip
|
I totally agree that there should be more asembly prog. deldicated to math and science. I'm much more interest in program such as element85. I hope there will be more misc. type of program are being develop.
Thank you; sincerely
ti- lover
|
Reply to this comment
|
3 January 1999, 04:08 GMT
|
|
Re: Article: "Of Mice and Math Programs"
|
Cecil W. Ellis
|
I was reading your article and you made me start
thinking about what I'd like to see on my
calcultor (TI-86). I'm in a chemistry class right
now but the teacher will not let me use a
programmable calculator; bummer. Anyway, you were
talking about the precision of numbers in your
opening comment. I still like to use my TI for homework and my wishlist is, an Approximate
number calculator program which takes in
consideration precision and accuracy and uses the
correct significant figures as the results. Probably an inline filter that catches the
numbers after an operator or parenthesis is
typed. Is something like this already posted?
Also ,while I'm at it, what about a good old
"shift" or "INV" "EE" and "EE" after a result
with a mantissa and exponent is displayed to
move a decimal thru a number one decimal at a
time either forward or backward. TI history
shows pressing "INV" "EE down-arw" the exponent
will increase and pressing "EE down-arw" by
itself makes the exponent decrease. Probably
just pressing the EE and using the arrow keys
would work fine. Well its a thought. I can
program but my brain has fossilized and I got a
bag of school work to do.
|
Reply to this comment
|
22 January 1999, 06:58 GMT
|
|
Re: Article: "Of Mice and Math Programs"
|
Bubba
|
Yo S.T.L! Are you gay? I can see you throwing up your arms and screaming like a girl after every exclamation mark.
|
Reply to this comment
|
16 March 1999, 10:12 GMT
|
|
Re: Article: "Of Mice and Math Programs"
|
eraser
(Web Page)
|
Hey, don't dis my good friend, the TI-85! It's been with me for 2 years, and it's my buddy. *hiss* And I refuse to acknowledge the existence of the TI-89. The TI-92+ can do everything it does, and more. Now, to find a 92+ Module....
|
Reply to this comment
|
21 March 1999, 19:57 GMT
|
|
1 2 3 4 5
You can change the number of comments per page in Account Preferences.
|