============================================================================== I n t e r C a l l ============================================================================== Update: o InterCall is now compatible with Mathematica version 2.1 o InterCall has been ported to the NeXT. What is InterCall? InterCall is a Mathematica package that provides: o easy access to all the routines in the IMSL and NAG subroutine libraries . o interactive access to any other library or user-written code. o straightforward declaration of default settings for arguments in external routines. With InterCall you can: o import routines written in Fortran, C, or Pascal and call them as if they were Mathematica functions. o call external routines on a remote computer. o develop and test the robustness and correctness of external libraries. o write your own interface to other external libraries. Why Use InterCall? o To extend the type of problems that Mathematica can solve. o The full scope of routines in libraries such as IMSL and NAG become available to Mathematica users. o Intelligent defaults are supplied automatically by InterCall when you call an external routine. o Inspecting and modifying defaults is simple and uses commands named GetDefault and SetDefault. o Independent documentation, for calling external routines from within Mathematica, is not required. Who Should Use InterCall? o Anyone whose work involves numeric processing and who wants Mathematica's ease of use. o Mathematica users who need to access the IMSL or NAG libraries on a remote machine. o Current users of IMSL or NAG who want a simple development environment. o Teachers of courses such as numerical methods. o Engineers, scientists, economists, physicists, mathematicians, statisticians etc. How Does One Use InterCall? This loads the InterCall package and the In[1]:= < $RESULT This integrates Mathematica's Sin[x] In[4]:= dqdag[ Sin[#]&, 0, Pi ] function from x = 0 to x = p , using IMSL. Out[4]= 2. This imports the IMSL routine for finding In[5]:= GetDefault[ devasb ] eigenvalues of a band-symmetric matrix. Out[5]= devasb[$A_] -> $EVAL This defines a band-symmetric matrix. In[6]:= matrix = {{0,-1,-1,-1,-1,-1}, {1,2,3,4,5,6}}; This finds the three smallest eigenvalues. In[7]:= devasb[ matrix, NEVAL is documented in the IMSL manual $NEVAL -> 3] Out[7]= {0.25380682011337, 1.7894724116954, 2.964906355386} InterCall completely integrates the symbolic capabilities of Mathematica with the numeric routines of any external library. You can pass a Mathematica function, array, or any other expression, as an argument to any external routine and InterCall will send the correct type of information to that external routine. A TeX summary of the InterCall manual (InterCall.tex) is available through MathSource. Send the command send 0202-587-0022 to the MathSource server at mathsource@wri.com. The file will be sent to you by return email. System Requirements: InterCall works under Mathematica versions 1.2 and 2.0, and requires a Unix kernel. Remote drivers to access external code on a remote computer are available for Apollo, Connection Machine, DEC/Ultrix, IBM RISC, Iris, Sparc, Sun-3 and VAX/VMS. Drivers for AViiON, Convex, HP9000, MIPS and Sony are under development. If you order InterCall you will get: o all the files needed to run InterCall on your computer. o various remote drivers. o a detailed manual describing how to use InterCall. For more information on InterCall, or to order InterCall, please contact the InterCall distributor: Analytica PO Box 343 Subiaco, WA 6008 Australia Fax/Phone +61 9 388 2590 Email: analytic@earwax.pd.uwa.oz.au InterCall was developed by: Dr. Terry Robb Mathematics Department Monash University Clayton 3168 Melbourne VIC Australia Email: tdr@vaxc.cc.monash.edu.au @