TitleBodyTechnical Expertise RequiredCostAdditional Information

Asymptote is a vector graphics language that can be used for technical drawing.

Being a language, it gives ultimate control to the user. Typesetting of labels and equations is done by LaTeX, which produces high-quality PostScript output. It provides a portable standard for typesetting mathematical figures and generates output in PostScript, PDF, SVG, or 3D PRC vector graphics.

Basic programming skillsFree

Wikipedia entry: http://en.wikipedia.org/wiki/Asymptote_%28vector_graphics_language%29

IMSL Numerical Libraries

The IMSL Numerical Libraries provide a wide variety of mathematical and statistical algorithms written in various programming languages for easy incorporation by programmers. There are libraries for C, Fortran, Java, .NET, and Python (through wrappers). These algorithms are not only useful for desktop applications, but also can be applied to High Performance Computing (HPC) and High Throughput Computing (HTC). IMSL provides a comprehensive set of mathematical and statistical functions that programmers can include into the software applications they are developing. The statistical functions include time series, correlation, data mining, regression, neural networks and many more. The mathematical functions include matrix operations, linear algebra, nonlinear equations, optimization, genetic algorithms and many more.


Maple is a software application for symbolic and numeric mathematical analysis, mathematical modeling and visualization. The software provides a comprehensive computer algebra system and an interactive graphical environment for editing and solving both symbolic and numeric mathematical equations and performing calculations. Equations can be entered and displayed using conventional symbolic notation, making this application ideal for educational settings and classroom exercises. A dynamically-typed, imperative-style programming language is also included for advanced analyses, and Maple can be interfaced with computer languages including C, Fortran, Java, MATLAB and Visual Basic.

Operating Systems: Microsoft Windows, Apple McIntosh, Linux, Sun Solaris

No programmingCost-basis
  • Maplesoft documentation for Maple (http://www.maplesoft.com/documentation_center/)
  • Wikipedia description (http://en.wikipedia.org/wiki/Maple_%28software%29)
  • Symbolic computation group web site (http://www.scg.uwaterloo.ca/)


Mathematica is a computational platform used by scientists, engineers and mathematicians. Mathematica has support for equation solving, numerical analysis, as well as graphing and visualization. Mathematica has import and export filters for tabular data, images, video, sound, CAD, GIS documents and biomedical formats. There is support for data mining tools such as cluster analysis, sequence alignment and pattern matching as well as text mining support. The programming feature supports functional, procedural, and object oriented styles of programming.

Basic programming skillsCost-basis

See permissions for logo.....http://media.wolfram.com/logos/


GNU Octave is a high-level language, primarily intended for numerical computations. It provides a command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with MATLAB. It may also be used as a batch-oriented language.

Octave has extensive tools for solving common numerical linear algebra problems, finding the roots of nonlinear equations, integrating ordinary functions, manipulating polynomials, and integrating ordinary differential and differential-algebraic equations. It is easily extensible and customizable via user-defined functions written in Octave's own language, or using dynamically loaded modules written in C++, C, Fortran, or other languages.

  • Octave Documentation and User Manual (https://www.gnu.org/software/octave/doc/interpreter/)
  • Quarteroni, A., Saleri, F., Scientific Computing with MATLAB and Octave, Second Ed., Springer, 2006, 318 p.