Ruby/Mathematica is a library that provides an interface to the MathLink(TM) library. The library has some methods that implement a protocol for sending and receiving Mathematica expressions. Using this library, you can make a Ruby program with Mathematica kernel in the background as a computational engine. In the future we wish to improve the library that Mathematica can communicate Ruby scripts.
The Ruby/Mathematica library is alpha version now. This library may hang up or do core dump. Take care that your important data do not be missing.
Please tell us some problems that you meet. We want to improve the library. This library is copyrighted free and you can improve freely. We welcome some comments or improvements.
Note: MathLink C library is ordinary included Mathematica as AddOns. The C library was installed automatically when Mathematica did.
We tested only on ruby version 1.6.4 and Mathematica version 4.1. This library may possibly not work on another versions. When the library does not work on your compurter, please tell us problems and your environments, such that
We wish to improve the library.
See INSTALL.rd.
See ./VERSION. You may get newer version of this library from my WWW page. <URL:narayama.aist-nara.ac.jp/~daisu-ik/ruby/>
The Ruby/Mathematica library has two modules and one classes,
Mathematica:: # module 'Mathematica' MathLink:: # submodule 'MathLink' MathLink # class 'MathLink'
The MathLink class has some methods produced by MathLink C library. The class does not have all MathLink C-functions but you may connect Mathematica kernel and compute some expressions using only few methods provided the MathLink class.
Now you have to use only low-level MathLink C-functions to connect Mathematica kernel. However, the MathLink class provides an easier interface than MathLink C library. (We wish to provide more useful interface in the future.) You can find some samples in ``./samples'' directory.
The MathLink module has some constants defined by MathLink. See also mathlink.h that is provided Mathematica. (The header file ``mathlink.h'' locates in your Mathematica directory)
In the future, we wish provide a class Mathematica::Mathematica to provide more user-friendly interface to communication MathLink than the low-level interface class Mathematica::MathLink::MathLink.
IKEGAMI Daisuke <URL:mailto:daisu-ik@is.aist-nara.ac.jp> I am a student of Department of Information Processing, Graduate School of Information Science, NAra Institute of Science and Technology(NAIST).
We wish to thank Todd Gayley for his kindly MathLink tutorial. Todd's tutorial is a good guide to create MathLink library.
And we thank Minero Aoki for his useful installation utility. We use setup.rb written by Minero to install the library. This utility is very useful to install and also to develop the library. You can get setup.rb from RAA(Ruby Application Archive).
Also we wish to thank all members of the ruby-{list|math} mailing list and IRC #ruby* channels. They give us many helpful comments. We cannot build this library except for their informations about Ruby.
Special thanks to Yukihiro - Matz - Matsumoto for developping Ruby.
Ruby makes our life happy.
I will provide some documents to use this library.
some documents written in English * ./doc.ja/ some documents written in Japanese
See also your Mathematica and MathLink documentation.
Mathematica Help Browser is useful too.
The Ruby/Mathematica library is copyrighted free software.
You may redistribute this library and/or modify under the terms of the GNU General Public License or the condition as specified in the Ruby README file. We wish that you follow the manner that matz thinks.
Both Mathematica(TM) and MathLink(TM) are registered trademarks of Wolfram Research, Inc.
setup.rb follows GNU General Public License (GPL) version 2.