Introduction and installation
Brief description of the package The &GAP; package &OpenMath; provides an &OpenMath; phrasebook for &GAP;: it allows &GAP; users to import and export mathematical objects encoded in &OpenMath; for the purpose of exchanging them with other &OpenMath;-enabled applications.

This manual describes: how to view &OpenMath; representation of an object; how to read &OpenMath; object from stream or write it to stream for the purposes of exchange with another &OpenMath;-enabled application; how to find which objects can be converted to/from &OpenMath; using this package; how to extend the package to support private &OpenMath; content dictionaries. For the detailed information about &OpenMath; standard and content dictionaries see the &OpenMath; homepage https://www.openmath.org.

For practical purposes, the &OpenMath; package will be most efficient if used in conjunction with the &GAP; package &SCSCP; () which implements the Symbolic Computation Software Composability protocol (). This protocol specifies an &OpenMath;-based remote procedure call framework, in which all messages (procedure calls and returns of results of successful computation or error messages) are encoded in &OpenMath; using content dictionaries &scscp1; and &scscp2; (, ). Using the &SCSCP; package, &GAP; can communicate locally or remotely with any other &OpenMath;-enabled &SCSCP;-compliant application which may be not only another computer algebra system but also another instance of the &GAP; system or even, for example, an external C/C++ or Java application. Such communication will go into a seamless manner with the &GAP;/&OpenMath; conversion going in the background.
Installation of the package To use the &OpenMath; package it is required to install the &GAPDoc; package to use the help system and parse &OpenMath; objects in the XML format.

To install the &OpenMath; package, unpack the archive and place the openmath directory in the pkg subdirectory of your &GAP;4.4 installation. When you don't have write access to the directory of your main &GAP; installation, you can also install the package outside the &GAP; main directory by unpacking it inside a directory MYGAPDIR/pkg. Then to be able to load &OpenMath; you need to call GAP with the -l ";MYGAPDIR" option.

When the &OpenMath; package is installed, it may be loaded as shown below (possibly loading required packages at the same time): gap> LoadPackage("openmath"); ----------------------------------------------------------------------------- Loading OpenMath 11.5.1 (OpenMath functionality in GAP) by Marco Costantini, Olexandr Konovalov (https://alex-konovalov.github.io/), Max Nicosia (http://www-edc.eng.cam.ac.uk/~lmn27/), and Andrew Solomon. maintained by: Olexandr Konovalov (https://alex-konovalov.github.io/) and Max Nicosia (http://www-edc.eng.cam.ac.uk/~lmn27/). Homepage: https://gap-packages.github.io/openmath Report issues at https://github.com/gap-packages/openmath/issues ----------------------------------------------------------------------------- true