ticalc.org
Basics Archives Community Services Programming
Hardware Help About Search Your Account
   Home :: Community :: Articles :: Of Mice and Math Programs
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:

  1. 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.)
  2. A programmer writing math/science should get to know the subject in detail, to make a program that has many useful features.
  3. 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.)
  4. 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.
  5. 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.)
  6. 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: Re: Article: "Of Mice and Math Programs"
Eric Haskett

Not a bad ideal why don't you make all of those math & geometry things and then YOU upload those programes YOU made!!!

Reply to this comment    29 August 1998, 16:43 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: Re:quests. Get it? Re,quests? <sigh>
Plexus Publishing
(Web Page)

We also make programs upon request!! Just go to the link above, and proceed to our order page. Of course, anything we do is for free.

-Plexus Publishing

Reply to this comment    29 August 1998, 18:01 GMT


Re: Re: Re:quests. Get it? Re,quests? <sigh>
mosmosv pub

we make programes too hea hea

Reply to this comment    1 September 1998, 20:03 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


Plexus Publishing criteria
Matt(programer for Plexus)
(Web Page)

Actually, all of that is not necessary. Just tell us what program you want made, and what features you want it to have. We will then make it. All of that about the formulas and examples is not needed. There hasn't been a program we couldn't do yet. Thanks

-Matt
-Plexus Publishing programer

Reply to this comment    29 August 1998, 18:17 GMT


Re: Plexus Publishing criteria
Ken R
(Web Page)

i prefer the examples if i dont know how to do it exactly right its gonna come out all messed up so send some thing on how to solve (im only in geometry so i havent seen many of the equations you might need but if i can i will program them give us a chance)

Reply to this comment    30 August 1998, 00:35 GMT


Re: Re: Plexus Publishing criteria
Matt (Programer for Plexus)
(Web Page)

I can make programs up through AP calculus, AP chemistry, AP physics, etc. I have an 86 and an 83. All I need to know are the functions you want. Ken(founder) hasn't gotten that far yet, so it depends on who you send it to. Thanks

-Matt
-Plexus Publishing

Reply to this comment    30 August 1998, 01:06 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: Plexus Publishing criteria
ken r

aww shut up if i knew how to do that crac you just said id make a program for it
i was trying to say if i know how to do it i can program it

Reply to this comment    30 August 1998, 16:41 GMT

Re: Re: Re: Re: Plexus Publishing criteria
Matt

They don't even offer IB where I live, otherwise I would be in it. I didn't want to go to the school of science and math, so I am stuck in my limited highschool. I said what I was in so people would have an idea what programs I was capable of making. By the way, you said above that you think a 92 is what you need for calculus anyway. Why would I make them for a lesser platform. I have friends that are further along in math than you and are Juniors in highschool. I could have them relate how to do it to me.

Reply to this comment    30 August 1998, 19:57 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: Re: Re: Re: Plexus Publishing criteria
snb  Account Info

Stop bragging already dang it!!!

I don't know how many times you've mentioned that your in IB Math Methods class and how much better that is than anything else.

Just put a sock in it cause everyone's tired of hearing about your complex theories and other crap!

Reply to this comment    24 March 2002, 21:46 GMT


Re: Re: Re: Re: Plexus Publishing criteria
Ankur Dave Account Info

Could you post your Number Field Sieve program in the archives; it would be very useful, and if it's not great, at least the engine is in place.

Reply to this comment    29 October 2005, 03:19 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: Re: Article: "Of Mice and Math Programs"
S.T.L.
(Web Page)

My Democritus, man, you don't think writing math/science programs is fun? I derived a weeks' worth of fun making PRIME2. That's a big difference between you and me: I'm a nerd. You don't seem to be. (Why? In my opinion, one of the niftiest books ever is the CRC Standard Mathematical Tables and Formulae, 30th edition) :-D And don't say "us programmers" - I'm one too. Just I do TI-Basic, and I don't have a lot of time on my hands.

Reply to this comment    30 August 1998, 09:29 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


Re: Re: Article: "Of Mice and Math Programs"
S.T.L.
(Web Page)

Add the Law of Cosines and the Law of Sines to your calc program. That'll make it more useful. :-D
By the way, if you'd E-mail me a copy of your program, I'll tell ya what Wheel Factorization is. Why not tell ya here?
1. I'm too lazy to hunt fer it.
2. I want to see what algorithm you have right now. Or you could tell me the algorithm here (the prime one), but I'd still want the program. *grin*

I *think* I'll be able to read a Mac-formatted file. I think. Just to be safe, post the algorithm here. Bet you a donut it's Baby Trial Divide.

******

Hey, tell me how long yer program takes to find a factor of 17439280249. Please do it on an unaccelerated TI-85, and be honest. :-D I've timed PRIME2 already.
Thank ya in advance. :-P

Reply to this comment    30 August 1998, 09:35 GMT

1  2  3  4  5  

You can change the number of comments per page in Account Preferences.

  Copyright © 1996-2012, the ticalc.org project. All rights reserved. | Contact Us | Disclaimer