# Non-computational software useful to mathematicians

The MathOverflow question Open source mathematical software contains a list of programs that are useful to perform various computational tasks, such as computer algebra systems.

However, evaluating complicated formulas is not all that a professional mathematician needs to do. For instance, another important part of it is communicating results, producing papers and slides. There was a Mathoverflow question devoted specifically to tools for collaborative paper writing.

It would be useful to identify and gather on MO a list of areas of activities where research mathematicians can use software as part of their professional activity.

I think it would also be useful to gather on MO a list of software that does not strictly do computations, but is nevertheless useful to those who research and teach mathematics.

The first example that springs to mind is of course $\LaTeX$, but there is much more:

• citation and literature management software, such as Jabref, Zotero, Mendeley
• conference management software, such as Open Conference Systems (never actually used it, but it seems interesting)
• reference tools such as the Online Encyclopedia of Integer Sequences and Plouffe's Inverter
• Euclidean geometry software such as Geogebra
• diff'ing and merging tools, such as latexdiff, kdiff3
• specific LaTeX packages such as Beamer for presentations or several drawing packages (TikZ, Eukleides).

I find some of those real gems, and I'd like to find out more examples. So, the question is:

Can you provide (other) examples of programs that are useful to professional mathematicians in their job, while not being strictly speaking "software that does complicated computations"?

The question is a little broad and perhaps if there is much software relevant to a specific activity it will be wise to ask, based on input given to the question, a more specific question. Also please do not interpret this question too broadly (see discussion below).

Also check these MO questions: Tools for collaborative paper-writing (mainly regarding revision control software), Most helpful math resources on the web (mainly regarding online databases of something).

-
A browser. An email client. More seriously, in my opinion this question is way too broad to be useful. Vote close. –  quid Jan 9 '12 at 13:56
@quid: I agree that the current wording of "useful to a mathematician" can be interpreted in a very broad sense. But maybe it is only a wording problem: the examples in my text the two answers that have arrived so far are indeed useful, and would still satisfy a much narrower definition. Do you have any suggestion to improve the wording? Or do you think that it will be too broad anyway, no matter what the wording is? –  Federico Poloni Jan 9 '12 at 14:22
I disagree a bit about your examples. If they'd been narrower I would have written something else (or perhaps nothing at all). But a revision control system is more or less as standard a piece of software as it can get. There is for example also mathoverflow.net/questions/3044/… you might have a look at this and exclude explictly what is there. I also vaguely remeber various question on drawing, making illustrations (but a general one of this type was too broad for my taste)... –  quid Jan 9 '12 at 14:39
–  Emil Jeřábek Jan 11 '12 at 11:54
I think it will be useful to mentione areas of activities where software can be helpful to research mathematicians as well. I refurmulated the question, made it more focused and vote to reopen. –  Gil Kalai Jan 11 '12 at 17:33

This is my short list of math related software not used for computing. I made an effort to list software in descending order with respect to the frequency of use. I left out $\TeX$ and my version control system of choice CVS since OP was not interested in those.

1. A good editor. My choice goes to nvi.

2. A spell checker like ispell.

3. Regular expressions for pattern matching/search.

4. Make utility.

5. I do not know about you guys but for us who must teach and manage grade books nothing comes close to being as useful as awk.

6. A good file synchronizer like Unison.

7. Shell script(sh).

8. sed.

9. An e-mail client like mailx.

10. PostScript language as a page description language for printing but also a tool for teaching geometry classes. Obviously you must have PostScript interpreter on your computer like GhostScript (comes with a viewer) and a good PS manipulation tool like psutils.

11. A tool for manipulation of PDF files. I like Pdftk.

12. Python as a glue language and for instance its library Matplotlib for making illustrations.

13. A good image processing tool like Graphics Magic.

14. Vectorial drawing program as Xfig.

-

I like Asymptote for making pictures.

-
Long ago, I used to use Metapost; but this indeed looks like an excellent alternative. Thanks for pointing it out! –  Suvrit Jan 9 '12 at 19:30
Dear fedja, have you tried Tikz? It is amazingly good :) –  Mariano Suárez-Alvarez Jan 10 '12 at 19:25
No, but from the manual it looks like its main advantage over Asymptote lies in a huge collection of predefined graphic tools. The main advantage of Asymptote lies in its very powerful programming capabilities. Which one is more important depends on both the picture you need to draw and your personal preferences. –  fedja Jan 10 '12 at 19:59

I would mention SpartanTex, asofwtare allowing you to process LaTex document directly from GoogleDocs

-
Very useful, thanks for the link. –  Alan Haynes Jan 9 '12 at 19:40

I like IPE for quickly drawing figures, especially if you want to add TeX/LaTeX.

(Also see: The IPE Wiki)

-
How does it compare to [Inkscape](inkscape.org)? –  Federico Poloni Jan 10 '12 at 12:01
Does inkscape do latex easily? I used inkscape once upon a time, but find it too heavy; ipe is lightweight, and good for quickly drawing figures with math in them. –  Suvrit Jan 10 '12 at 16:59
It depends on the meaning of "do latex". There is a menu entry "Effects > Render > LaTeX formula" in recent versions, which does what it says. But nothing more fancy or advanced. –  Federico Poloni Jan 11 '12 at 12:03

My daily life depends on rsync to synchronize everything which is not organized by subversion.

Moreover, the RefTeX package for (X)Emacs is incredibly helpful (if you are using Emacs...).

-

For making images and figures, Adobe Illustrator is very powerful, but Inkscape is an excellent opensource option. In fact Inkscape has better interaction with scripting so will be more useful for a lot of mathematical applications. Both of these allow you to work visually so are superior to tools like XFig in my opinion.

For three dimensions there are again two great options. Rhino is wonderful, effortlessly mixing parametric descriptions of geometry with the visual. In particular the plugin Grasshopper is a really enjoyable way to sketch out more mathematical ideas, with the advantage that you can watch your work. It uses a visual component based interface, but you can dive into C# at will to create new components on the fly. There are also many options for rendering, which gives several advantages over the mathematical standby of POV-Ray, that is now showing its age. It should also be noted that there is a complete, unrestricted education version available to faculty as well as students for just $195. The Free software option here (interestingly the API and backend for Rhino are open source, but in the weakest sense) is Blender. This is not quite as effortless for geometry, but is still pretty good. There is also a well designed interface with python in order to give parametric descriptions, and is in active development. - I personally love LyX ( http://www.lyx.org/ ) -- it's a WYSIWYM frontend to LaTeX, which essentially allows you to interact with what looks like a PDF file. You still use LaTeX codes, but there are all sorts of keyboard shortcuts, and with practice, one can type math in LyX about as fast as one can write it by hand. I've told many of my colleagues about it, but they don't seem to get it how much better it is than writing LaTeX directly. As a side bonus, it turns out to be great for doing calculations, since computers have "copy and paste". I find that I make fewer mistakes this way, and am able to perform and edit computations more quickly. I haven't actually tried this, but apparently there is integration with CAS software as well. - I had a student use LyX for a substantial project, and I found that the output contains all sorts of poor typesetting choices (sizes of parentheses, for example) whose defaults seemed hard to overcome. Still, whatever works.... – Greg Martin Jan 12 '12 at 18:27 I've never personally noticed such a problem. Do you happen to know a particular bit of math notation that would produce the poor typesetting you've mentioned? I'd be interested in seeing what I get as output. – Victor Dods Jan 13 '12 at 6:45 Dirk has already mentioned subversion which I certainly use when collaborating. Recently there is also Drop box which has some similar features but is less technical to learn/use. There are presumably many other similar pieces of software now too (due to the popularity of dropbox). - I use Kile as$\LaTeX$-frontend. There is a modified version which can render formulas inside the editor. I love this feature—if you move the cursor inside the formula, the code appears and you can change it. KBibTeX is a nice software for managing your bibliography. It can search for bibliographical data in the internet and generate/modify a BibTeX-file. Conquirere is a software for managing all your papers, PDFs and bibliographies for diffent projects and even supports integration into the browser and it can also manage BibTeX-files. It is still very experimental, however, it looks very promising (and unlike Mendeley it is completely free and you do not depend on a commercial hoster). For collaboraton and for tracking my personal work I use Git. In most situations it is more powerful than Subversion or Dropbox, it runs everywhere and it does not rely on a proprietary hoster controling your data like Dropbox. GraphViz is practical for simple diagrams and graphs. It is more comfortable than Tikz or similar$\LaTeX\$-packages, but it is not suitable in some very complex situations (for very comple graphs you might want to have a look at Gephi.

-