OEM Solutions
-----
 /
OEM Embedded Solutions
*Mathematica OEM Benefits
<OEM Q&A
*Interested?
*For More Information
*About Mathematica
*What's New in Mathematica 8

Stanford University >
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

Q&A



Q: How do I integrate my software with Mathematica?
  MathLink is a program that can be used to connect other custom software systems such as spreadsheets, word processors, databases, or software libraries to Mathematica. A simple MathLink program is all that is needed to call Mathematica from an existing customized program. By using MathLink in this way, users can work freely within their own programs and call upon the computational and graphing power of Mathematica.
   
Q: How do I get MathLink?
  The professional version of Mathematica ships with a MathLink Developers Kit, which includes libraries, interface files, example programs, and other tools needed to make the connections. MathLink is available on Macintosh, Microsoft Windows, and Unix platforms. You can also download the kit from our web site.
   
Q: How does the link from Mathematica to my software work?
  MathLink-compatible programs range from very simple to very complex, with a simple program being just a few lines long. Much of the power of MathLink comes from its use of Mathematica expressions. MathLink provides a way to exchange Mathematica expressions between programs, and such expressions can represent absolutely any kind of data. Data that can be represented include:
  • An array of numbers
  • A collection of geometrical objects
  • A sequences of commands
  • A stream of text
  • The records in a database
  • The cells of a Mathematica notebook

The MathLink library consists of a collection of routines that allow external programs to send and receive Mathematica expressions. The MathLink Developers Kit provides utilities for incorporating these routines into external programs. The utilities are primarily intended for applications written in the C programming language; however, by adding the appropriate links to the MathLink library, it is possible to make any program MathLink-compatible.

   
Q: Can I write my own routines in Mathematica and run them with my software?
  Yes, you can. Mathematica's combination of computational sophistication and powerful programming capabilities makes it ideal for developing complete applications, complicated routines, or individual functions. Your software can take full advantage of everything Mathematica has to offer. Because it provides a high-level environment, you can spend time concentrating on what's unique to your work instead of coding generic functionality.
   
Q: Will my customers need to learn Mathematica?
  It depends on the level of integration. You can have Mathematica run completely in the background while customers work with your existing software interface, or your users can have access through a Mathematica notebook with command-line access, taking full advantage of all of Mathematica's features and programming capabilities.
   
Q: Will linking Mathematica with my software significantly increase the memory footprint of my application?
  Whatever extra memory is added is insignificant in current computer configurations. The extra code to make Mathematica work is minimal, and MathLink itself resides in libraries that are put in operating system-specific places.
   
Q: Is there additional assistance for integrating my software with Mathematica?
  We can provide higher-level technical support for approved projects. If you are not already in our Mathematica Developer Program, please visit the developer site and enroll soon. You can then fill out a project proposal form that we will review for approval. We also have a list of accredited Mathematica consultants with expertise in many fields to assist you with your project.
   
Q: What is the cost for integrating Mathematica?
  This depends on the number of Mathematica licenses you incorporate into your software. We have special pricing with volume purchases for OEMs. Contact us for details on our OEM pricing.