# Question:OpenMaple Problem

## Question:OpenMaple Problem

Maple 16

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;  /* 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 ﻿