 |
 |
|
|
 |
 |
Many Ways to Connect |
 |
|
 |
MathLink
supports client-server configurations allowing
Mathematica to be
either the client or the server. MathLink also allows peer-to-peer
communication.
Mathematica can use MathLink to access external resources,
which might provide specialized computations or services available
in legacy code or existing libraries.
For some languages a template mechanism is provided that
defines an appropriate interface. For other languages such
functionality is not necessary.
MathLink also allows Mathematica to be embedded in other
applications.
These applications can call Mathematica for high-level numeric and
symbolic
solvers. In addition, the applications can also use the powerful tools in
Mathematica
to generate and render graphical and mathematical objects.
|
 |
 |
 |
|
|
 |
 |
Single and Network Computer Support |
 |
|
 |
MathLink can be used by Mathematica to communicate
with other programs that run on the same computer. MathLink can
also be used
to communicate with other computers. Even if the computers have
different architectures or operating systems, MathLink ensures
the integrity of data that is transmitted. MathLink is efficient
and will send data in a binary format when the
computers are sufficiently compatible.
|
 |
 |
 |
|
|
 |
 |
Transport Independence |
 |
|
 |
MathLink is independent of the transport medium
and supports a number of different transport mechanisms
that have different properties. In addition, MathLink
can transmit out-of-band data such as exceptions.
|
 |
 |
 |
|
|
 |
 |
Uses of MathLink |
 |
|
 |
Mathematica makes extensive use of MathLink technology. For
example,
the technology is used to provide communication between the two components
of
Mathematica--the computational engine (the kernel) and the notebook
interface. The extensive use that Mathematica makes
of MathLink is a strong endorsement of this powerful technology.
Using MathLink allows a Mathematica notebook interface to
run the
kernel on a different
computer, for example, a powerful server machine.
Another possibility is connecting a notebook interface to many kernels,
each of which can work on part of a computation.
MathLink provides the tools for many application packages that extend the
capabilities of Mathematica and embed
Mathematica in other applications. For example, Mathematica
Link for Excel provides users of Excel more computational
power and an alternative to the Excel macro language. Parallel Computing
Toolkit allows parallel programming over a network of
heterogeneous machines. These and others are all made possible
by MathLink technology.
|
 |
 |
 |
|
|
 |
 |
Language Support |
 |
|
 |
MathLink provides support for connecting the Mathematica
kernel to your C or C++ programs. A C/C++
MathLink Software
Developer Kit (SDK) ships with every version of Mathematica,
and many tutorials and examples are available. In addition, many
unsupported examples
of using MathLink with Fortran, Perl, and
Visual Basic are also available.
J/Link, a toolkit that integrates
Mathematica and Java, is available.
|
 |
 |
 |
|
|
 |
 |
Licensing and Availability |
 |
|
 |
All versions of
Mathematica are MathLink enabled and
can work with any MathLink application.
A simple
and flexible license agreement that allows the
construction and
distribution
of applications ranging from free examples to sophisticated
commercial products is available on this site.
|
 |