Ask Slashdot: Replacing a TI-84 With Software On a Linux Box?
yanom writes "I'm currently a high school student using my TI-84 for mathematics courses. It has all the functionality I need (except CAS), but saying that the hardware is dated is putting it nicely. Waiting 4-5 seconds for a simple function to be graphed on its 96x64 screen just makes me want to hurl it at the wall. Recently, I've begun to notice the absurdity of doing my math homework on a 70's era microchip when I have an i7 machine with Linux within arm's reach. I've begun looking for software packages that could potentially replace the graphing calculator's functionality, including Xcas and Maxima, but both lack what I consider basic calculator functionality — xcas can't create a table of values for a function, and maxima can't use degrees, only radians. So, does anyone know of a good software package to replace my graphing calculator (and maybe provide CAS to boot)?"
If you're not afraid of programming (and it sounds like you're not): R. Gimme more details if you want to know what packages to use for graphing and stuff but installing R is incredibly easy. At the risk of tooting my own horn, you can read through this post, the corresponding story and the replies to it. There are a ton of packages for producing graphs. Are you going for accuracy? Beauty? Speed? What?
Lastly, please don't hate on the TI-84. I still have mine as well as a TI-89 and while they were both expensive, they are beautiful and trustworthy devices. Both have outlasted countless other computing machines that have passed through my usage.
My work here is dung.
gnuplot
and bc
If you don't mind doing coding, try Sage or Python + IPython + NumPy + SciPy. For a quick calculator I like to just use bc in a terminal.
They're there in their room. You're on your own.
...a TI-84 emulator? So long as they didn't add wait-states to simulate the processing speed of the TI...
Do not look into laser with remaining eye.
Octave - a matlab work-alike
easy plotting, extensive libraries for linear algebra, stats, etc.
WxMaxima is may go to choice for intense mathematical stuff.
http://www.scilab.org/
I use it a lot. It may be a little more than you need - almost more like an open-source "Matlab" but it is very good, and free.
It's not free, but a student license isn't much more than the high-end calculators (at least at local bookstore prices) and it will do just about anything you can imagine needing up through at least calculus. Even the mobile or browser front ends that use a Wolfram server are damned good, so long as you have network connectivity.
Why do you want a CAS if you're not prepared to use it. For each trig function, define another which takes an argument in degrees and calls the built-in one with the argument converted to radians.
Believe it or not, The 84 is still fairly good all around. Nothing beats a dedicated hardware keypad (read: not a keyboard) for mathematics entry. I too delve into using the computer for mathematics. The calculator was way faster, entrywise. As for the 4-5 second delay in graphing, adjust xres, or get a faster calculator, or look into overclocking (not kidding). I also used an 89 for years, and 8 years later the 89 is still my go-to calculator.
To summarize : Computer for general homework == pain in the ass. Dedicated hardware is still the way to go.
Oh, and Octave.
I concur: the Python shell is a very very powerful calculator given that you can define functions in the interpreter. There are many graphics packages for Python; Matplotlib is perhaps the most complete albeit not the symplest. As suggested above, installing Python with the IPython shell, NumPy and SciPy, enables the "PyLab" IPython mode, which is similar to what Matlab would offer in terms of graphics and computation integration.
Simpler to install and learn is perhaps Octave (with plots using GnuPlot), which would behave similarly. Although for the long term, I'd say learning the Python shell is more useful than learning Octave.
"instead of waiting 4-5 seconds to do something, i am interested in spending hours of effort to recreate/relearn it on a different platform"
Why not use the "agonizing eternity" of 4-5 seconds to reflect on life, maybe hum a song, or do anything that helps your mind relax before you develop ADD and can ONLY do math?
what karma? it's friday.
If you want something portable and compact, there are tons of emulators of programmable calculators (many of them free) for Android phones.
If you want something more heavy-duty running on Linux, you have a choice between Octave, Python, and R.
This was the first thing I thought of when I saw the post. You need to learn a little of how to use it, but learning Octave is going to be a skill useful for probably at least the next 10-20 years, and something that will give you a good advantage in college as well as the real world jobs market. It uses a very similar language structure as Matlab, which is pretty much the "standard" mathematics program for companies/corporations for precision mathematics.
We were all warned a long time ago that MS products sucked, remember the Magic 8 Ball said, "Outlook not so good"
Matlab. If you planning to go into science (not CS, actual science) ability to code in Matlab will put you head above any of your peers.
Presumably, you are allowed to take your calculator to exams, but not your Linux box.
So, if you're going to end up needing the calculator for your exams, you might want to live with the suck to be sure you don't find yourself fumbling with a device you've not used in a while.
And, to complete the old man aspect of this comment ... luxury, why in my day we used to dream of having a 4-5 second delay in drawing our graphs, we used to have to walk in chest deep snow, up-hill (both ways) to school and back, and do our graphing with rocks and twigs, and send them to the teacher with smoke signals. Of course, I had an onion on my belt, because that was the style in those days ...
Anyway, good luck finding an alternative. :-P
Lost at C:>. Found at C.
Hell, they offer a VM with sage already installed and ready to go. Just run it in vmware player or virtualbox or whatever.
For large sets, this will be our guide even unto death, for the LORD will work for each type of data it is applied to...
. . . there are some excellent graphing calculator apps for iOS and I am sure Android has a fair selection as well. They do 2D, 3D and solve algebra.
Also there exist a number of HP emulations but I don't know if there are any for TI.
All of them execute at some Warp factor faster than discrete calculators but there are some issues with using a device different from what the school recommends. My experience with guiding my own spawn around the perils of high school math leads me to believe that HSs (in Canada at least) are more interested in teaching button pushing than math. Many teachers have no interest in math and are perplexed when someone has an issue with something such as a different calculator solution.
Besides that, when using alternatives you may get differing results or even some fantastic errors depending on how well written the code is.
[RANT ON]
Sorry, but I gotta say this: CALCULATORS OBSTRUCT THE LEARNING OF MATH
phew, had to get that out
My apologies for the caps but it is a rant after all . . .
There is a place for calculators in engineering courses and in some aspects of learning math but you can get a PhD in Math Science without ever getting near a calculator. I saw my kids get all caught up in the numbers to the detriment of understanding the process and theory. When they started doing courses later on (such as physics, biology, chemistry and sociology-er 'stats'), they had to go back and learn some of the fundamentals that had never been emphasized because of the calculator fixation.
Bottom line: use the TI and don't waste time on alternatives. Use that time to learn the theory.
[RANT OFF]
Well, unless of course you are a real nerd (like the rest of us) and do both: learn the math and are obsessive about calculation tools
Cheers
"instead of waiting 4-5 seconds to do something, i am interested in spending hours of effort to recreate/relearn it on a different platform"
An engineer is someone who will spend three hours figuring out how to do a two-hour job in one hour.
Lacking <sarcasm> tags,
Mathics for a great free Mathematica-compatible CAS system with decent 2D plotting.
Sage is another great CAS system but the plotting is less flexible.
Sage is simple
and it scales nice:
Give it a try!
The requested URL (ask.slashdot.org/comments.pl?sid=2529390&cid=38076772) was not found.
This is the correct link. Man, first a major typo from a Wikipedia article and now this, I think I'm done with Slashdot for today. Not even sure how that happened ...
My work here is dung.
This is not likely to be a popular comment around here, but seriously ...
Waiting 4-5 seconds for a simple function to be graphed on its 96x64 screen just makes me want to hurl it at the wall.
If this is a literal problem rather than a joke you may want to look at the reasons why you're so angry about waiting a few seconds. If you can't control this now you will very likely find life becomes quite challenging for you in the long run.
Peace,
Andy.
My daughter is 17 and in the same boat you are and would have liked to use a PC for her Calculus/Functions but I pushed her back to the calculator (with the help of her teacher).
This isn't a new question; I was in the last year of high school where slide rules were taught - everything you are asking about using a PC program instead of a calculator was given by us for using a calculator instead of a slide rule. I suspect that centuries ago, students complained about having to use an abacus and wanted to use a slide rule instead.
I don't like the TI-8x (here in Ontario, they use the 83+) for a number of reasons, but:
1. The Textbooks reference the TI gonkulator and show examples for the calculator.
2. Teachers are familiar with it. Don't expect your teacher to be very helpful if you come back and ask something like, "I'm graphing 2sin(x + 45) on xxx under Ubuntu but the zeros don't show up where I think they should - can you help me?" Chances are the teacher will either be unwilling or unable to help you.
3. You could bring in a Linux pad or netbook, but I doubt you'll be allowed to bring it into tests for reasons discussed in point 2. Teachers are suspicious of things that can possibly do more than the tools they expect.
4. Calculators are incredibly useful tools. It's often easier to pull one out on your desk to test values than bring up a calc program on the PC (especially if you only have one display AND it can be a problem finding real estate on two screens sometimes). They're good things to be familiar with.
Good luck, it's an interesting question and I'm looking forward to how other people answer,
myke
Mimetics Inc. Twitter
A calculate doesn't have the same form factor as a laptop / desktop. You are going to want to take advantage of that additional space.
A good deal of what you are asking for spreadsheets do. When you need more than that, throw me in as another vote for Sage to create something like a MathCad type environment. Also I agree bc is a good choice for quick and dirty manipulations.
I know. Next thing you know, they will expect a ride to and from school, even though we had to walk through three miles of snow pulling a sledge with our younger siblings on it and, to make it even harder, it was uphill both ways!
And then when we got to school, we had to warm up our quills over a whale oil stove that smoked so badly that half the class succumbed to carbon monoxide poisening and those that didn't, coughed small pox, diptheria and polio all over the other kids.
They got it easy these days - and you know what makes it worse? They don't believe a word you say what it was like when you were their age.
myke
(apologies to Monty Python)
Mimetics Inc. Twitter
For that TI-8x look and feel...
I use Andi Graph. http://dougmelton.com/android/andie-graph/ . It's free if you already own a TI calculator. If you don't, you are morally obligated to purchase a TI calculator so that you can say you've paid for the software. It is exactly like using a real TI-8x calculator except the buttons are not tactile.
It runs faster than a real TI-8x on an HTC One V phone, which is a low-end ICS phone. If you want to run it on a PC, get the Android emulator from Google.
If you don't have your cable to rip the ROM from your calculator, you can find the ROM using Google. I don't think there is a version for iOS.
I think a combination of tools might be the answer. I use maxima (wxmaxima frontent) when I need a cas. I use my own software Genius when I need to compute something numerically, and I often use it for in-class demonstrations (I often end up implementing whatever it is I need at some particular point). I can't remember when I last used octave, but that also sometimes happens when tehre's something genius can't do. I tried to make the interface to genius friendly, though of course there's always plenty of room for improvement. Generally it's a "command line" type interface, but I think it can do some pretty graphs. Too friendly tools generally end up being not very flexible. So it is worth it to spend a bit of time learning the less friendly ones.
By the way, I am getting ready to make a new genius release this weekend, I have just one more thing to do on my list before a release.
TI Basic will make you grateful for any other language you will ever program in no matter how much that other language sucks more than your favorite one.
Will do just about anything you need it to do. Windows and Linux. Free. You're welcome. http://en.smath.info/forum/yaf_postst1447_SMath-Studio-0-95-4594--30-July-2012.aspx
"Matlab is more mature"
That is not even close to being true. R surpasses but not outclasses Matlab in many instances and vice versa. It all depends on what you're doing.
R has an unknown userbase (http://bigcomputing.blogspot.se/2011/07/figuring-out-number-of-r-users-in.html) but an impressive, free codebase (www.r-project.org)
whereas Matlab has some 300,000 users (http://www.cs.cornell.edu/info/people/lnt/multimatlab.html) and an equally impressive codebase ( http://www.google.com/search?q=matlab+code).
R is an excellent piece of software, but so is Matlab.
As for simplicity, I find them equally easy to learn.
That said I dumped Matlab years ago for R.
Slide rules are interesting because they give visual and tactile feedback about the numbers being manipulated. They also prevent the presentation of ridiculous precision when no level of accuracy is available. Plus the added benefit of forcing the user to keep track of magnitude.
[salivating noisily] slide roools! mmmmm...........
Oh sorry- it is called SMath Studio. Kind of relevant information to leave out.
I loved my TI 89 before I left outside one rainy night.
qalculate-gtk is my go to calculator on my linux boxes :
http://qalculate.sourceforge.net/
Don't let the website design scare you, it's a pretty decent calculator, and handles units very well (e.g. "10kWh to MJ")
I know you specifically mentioned for use with homework, but you'll probably not be allowed to bring a laptop to an exam, and even if you know how to solve the problems, lack of practice using the de-facto 'official' calculator might slow you down.
Numpy / SciPy isn't just for use at home. I work in an office doing research with a bunch of Ph.D.s and we all use python exclusively. No $4,000 MATLAB licenses for us!
'Impossible' is a word that humans use far too often. -- Seven of Nine
Matlab. If you planning to go into science (not CS, actual science) ability to code in Matlab will put you head above any of your peers.
I agree. I'm a chemist, and I barely skim the surface of what Matlab can do, but cftool and the general plotting features are second to none. Some of the stuff I see the physchem lot do with it is pretty damn good too.
If the question is "can we do it in Matlab?" the answer is almost invariably "yes".
Agree 100%. I'm an engineer (electrical) and knowing Matlab is simply a requirement. In fact, a PhD student in Physics (my sister-in-law, actually) asked me for some help with it. It's mandatory.
The higher, the fewer.
I assume you are looking for a Linux solution, but Microsoft Mathematics really deserves a mention. It's a free-as-in-beer software which has nice graphing features and a smart equation solver. Something between a basic calculator and hardcore tool like MATLAB.
If you actually need a CAS, don't putz around: get Mathematica.
Its error output is incredibly obtuse and it is frankly a PITA to learn to program, but it is the golden standard of CASes for a reason.
Good God man, make sure you learn the theory! If you can't graph y=sin(2x+1) by hand, give up now. How about a circle? Sphere? Surface? Bode Plot? Smith Chart? (and God forbid) root locus?? That's past where you're at, but I managed with a TI-86 just fine, and its mostly because I hated doing matrix math (but knew how).
The higher, the fewer.
Rather than running Sage in terminal, look at Sage Notebook. It is Sage with a web-based GUI. I have not played with it since they went to the new versions that include the OpenID auth; however, the math department at my alma mater host s server and had students use it for class as a replacement for Mathematica in a number of courses. I found it worked well for many things. You could either run a local copy or use one of the freely accessible online servers.
http://futureboy.us/frinkdocs/
This combination has almost all of the functionality of Matlab. In my opinion the plots look nicer than Matlab's, and it runs faster as well. Plus, There are a *ton* of extra packgages that can be installed to augment the basic functionality, and more are being written every day by a vibrant and active community. I learned Matlab as a graduate student, but now, as a professor, I start all of my new coding projects in Python.
You should check out SAGE: http://www.sagemath.org/ It is based on Python. It is a free open source alternative to Magma, Maple, Mathematica and Matlab, created at the University of Washington. It has a CAS that is on par with Mathematica, but it has a lot of capabilities that no other package has (especially in Algebra). SAGE is the most scientific package I know of, since everything is open source, so you can actually prove how accurate its results are by analyzing the code. You don't just enter a formula and get a magical result.
I'd recommend GNU Octave at http://www.gnu.org/software/octave/: it can deal with matrices and thus let you build up tables of functions. It also uses radians as the default angular measure for the trigonometric function, just as Xmaxima/Maxima does on Linux. However, you can easily write a function to convert degrees into radians:
:= x/180*pi;
For Octave:
function rads=ofdegrees(deg)
rads=deg/180*pi;
and similarly, in XMaxima, you can do the conversion as a function definition also:
indegrees(x)
Then, in either case, call the trig functions as sin(indegrees(45)) and your $indegree$ function will convert your degrees into radians.
I use the "gp" calculator which is a programmable front-end to the PARI library of functions. See https://en.wikipedia.org/wiki/PARI/GP
It's great for number theory and discrete math. I primarily use it for cryptography. My TI 86 and TI 89 used to be sitting on my desk at all times but after I discovered gp I don't have any use for them.
Definitely recommend NOT using the interpreter here, unless you're doing simple calculations. Saving your work to a file will allow you to check and edit mistakes. Interpreter is good for testing out functionality, but not for making a product that will ultimately be delivered.
I have left slashdot and am now on Soylent News. FUCK YOU DICE.
Also pointing out Sympy, which is useful for a variety of calculations
- http://sympy.org/en/index.html
He can't use this because it's duck season.
The G
That plus gnuplot.
What more could you want.
Mod parent up; I used TIEMU on my original EEEpc in grad school despite having a TI-89. It requires ROM image, readily available from TI's website, and perfectly emulates. The only gripe I had was the keyboard mapping was strange in some way.
and maxima can't use degrees, only radians
WAY TO GO MATH STUDENT!! :D
(Guess it's more convenient if it could handle it and maybe it can't be scripted or something such but I found that funny regardless and you can't take that away from me!)
zenzen% python3
Python 3.2.3 (default, Oct 19 2012, 20:10:41)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from math import *
>>> pi
3.141592653589793
>>> sin(pi/2)
1.0
>>>
an hour with pygame would probably give you a graphing module.
I left my Ti-85 behind a long time ago and have been using Maple on my linux boxes for years. If you're in the market for a CAS, it has roughly 1500 more functions than Mathematica http://www.mapleprimes.com/questions/134579-Total-Number-Of-Functions-In-Maple#comment134588 and a perpetual student license is a lot less cash than Mma, plus it can be easily integrated into Matlab using the Maple toolbox for Matlab.
Realistically, CAS functionality is easier on paper and do you really need graphing? If you actually know what you are doing, pen, paper and a 15 year old Casio scientific is enough for pretty much everything. Failing that, grab a TI Nspire CAS. Very fast, does more than a TI84 or TI89. I use an HP50g myself but that's a different beast and my primary use case is RPL. Don't use a computer - you can't just grab it, use it and put it down.
Actually the reason calculators still exist is that you can just use them without booting up, updating, installing etc. Its the same reason you have a television still rather than just using a computer to do the job. If calculators ever disappear, then this planet is doomed.
I use tiemu as well with a ti-89 titanium ROM dump. The skins and keyboard mappings could be better (never figured out how to edit that stuff) but it beats carrying around a separate device when you can just run it on the same desktop/laptop you're taking your online math tests with.
A whole 5 seconds for a graph to be plotted. My god, I'm surprised you've been able to keep your temper in check. Having a violent fit and throwing your calculator across the room is the reasonable, adult response.
First world problem.
http://www.bcs1.org/webpages/hsmath/ti-84.cfm
I've not used it yet but I did grab the files.
I'd go on a Vegan diet but the delivery time from Vega is too long. --brownkitty
There are great options above but ROOT is the one I use very often, http://root.cern.ch/ . It has all that I need to plot, fit, histogram, etc. It is interactive and you code in C++. Yes it has an C++ interpreter so your code can be interpreted as well as compiled. It also has python and ruby bindings.
and not a programming environment, there are a buncha TI (and other calculator) emulators. For example:
http://www.zophar.net/ti.html
http://www.ticalc.org/archives/files/fileinfo/84/8442.html
Personally, I'd just open up a spreadsheet program. If you need an algebraic equation solver, go with R, Matlab or possibly Mathomatic:
http://www.mathomatic.org/math/
We are the 198 proof..
You need a degree symbol (\u00b0) after the x if you want degrees (o in GeoGebra)