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"
|
Chris
|
I'm gonna make this SHORT so that people will READ it... TICALC.ORG should redesign and promote their math section to peak interest, and there should be one prog for every algebra thing, and one for every gemetry thing, etc. There should be standard routines for each math thing to.
|
Reply to this comment
|
29 August 1998, 15:50 GMT
|
|
|
|
|
Re:quests. Get it? Re,quests? <sigh>
|
Stephen Walasavage
(Web Page)
|
I guess this would be a great time to step in and state my piece. This is solely an issue of responsibility. Some people CAN program math and science programs well, and they have the option of keeping them private or releasing them. Period. Others COULD NOT program anything if their life depended on it. Those are the people who need others to make programs, in both basic and assembly, for them. 'Nother Period. There are others who are a little in between; hence, lazy. They CAN program, but don't want to. These people should take responsibility for programming their own programs, plus programs that others want or need. Afternote: this paragraph was not meant to flame or promote anyone. It is simply what I think of the programming situation.
And now, for the title of this post. I am now willing to take requests for programs. That may seem like a silly statement, but it is also true. I'll take requests, at my email address of course, for any math or science program, regardless of complication. SLT had a good point. Authors should REALLY brush up on something before they program it. I'll find the fastest way to program it, release a basic version, and if I ever figure out how to do assembly, release an asm version too. By the way, S.L.T., what advanced programs were you thinking of? Number theory is a good one. For anyone interested, please await the release of Tesseract v1.0. If you know what it is, you'll like it. <phew>
P.S. I'm sorry for taking up so much space, too.
|
Reply to this comment
|
29 August 1998, 17:31 GMT
|
|
Re: Article: "Of Mice and Math Programs"
|
Ken R
(Web Page)
|
Plexus publishing is willing to make math and science programs just send
name
protected or not
your name
equation
how to solve it
2 or 3 solved problems
they will initial be made for 83 or 86 but will be ported if needed
you can order by mailing here (address checked daily) or go to or web page
note: we do not port to 92s but we will port to 89 when i get one so if you know a cheep place that delivers to georgia mail me
|
Reply to this comment
|
29 August 1998, 18:00 GMT
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Re: Re: Re: Plexus Publishing criteria
|
S.T.L.
|
I'd almost be tempted to consider this SPAM. Plexus Publishing, whoever you are, and I think you're some high school students who got together one weekend, don't advertise here. AP Calc - Hah, I'm already beyond that. Now, IB Math Methods II, that's advanced. Think AP, cubed. :-D
By the way, weasel men, here's programs I'd be amazed you could do:
Fermat Probable-Primality tests on the TI-85.
Strong-Probable-Primality (Rabin-Miller) tests on the TI-85.
The General Number Field Sieve, on any calculator.
The Special Number Field Sieve, on any calculator.
|
Reply to this comment
|
30 August 1998, 07:39 GMT
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Re: Re: Re: Re: Re: Plexus Publishing criteria
|
Richard Getso
|
Wouldn't it be cool if high school calculus classes were taught where theory was stressed? 90+% of stuff taught in calculus classes was discovered a few centuries ago -- long before TI was in business. "Look, no crutch...uh... I mean calculator." If one knows the theory, then one could write all sorts of math programs and know whether or not they will work. I agree that if you are going to write math programs, then TI-Basic is the way to go -- especially on the TI-89! If you want numeric results, then you've got 'em. Reduced sqrts, pi, i, d/dx, int(..,x), etc ... it's got them too. There is so much more to mathematics than computations.
So, everyone upload your math/science programs so everyone else can pick them apart and make them better (if possible). Isn't that how programs are improved...isn't that how some of us learn math? Let's not be stingy with our knowledge.
If Plexus Publishing is indeed made up of a bunch of school kids, then more power to them. Keep on working, programming and learning.
|
Reply to this comment
|
13 September 1998, 02:47 GMT
|
|
Re: Article: "Of Mice and Math Programs"
|
Mike Raiter
|
Just a couple of quick points:
1. As stated before, just because there are a lack of good math/sci progs out there is not a reason to yell at everyone. Printing out a list of criteria for an "acceptable" program doesn't do anyone any good. If someone uploads a rough (but useable) program that people like, they'll hopefully receive positive feedback and improve the program, or cause someone else to take the idea and run with it. Ideally, we want a collaborative effort to make useful utilities, right?
2. The reason there are no higher level math programs is that calculators become less useful in the majority of those math classes. As a senior Math & Physics major in colllege, I almost never get to use my beloved TI-82.
Will a TI help you with delta-epsilon proofs? Doubtful. When I took the equivalent of calc III a few years ago, I had the option of using Maple for my homework, or coding my own 3d plotter. As much as I would have liked to make a 3d plotter, Maple is a considerably more powerful tool.
The same goes for most of my courses - a calculator is useful for multiplying numbers and a few graphs, but not much else.
The simple fact of the matter is this. With the advent of computers and other technology today, the actual computation is second to the comprehension of the material. You may be able to solve a tough differential equation by hand, but who cares? In the real world, there is software that can do that without making mistakes. The skill is in understanding the problem and the concepts behind the math.
Sorry for the long rant. Actually, my TI did come in pretty hand for DiffEq, so I'll try to find my little prog that plots out vector fields and upload it.
In closing, I'd just like to say that most people write utilities that they find useful (duh). But if you get the chance, throw in an informative prompt or two, and upload it to the files area, EVEN IF IT'S NOT PERFECT. I'm sure everyone will understand.
|
Reply to this comment
|
29 August 1998, 19:46 GMT
|
|
|
|
|
Re: Re: Article: "Of Mice and Math Programs"
|
S.T.L.
|
Maybe you should have ditched your TI-82 and gotten a TI-85. (I have a beloved 85, and I refuse to acknowledge the existence of the 86 till I get one.) Pointing out a list of criteria helps FUTURE programs. After all, I'm one person who's fed up with (say) Windows 95 OSR2. They could have waited a year, and came out with Windows 96, with all the features of OSR2, and more bugfixes. Yet, Microsoft gives us Windows 98, which is STILL Win95 OSR2, but with an annoying loser-friendly "Internet Interface". *grumble* By the way, I refuse to acknowledge the existence of Maple. Long live Mathematica! :-D
|
Reply to this comment
|
30 August 1998, 09:26 GMT
|
|
Re: Article: "Of Mice and Math Programs"
|
pissed at (most) everything here
|
Did any of you who are agreeing with the article ever consider the fact that us programmers don't want to write math/science programs.
If you don't know assembly then don't complain. It isn't that easy to write math/science progs for a processor that only has add and subtract instructions.
A second note is that we don't get anything back from our programming efforts. (pay us money if you want something good) If we're going to put many hours or days into a program then we're going to program what ever we want.
A third is that most people make math/science programs just to suit there personal needs because it isn't fun to do. You should be grateful that any programs at all are uploaded.
IN CONCLUSION, if you don't like the current math/science programs then either write yer own or give programmers money for better programs.
(As much as we me like yer thankful gratitude for out efforts it just isn't worth it)
*sorry for that but you have your opionion and I have mine*
|
Reply to this comment
|
29 August 1998, 21:23 GMT
|
|
Re: Article: "Of Mice and Math Programs"
|
Ben Fuhrman
|
I completely agree that there is a need for more math/science programs, but I also think that we need more than that. The Hp users have programs that do everything that a PDA does (and more), and yet they have calculators of significantly less power than a Ti. I think that programmers need to make programs that exploit the full potential of the calculators. I mean, come on people, a ti-92 is the equivalent of a 386, and yet isn't used to the full potential. In my oppinion, people who have the skill to program ASM games, should also program ASM applications (a text based net browser would be nice) that exploit the power of the calc. I would personally do this, yet I am only a novice when it comes to 68k ASM.
|
Reply to this comment
|
29 August 1998, 22:33 GMT
|
|
Re: Article: "Of Mice and Math Programs"
|
Tim
|
One other suggestion: generalize your program. For example, Instead of having a program that multiplies to binomials, have it multiply n polys of degree n.
I actually have a math program that I haven't gotten around to uploading that does this and more. It's written for the 85 and does primitive symbolic manipulation (add, multiply, divide, powers, roots, relative extrema, inflection points, derivatives, integrals, etc.), Solves triangles(SSS,SSA,SAS,AAS, with area and perimeter) finds prime factors and simplifies radicals, and has a classy table-- all in one package for exactly 7kb. And it's highly optimized. The programs I made it from tooka total of about 15k.
I haven't uploaded it partly beacuse I have a mac and I don't know if all you PC people can use it. Anyone know if PC's can read mac-formatted files? Also, I don't have a zip utility, can someone help me out?
One question: what is the "wheel factorization." The prime part of my program is pretty optimized, but I'm always looking for improvements.
Thanks.
|
Reply to this comment
|
30 August 1998, 02:49 GMT
|
|
1 2 3 4 5
You can change the number of comments per page in Account Preferences.
|