Hi, I just downloaded the Reduce source code but I am a bit lost. I need to call the quantifier elimination procedure from a program I'm writing in Caml (I can also do it in C). Is there a simple way to generate a library to use the quantifier elimination and where can I find an API for its use?
Reduce is mainly intended to be used as an application in its own right and embedding something that large so it can be called as a subroutine from elsewhere is not quite trivial - but several people have had projects that do so in the past, and there are at least two ways to go.
In general the easiest to achieve methos is to use a pipe so you launch Reduce from your other application, send it textual commands in exactly the form it would accept them from the terminal and receive back its output. Sending "off nat;" to switch of all attempts at human-formatting of output helps - or one can enable options that deliver results in TeX-like form. Handing errors can be a bit tough that way.
A second option is sketched in the code in trunk/csl/new-embedded and check out the "procedural" directory. Or possibly trunl/csl/emdedded. This is very much intended as a kit for people to work from to create not justa generic library with a fixed interface but the library and interface that their particular application requires. See eg calls PROC_set_callbacks (explained a bit in trunk/csl/cslbase/csl.c).
For other people trunk/jlisp builds everything in Java so could be backable in different ways!
This will al;l make sense if you have a BIFG enough project!
Hi, thanks for the assistance. Ideally I need a compiled library for the 2 particular problems I need to solve. I basically only need quantifier elimination and linear optimization. I guess what you gave me as a second option may be what I am looking for. I'll check it out and reply back if I need mor assistance. Thank you again.