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

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

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

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

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

    gnuplot
    and bc

  3. 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 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
  4. Octave by mjvvjm · · Score: 5, Informative

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

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

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

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

  8. 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?"
  9. 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

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

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

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

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

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