Question: OpenMaple Problem

May 23 2014 Pasqualdo 5
Maple 16
1

Hello,

I am writing a program in C that uses the open maple library. It is not the first time that I use it but now I am facing a strange problem that involves the simplify command: suppose a,x,y are symbols that are not previously used in maple, the following lines

1)  EvalMapleStatement(kv, "simplify((a*x^2-y^2)/(x^2*y^2-1));");

2)  EvalMapleStatement(kv, "simplify((2*x^2-y^2)/(x^2*y^2-1));");

only differ by the fact that the parameter a is replaced by 2 in the second line. But they return the following output:

1) (a*x^2-y^2)/(x^2*y^2-1)

that is correct, nothing to simplify..

2) Error, (in gcd/LinZip) input must be polynomials over the integers

I must be doing something wrong but I am getting nowhere...

Thanks...

 

P.S. This is the complete listing 

 

#include <stdio.h>

#include <stdlib.h>

 

#include "maplec.h"

 

static void M_DECL textCallBack( void *data, int tag, char *output )

{

    printf("%s\n",output);

}

 

int main( int argc, char *argv[] )

{

    char err[2048];  /* command input and error string buffers */

    MKernelVector kv;  /* Maple kernel handle */

    MCallBackVectorDesc cb = {  textCallBack,

                                0,   /* errorCallBack not used */

                                0,   /* statusCallBack not used */

                                0,   /* readLineCallBack not used */

                                0,   /* redirectCallBack not used */

                                0,   /* streamCallBack not used */

                                0,   /* queryInterrupt not used */

                                0    /* callBackCallBack not used */

                            };

    ALGEB r, l;  /* Maple data-structures */

        char *myargv[]={"maple"};

        int myargc=1;

 

    if( (kv=StartMaple(myargc,myargv,&cb,NULL,NULL,err)) == NULL ) {

        printf("Fatal error, %s\n",err);

        return( 1 );

    }

 

EvalMapleStatement(kv, "simplify((a*x^2-y^2)/(x^2*y^2-1));");

 

EvalMapleStatement(kv, "simplify((2*x^2-y^2)/(x^2*y^2-1));");

 

    StopMaple(kv);

 

    return( 0 );

}

 

compiled with

gcc prova.c -I /Library/Frameworks/Maple.framework/Versions/Current/extern/include/ -L /Library/Frameworks/Maple.framework/Versions/Current/bin.APPLE_UNIVERSAL_OSX/ -l maplec

Please Wait...