Slashdot Mirror


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)?"

42 of 254 comments (clear)

  1. R; apt-get install r-base by eldavojohn · · Score: 5, Informative

    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.
    1. Re:R; apt-get install r-base by sinij · · Score: 2

      While I worked in academia I dealt with both R and matlab. Matlab is more mature, but it isn't free. Most of the code that get passed to you by others is an unreadable amateur code written in matlab. Most other academics wouldn't know how to run anything but matlab. Some advanced stats cannot be easily done in R, unless you want to write it from scratch (good luck with that).

      Overall - if you write your own code and don't expect to do anything else with it, R is fine. If you want to work with others, especially crusty non-CS PhDs - matlab is the only way to go.

    2. Re:R; apt-get install r-base by cheesybagel · · Score: 3, Informative

      I also give my backing to R. There are other packages which look more like integrated though like Octave or Euler. You can even get Mathematica for Linux but it is somewhat expensive.

    3. Re:R; apt-get install r-base by rmcd · · Score: 3, Interesting

      What advanced stats do you have in mind that can be done easily in Matlab but not in R? And I think your assessment of the relative acceptance of the two is out of date. R awareness is growing fast.

      The choice really depends on what you are doing. Matlab is industrial strength engineering software. R is a a powerful statistics oriented programming language. In my experience, R's statistical capabilities are a strength relative to Matlab. Data handling (such as reading a csv file without barfing) is much easier in R than in Matlab. Moreover, Matlab is quite expensive. This is fine in a professional setting, but a showstopper if you're a small operation. The poster can get a student license, but why not use Octave or R? The two languages are actually similar in many respects, see David Heibeler's page.

      I know researchers who have ditched Matlab in favor of R/C++. It really depends on what you're doing.

    4. Re:R; apt-get install r-base by Bill,+Shooter+of+Bul · · Score: 2

      Professional support? What kind of a developer needs professional support for an open sourced language? Hire-able instructors?

      --
      Well.. maybe. Or Maybe not. But Definitely not sort of.
    5. Re:R; apt-get install r-base by bmcage · · Score: 3, Insightful

      Matlab is exceptional, but of course has some cost. .

      Everything you can do in Matlab, you can do better in python. I work in a mathematics department at this moment, so I do know the subject somewhat. If you need some package of a person which is only present in matlab, then porting to python is not that hard, as the syntax can be easily translated to numpy/scipy. For high school students: ipython notebook: http://ipython.org/ipython-doc/dev/interactive/htmlnotebook.html

      For pure mathematics, preference goes to Sage in many circles, However, having been on a conference and seeing the new features in ipython notebook, and knowing they just received a 1.15 million grant by the Sloan foundation, it has a bright future.

      Nevertheless, the relativity department here uses maple for their theoretical work. Most engineers also, but those always try to solve problems first by throwing money toward it :-) From a 'get your work done fast' and from an engineering point of view, maple/mathematica/matlab are great off course. From a 'control your own work', 'know what you are doing', and 'build for the future', chosing a python solution (ipython, matplotlib, sage, ...) is a good bet.

    6. Re:R; apt-get install r-base by asynchronous13 · · Score: 2

      R -- I've heard good things about R, and it's a good tool for certain fields. But if the original poster is interested in going into an Engineering field then different tools are more appropriate (It's better to use the same or similar tools that your colleagues are using).

      Matlab -- one of the industry standards for number crunching and plotting.

      Octave -- a Matlab clone that is frequently good enough. (My company can't quite afford a Matlab license, and I get by with Octave when I need that functionality).

      Maxima -- for CAS, I haven't used it much, I've heard that it works.

      Python with NumPy, SciPy, and Matplotlib -- Highly recommended. The combination is almost as good as Matlab for number crunching, and it is more generically useful.

      Orpie -- great command line calculator

  2. try these by Anonymous Coward · · Score: 3, Informative

    gnuplot
    and bc

    1. Re:try these by Nivag064 · · Score: 2

      I suggest sage, it outperforms Matlab & is free!

      http://www.sagemath.org/
      [...]
      Sage is a free open-source mathematics software system licensed under the GPL. It combines the power of many existing open-source packages into a common Python-based interface.

      Mission: Creating a viable free open source alternative to Magma, Maple, Mathematica and Matlab.
      [...]

  3. Sage or Python + IPython + SciPy + NumPy by rbprbp · · Score: 2

    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.
  4. How about... by TWX · · Score: 4, Funny

    ...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.
    1. Re:How about... by WilliamGeorge · · Score: 2

      I'm not sure about Linux, but years ago when I was in school there was a Windows emulator for a lot of different TI calcs. You had to upload your ROM from your own calc, though, so that it wasn't stealing IP: you were basically cloning your TI calc onto your computer. It worked really nicely, and was great for programming in TI Basic and testing stuff out.

      --
      William George
    2. Re:How about... by na1led · · Score: 2

      Someone should mod a ti89 with newer chipset and android OS. That way teachers will still think your using a standard graphing calculator. My TI89 helped me so much in college, it helped me pass my physics class.

      --
      -- By all means let's be open-minded, but not so open-minded that our brains drop out.
    3. Re:How about... by CanHasDIY · · Score: 3, Informative

      Someone should mod a ti89 with newer chipset and android OS.

      Would this be equivalent?

      Caveat: I am not a "math person."

      --
      An enigma, wrapped in a riddle, shrouded in bacon and cheese
  5. Octave by mjvvjm · · Score: 5, Informative

    Octave - a matlab work-alike
    easy plotting, extensive libraries for linear algebra, stats, etc.

  6. Mathematica by michael_cain · · Score: 3, Informative

    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.

    1. Re:Mathematica by jfdavis668 · · Score: 2

      Mathematica. Best of the best.

    2. Re:Mathematica by emt377 · · Score: 2

      Same here. I use Mathematica 8 Home edition (although on OSX) and always keep a worksheet open on a virtual screen. There are some nice third-party additions for things like bra*ket notation (if you have an interest in physics), various EE tools, and the online data is often handy. The documentation is good as well.

      I'm a big fan of HP calculators, having relied heavily in the past on the HP-67, HP-41 (overclocked and with a PPC ROM soldered on), and HP-48, and still have various others in my collection (like a mint HP-16, an HP-32S anniversary, HP42S, HP-50G), and as much as I like a good calculator it has really long been bypassed by even very basic tools on a laptop and is more of a curiosity these days. Kinda sad given HP was among the first to do portable computers... HP-200LX anyone? I always envisioned the calculator evolving to become something like an iPad mini built to run something like Mathematica, but instead it became irrelevant. Of course, now Wolfram has Mathematica in the pipeline for the iPad...

  7. maxima can't do degrees? Ha. by Anonymous Coward · · Score: 4, Insightful

    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.

  8. Re:Sage or Python + IPython + SciPy + NumPy by Vireo · · Score: 3, Interesting

    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.

  9. So let me sum this up by jeffmeden · · Score: 2, Insightful

    "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.

    1. Re:So let me sum this up by Scutter · · Score: 3, Insightful

      I agree! Why try to find a better way to do something when there's an out-of-date, inefficient way already invented? I mean, think of all of those useless hours you'll spend learning something new when you could be spending that time reflecting on life, or maybe humming a song!

      --

      "Tell me doctor, with all of your defenses, are there any provisions for an attack by killer bees?"
  10. emulators on Android by stenvar · · Score: 2

    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.

  11. Another vote for Octave by Fallen+Kell · · Score: 2

    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"
  12. Matlab by sinij · · Score: 2

    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.

  13. First question ... by gstoddart · · Score: 2

    So, does anyone know of a good software package to replace my graphing calculator

    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.
  14. If you have a smartphone . . . by dogsbreath · · Score: 5, Insightful

    . . . 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

    1. Re:If you have a smartphone . . . by dogsbreath · · Score: 2

      I respectfully disagree. There is no place for a calculator in High School math. It adds nothing to the experience.

      The story is different if you aren't teaching math as a subject but are using math for another purpose and need the numbers.

      But everybody is entitled to an opinion . . . no matter how wrong

      Cheers

  15. The tao of the engineer by overshoot · · Score: 4, Funny

    "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, /. substitutes moderation as "Troll."
  16. Sorry About That by eldavojohn · · Score: 5, Informative

    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.
    1. Re:Sorry About That by Samantha+Wright · · Score: 3, Interesting

      When they added the protocol://-hiding code to Firefox, they screwed up slightly; before the protocol handler is determined when visiting a URL, copying the URL out of the field will not include the protocol handler under certain conditions. I'm having trouble reproducing it at the moment, but it's stung me exactly like that before.

      --
      Bio questions? Ask me to start a Q&A journal. Computer analogies available for most topics!
    2. Re:Sorry About That by Anonymous Coward · · Score: 5, Informative

      This annoyed me so much I dug through Firefox's about:config until I found browser.urlbar.trimURLs. Set it to false and gain functionality.

  17. Anger management by six025 · · Score: 2, Insightful

    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.

  18. How do you bring a Linux system to a test? by mykepredko · · Score: 2

    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

  19. R is easier by G3ckoG33k · · Score: 2

    "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.

    1. Re:R is easier by LourensV · · Score: 4, Informative

      I've got an MSc in CompSci, and I'm now doing a PhD in a biology department. I teach a programming course using Matlab, and I've recently started using R to do my own analysis stuff, mainly because it's popular and I'd like to stay compatible with the rest of the field, as well as use some specialised software that works with it. I have to say, being used to real programming languages (such as C++, I'm not counting Matlab here, although see below) I'm quite frustrated with R. Function names are generally different from other languages and to me at least unintuitive, and the documentation is too often extremely vague and difficult to search.

      For example, the function match() returns the offsets of entries in a vector that match a given object. But what exactly constitutes a match, well, according to help(match) that is "to some extent a matter of definition". It goes on to give an example or two, but that definition remains elusive. Or look at this gem from help(as.vector):

      Value: For ‘as.vector’, a vector (atomic or of type list). All attributes are removed from the result if it is of an atomic mode, but not in general for a list result. The default method handles 24 input types and 12 values of ‘type’: the details of most coercions are undocumented and subject to change.

      First, a "vector of type list" is actually just a list. In R, a vector is an ordered collection of elements all of the same type, while a list is an ordered collection of elements of (possibly) different types. So, by the normal Liskov rules, one could say that a vector is a kind of list in which the types of the elements are all identical. According to the R language definition however, a list is a kind of vector. In practice, lists and vectors are used in rather different ways so their exact relation is not so relevant, and it doesn't make much sense for the help page to throw them together like this. Second, apparently attributes are removed for atomic vectors, but not "in general" for lists. This is a somewhat arbitrary inconsistency, and it leaves the reader to wonder if there are specific attributes or lists for which this doesn't count. But the kicker is in the last sentence: not only are the exact workings of this function explicitly undocumented, they are also subject to change without notice! Note that these are not functions from some obscure package that I pulled off of somebodies blog. They are core language functions, and unfortunately these examples are not exceptional. A colleague of mine recently had his whole analysis suddenly return weird results after a routine update of an add-on package, because someone decided to swap the order of the longitude and latitude arguments to a function for no particular reason.

      That's not to say that R is not usable, but in my opinion is is unsuitable for any kind of programming, and perhaps unsuitable for programmers. R is a powerful, extensible system for statistical analysis, with a command line interface. If you consider your text files with R code as reference notes rather than as source files, and if you use R interactively, copy-pasting lines from your notes and checking after every couple of operations that it's actually doing what you think it is, then you can do useful things with R. Looking around me, that is in fact how most people use it, and what I've taken to doing as well, although I can't resist attempting to automate things here and there.

      Comparing R to Matlab, in my eyes there's no contest in terms of ease of use. The Matlab help files are professionally written and tell you what you need to know in enough detail to be useful, and that difference alone makes it a lot better. The language itself is also a bit more sensible, at least to me, being designed as an easier-to-use alternative to FORTRAN, where R is based on LISP. I was originally considering moving my course to R from Matlab, since I don't like to teach proprietary software, but now that I have some experience with R I'm pretty sure

    2. Re:R is easier by HuguesT · · Score: 3, Informative

      I'm somewhat surprised by this comment.

      The R language and associated libraries is completely described by these free books:

      http://cran.r-project.org/manuals.html
      http://cran.r-project.org/other-docs.html
      http://www.r-project.org/doc/bib/R-books.html

      In fact the reading of the short document http://cran.r-project.org/doc/manuals/r-release/R-intro.html by Bill Venables is enough to cover over 90% of what most people will ever need.

      R is an implementation of the S language by John Chambers, for which he got the 1998 ACM Software System award. It is *not* based on LISP in any way even if the FAQ mentions that one difference between the way R and classical S treats global variables can be compared with the way LISP does it. Even if it were, I don't see any problem with this. Your comment relating to people copy-pasting code in the R console mirrors the way I see people use Matlab every day, so I don't see how one can conclude anything from it.

      The S language predates Matlab by a few years. It is perfectly fine. Yes it has some quirks compared to C or Java or indeed Matlab, but it has some definite advantages like named arguments for functions, and vector/matrix/data frame handling capabilities that indeed Matlab does not match.

      Matlab definitely has a speed advantage but on the other hand R has a fabulous graphics engine. In fact it is in my opinion unmatched except by Splus, another, commercial implementation of S. In fact it is really not fair to compare R, which is a grassroot, free software implementation of a complex language, which is proprietary (and *expensive*)

      Matlab has a much more comprehensive library of useful routine for signal and image processing. S has a much more comprehensive library for statistics. This is because it is used by professional statisticians every day.

  20. Qalculate! by BlackPignouf · · Score: 3, Informative

    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")

  21. Re:Sage or Python + IPython + SciPy + NumPy by adam.voss · · Score: 3, Interesting

    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.

  22. SAGE by csleeper · · Score: 2

    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.

  23. Re:Slide rules by rwa2 · · Score: 2

    Slide rules are interesting...

    [salivating noisily] slide roools! mmmmm...........

    I sort of took the same track back in the 90s (can't believe all the ancient advice in this Ask Slashdot is still valid)

    When I graduated High School and went to an Engineering College, I ditched my TI-84 and got me a nice graduation present of an HP-48GX calculator (which felt like a legacy calculator at the time, and incidentally, is also still top-of-the-line :P )

    1. The pokey HP-48GX made my TI-84 feel FAST! But eventually once I got the hang of RPN I realized that the human input was largely the limiting factor, and RPN made grinding equations ever so slightly faster. Maybe.
    2. My Android phone has a great HP-48GX emulator called Droid48
    3. I've never found any math software or app or emulator that I enjoyed using more than an actual calculator.

    But math is different on a computer. In an engineering college, you'll end up doing lots of Spreadsheets (Excel / OpenOffice) and mathematical scripting software (Matlab / Octave). Those are the two types of things you really need. Stop looking for anything fancier.

    Aw, who am I kidding? Go download python and install the SciPy / SimPy modules (which includes numpy and all sorts of other goodies). Play with VTK and Mayavi for 3D visualization. Solve some big optimization problems with LINDO / lp_solve . Crunch some FEA with San Le's FEA packages. Export exotic mathematical functions and raytrace them in POVRay on a Beowulf cluster. Go have fun!

    But if you just need a simple calculator... I dunno, just enter it into the Google search box. Or Wolfram Alpha if you're feeling chitzy.

  24. lol! by aliquis · · Score: 2

    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!)