Maple examples
These examples use the Maple UDX interface udx.mpl from the main UDX repository.
A full interactive session is in Maple/udx_mpl_demo.mw (Maple worksheet).
Load UDX and connect to Julia
read("/path/to/udx.mpl");
with(UDX);
channel := udx_start_jl_connection();Optional: start Julia with threads and xterm:
ch2 := udx_start_jl_connection(use_xterm = true, threads = 8);You should see messages such as a port number and “Connected to server on port …”.
RUR computation
Send a polynomial system to Julia for an RUR computation:
syst := [
y^2*z + 2*x*y*t - 2*x - z,
-x^3*z + 4*x*y^2*z + 4*x^2*y*t + 2*y^3*t + 4*x^2 - 10*y^2 + 4*x*z - 10*y*t + 2,
2*y*z*t + x*t^2 - x - 2*z,
-x*z^3 + 4*y*z^2*t + 4*x*z*t^2 + 2*y*t^3 + 4*x*z + 4*z^2 - 10*y*t - 10*t^2 + 2
];
udx_rur(channel, syst);Parallel mode:
rur := udx_rur(ch1, sys, parallel = true);Process management
List tracked processes, quit a Julia session attached to a channel, or kill by PID (e.g. xterm):
udx_list_processes();
udx_quit_julia(ch1);
udx_quit_process(97062); # example PID; use the PID shown for your processNotes
- The Julia process stays alive for further
udx_rur(or other) calls on the same channel until you quit it. - For Maple, libudx must be built with
UDX_USE_MAPLEand Maple’s development headers; that is separate from the Julia-only build described in Building libudx.