{VERSION 5 0 "IBM INTEL NT" "5.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 1 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 1 }{CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 1 } {PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Text Output" -1 6 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 2 2 2 2 2 1 2 1 3 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Error" -1 8 1 {CSTYLE "" -1 -1 "Cour ier" 1 10 255 0 255 1 2 2 2 2 2 1 1 1 3 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Maple Output" -1 11 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }3 3 0 0 0 0 1 0 1 0 2 2 0 1 }} {SECT 0 {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 1323 "Procedure SINGULARlink provides an interface between Maple an d Singular for the purpose of computing Groebner basis in Singular and returning result back to Maple. It has been succsessfully tested with Maple 8, 9, 9.5, and 10; and Singular 2-3-1 and 3-1-0. It can be easi ly modified for the use of other commands in Singular than \"std\" and \"groebner\". \n\nProcedure SINGULARlink uses the following input arg uments:\n\nSINGULARlink(Id,C,tord,elimorder,input_for_Singular,input_f or_Maple,wait);\nSINGULARlink(Id,C,tord,elimorder,input_for_Singular,i nput_for_Maple,wait,'p');\n\n- Id - type \+ \"list(polynom)\" - a list of polynomials [f1, f2,..., fn] that genera te ideal Id, that is, Id = .\n- C \+ - type \"nonnegint\" - non negative characteristic for the g round field of polynomial coefficients, set 0 for the rationals\n- tor d - type \"symbol\" - one of total orders us ed by Singular: lp, dp, Dp, ls, ds, Ds\n- elimorder \+ - type \"list\" - list of polynomial variables that are to be eliminat ed in the order in which they appear in the list. This list must be id entical to the list of polynomial variables. \n- input_for_Singular \+ - type \"string\" - path to a directory where input file In.txt for Singular will be written to" }}{PARA 0 "" 0 "" {TEXT -1 1820 "- input _for_Maple - type \"string\" - path to a directory where output file Out.txt from Singular for Maple will be written to\n- wait \+ - type \"nonnegint\" or \"symbol\" - when used wi th a positive integer it will pass on that integer to \"groebner(Id,wa it)\" as its wait parameter; when used as symbol 'infty', procedure \+ \+ \"groebner(Id)\" will be inv oked\n'p' - (optional) type symbol 'd' \+ - for saving files to the disk; 't' for displaying In.txt to the termi nal only (see examples below)\n\nComments:\n\n1. Global variable \"dir pathSexe\" must be defined (see below) with a path to Singular.exe (ve rsion 2-3-1) or to bash.exe (version 3-1-0) to execute Singular.\n2. T he transfer directories \"input_for_Singular\" and \"input_for_Maple\" need not be the same. If either one does not exist, it will be create d. These directories are not automatically deleted when Singular is fi nished computing unless appropriate lines system(cat(\"rm -r \",pathS )); and system(cat(\"rm -r \",pathM)); are unremarked. Be VERY CAREFU L when you unremark these lines as you may accidently delete directori es you wanted to keep!\n3. The eighth parameter 'p' is optional and ca n only take values 't' and 'd'. When 't' is used, the input script for Singular is displayed to the terminal only: No transfer directory is \+ created and nothing is written to the hard disk. When 'd' is used, the input file In.txt is created, written to the hard disk, then Singular is invoked to execute it and write its output as file Out.txt. Then, \+ Out.txt file is read in and displayed to the terminal/screen. When thi s parameter is not used, the procedure behaves like if it were used wi th the parameter 'd'." }}{PARA 0 "" 0 "" {TEXT -1 333 "4.The output of this procedure is the Groebner basis returned by Singular's \"groebne r\" command. One can easily use \"std\" command instead. \n5. Some er ror messaging is built in.\n6. No warranties of any kind can be made. \+ Permission is granted to use this procedure and modify it at will, alt hough I would appreciate an acknowledgment. " }}{PARA 0 "" 0 "" {TEXT -1 288 "7. A complete interface module allowing a Maple user to use ot her command from Singular could easily be written.\n\nRafal Ablamowic z\nDepartment of Mathematics\nTennessee Technological University\nCook eville, TN 38501\nEmail: rablamowicz@tntech.edu\nTel: (931) 372-3569\n Fax: (931) 372-6353\n \n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 406 "dirpathSexe:=\"C:/cygwin/usr/local/Singular /2-0-3/ix86-Win/Singular.exe\": #VERSION 2-3-1\ndirpathSexe:=\"C:/cygw in/bin/bash -l C:/cygwin/bin/Singular\"; #VERSION 3-1-0\ni nput_for_Singular:=\"C:/cygwin/home/Singular\";\ninput_for_Maple:=\"C: /Maple8\";\ntransfer_directoryM:=\"C:/transferM\":\ntransfer_directory S:=\"C:/transferS\":\ninput_for_Maple:=transfer_directoryM;\ninput_for _Singular:=transfer_directoryS;\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#> %,dirpathSexeGQMC:/cygwin/bin/bash~-l~C:/cygwin/bin/Singular6\"" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%3input_for_SingularGQ8C:/cygwin/home /Singular6\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%0input_for_MapleGQ*C :/Maple86\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%0input_for_MapleGQ-C: /transferM6\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%3input_for_Singular GQ-C:/transferS6\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 11238 "SINGULARlink:=\nproc(Id::list(polynom),C::nonneg int,tord::symbol,elimorder::list,\ninput_for_Singular::string,input_fo r_Maple::string,wait::\{nonnegint,symbol\}) \nlocal i,j,pathS,pathS2,p athM,pathM2,vars,varsfound,F,p,ele,s,N,pathS_filename,\n pathM_fi lename,executeinputfile,first,line,last,fseq,dirpathSexeloc,direction; \nglobal dirpathSexe;\n############################################### ####################################################################\n #Input arguments are as follows:\n#Id - a list with polynomials that are to generate ideal Id\n#C - non negative characteristic for the ground field of polynomial coefficients, set 0 for the rationals\n#el imorder = list with elimination order\n#tord - total order accepted by Singular: \n# lp = lex order \n# dp = degrevlex order \n# Dp = deglex order\n# ls = negative lex order\n# ds \+ = negative degree reverse lex order\n# Ds = negative degree lex \+ order\n#input_for_Singular - path where input file In.txt for Singular will be saved by Maple\n#input_for_Maple - path where input file O ut.txt for Maple will be saved by Singular\n#wait - number of seconds \+ Singular will compute at most or 'infty' for infinite number of second s\n################################################################### ################################################\nif not member(tord, \{lp,dp,Dp,ls,ds,Ds\}) then\n error `third argument total order must be one of lp, dp, Dp, ls, ds, or Ds`\nend if;\n###################### ###################################################################### ########\nF:=map(expand,Id);\nvarsfound:=sort(convert(indets(F),list)) ;\nvars:=elimorder;\nN:=nops(vars):\nif nops(varsfound)<>N then \n e rror `number of variables found in polynomials is different from the n umber of variables in elimination list` end if;\nif convert(varsfound, set) minus convert(vars,set) <> \{\} then \n error `extra variables \+ found in polynomials that do not appear in elimination list`\nend if; \nif convert(vars,set) minus convert(varsfound,set) <> \{\} then \n \+ error `extra variables found in elimination list that do not appear in polynomials`\nend if;\n############################################## #######################################################\nif C>0 then p :=C else p:=0 end if; #reassigning C to p\n########################### ###################################################################### ####\n#Path and filename where input file for Singular will be saved t o\n################################################################### ##################################\npathS:=input_for_Singular; \+ #path where input file In.txt for Singular will be saved\npathS_fi lename:=cat(pathS,\"/In.txt\"); #path w/filename where input file for \+ Singular will be saved\n############################################## #######################################################\npathM:=input_ for_Maple; #path where input file Out.txt for Maple will be saved\npathM_filename:=cat(pathM,\"/Out.txt\");#path w/filename wh ere input file for Maple will be saved\n############################## ###################################################################### #\ndirection:=0:\nif nargs=8 then direction:=args[nargs] end if; #swit ch for error messages\n############################################### ######################################################\n#Changing the \+ name of the input_for_Maple directory so that it could be created, if \+ needed:\nif SearchText(\"C:/\",pathM)=0 then pathM2:=pathM \nelif\n \+ SearchText(\"C:/\",pathM)=1 then pathM2:=cat(\"C:\\\\\",substring(path M,4..-1)); #directory to create\nelse error `write directory to create for Maple input as, for example, \"C:/transferM\" `\nend if:\n####### ###################################################################### #######################\n#Changing the name of the input_for_Singular \+ directory so that it could be created, if needed:\nif SearchText(\"C:/ \",pathS)=0 then pathS2:=pathS \nelif\n SearchText(\"C:/\",pathS)=1 \+ then pathS2:=cat(\"C:\\\\\",substring(pathS,4..-1)); #directory to cre ate\nelse error `write directory to create for Singular as, for exampl e, \"C:/transferS\" `\nend if:\n###################################### ###################################################################### ##\n#NOTE: If you don't like these messages to appear, remark the next fourteen lines.\nif direction='d' or direction=0 then\n if system(c at(\"mkdir \",pathM2))=0 then\n print(`Transfer directory for Map le has been made ... proceeding... waiting for Singular results...`)\n else\n print(`Transfer directory for Maple already exists... p roceeding... waiting for Singular results...`)\n end if;\n if syst em(cat(\"mkdir \",pathS2))=0 then\n print(`Transfer directory for Singular has been made ... proceeding... waiting for Singular results ...`)\n else\n print(`Transfer directory for Singular already e xists... proceeding... waiting for Singular results...`)\n end if;\n elif direction='t' then\n print(`Trying to create and display inpu t file for Singular... proceeding...`)\nend if;\n##################### ###################################################################### ####################\n#Produce input file for Singular ...\n########## ###################################################################### ############################### \nif nargs=8 then \n if evalb(args[n args]='t') then writeto(terminal) elif\n evalb(args[nargs]='d') t hen writeto(pathS_filename) else \n error `last optional argument needs to be 't' (for displaying to terminal) or 'd' (for saving to di sk)`\n end if;\nelse writeto(pathS_filename) #redirect Maple output \+ to input file for Singular as default\nend if:\n###################### ###################################################################### ####################\n# Define the ring (with term order)\n########### ####################################\nprintf(`ring R =`);\nprintf(cat( ` `,p,`,`));\ns:=cat(`(`,seq(cat(vars[i],`,`),i=1..(N-1)),vars[N],`)`) ;\nprintf(\"%Q\",s);\nprintf(`,`);\nprintf(\"%q\",tord);\nprintf(\"%A \\n\",`;`);\n###############################################\n# Define the ideal . . . \n###############################################\npr intf(\"%Q\\n\",`ideal I =`) ; \nfor i to nops(F) do\nele:=F[i];\nif ty pe(ele,monomial) then \n printf(\"%A\\n\",ele);\n printf(\"%A\\n\" ,`,`);\nelse # split into summands, otherwise line might get chopped! \+ \n printf(\"%A\\n\",op(1,ele)); \n for j from 2 to nops(ele) do\n \+ printf(\"%A %A\\n\",`+`,op(j,ele)) \n end do;\nif i < nops(F) \+ then printf(\"%A\\n\",`,`) end if;\nend if\nend do; \nprintf(\"%A\\n\" ,`;`);\n###############################################\n# Now prepare input file for Singular . . . \n##################################### ##########\nprintf(\"%Q\\n\",`short=0;`);\n########################### ########################\n#options:\n################################# ##################\nprintf(\"%Q\\n\",`option(redSB);`);\n############# ######################################\nif evalb(wait='infty') then \n printf(\"%Q\\n\",`ideal J = groebner(I);`); #unremark this line if \+ you want to use groebner command\n #printf(\"%Q\\n\",`ideal J = std( I);`); #unremark this line if you want to use std command\nelse\n \+ printf(\"%Q\",`int wait=`);\n printf(\"%Q\",wait);\n printf(\"%A \\n\",`;`);\n printf(\"%Q\\n\",`ideal J = groebner(I,wait);`); \nend if;\ns:=cat(\"\\\":w \",pathM_filename,\"\\\"\",`,`,\"J\");\ns:=cat(` write(`,s,`);`);\nprintf(\"%A\\n\",s);\nprintf(\"%Q\\n\",`quit;`); #qu it Singular when finished\n########################################### #########\n# Finished writing input file for Singular\n############### #####################################\nwriteto(terminal); #redirect Ma ple output to terminal\n############################################## ###########################\n## Call Singular and execute its input fi le if direction <> 't' ...\n########################################## ###############################\nif direction='t' then return NULL end if;\nif assigned(dirpathSexe) then\n dirpathSexeloc:=dirpathSexe: # assign global path to Singular.exe\n else\n ###################### #######################################\n #try a standard path under a typical Windows installation\n ################################## ##########################################\n #For version 2-3-1 use: \n dirpathSexeloc:=\"C:/cygwin/usr/local/Singular/2-0-3/ix86-Win/ Singular.exe\":\n ################################################## ##########################\n #For version 3-1-0 use:\n dirpathSexe loc:=\"C:/cygwin/bin/bash -l C:/cygwin/bin/Singular\": \nend i f;\n################################################################## #######\nexecuteinputfile:=cat(dirpathSexeloc,\" < \", pathS_filename) ;\nsystem(executeinputfile);\nif %<>0 then\n ####################### ###################################################################### #\n #If you want to delete pathS directory in case of the error, unr emark the following line but \n #BE CAREFUL WHAT YOU DELETE as you m ay need this directory for checking file In.txt:\n #system(cat(\"rm \+ -r \",pathS)); ##to remove the directory pathS: BE CAREFUL!!!!\n ### ###################################################################### #####################\n error `something went wrong while executing \+ Singular:\ncould not find a path on your system to Singular.exe. The p ath must be \nassigned to a global variable dirpathSexe, for example, \ndirpathSexe:=\"C:/cygwin/usr/local/Singular/2-0-3/ix86-Win/Singular. exe\": for version 2-3-1, or\ndirpathSexe:=\"C:/cygwin/bin/bash -l C:/ cygwin/bin/Singular\" for version 3-1-0` \nfi;\n###################### ######################################################\n# Retrieve res ults from Out.txt created by Singular line by line as strings\n####### ##################################################################### \n#read(pathM_filename); #this DOES NOT work yet due to [] in Out.txt \n#################################################################### ########\nfirst := readline(pathM_filename);\nline := readline(pathM_f ilename);\nwhile line <> 0 do\n last := line;\n line := readline(p athM_filename)\nend do;\n############################################# ###############################\nfseq:=parse(first); #changing text in put from Singular into Maple algebraic\n############################## ############################################## \nF:=[fseq];\nif F=[] t hen \n print(`Singular has not returned any results... increase 'wai t' time or make it 'infty'`)\nend if;\n############################### ##########################################################\n#If you wa nt to delete pathS directory, unremark the following line but BE CAREF UL \n#WHAT YOU DELETE as you may need this directory for checking file In.txt:\n####system(cat(\"rm -r \",pathS)); #To remove pathS directo ry: BE CAREFUL WHAT YOU DELETE!\n##################################### ####################################################\n################ ###################################################################### ###\n#If you want to delete pathM directory, unremark the following li ne but BE CAREFUL \n#WHAT YOU DELETE as you may need this directory fo r checking file Out.txt:\n####system(cat(\"rm -r \",pathM)); #To remo ve pathM directory: BE CAREFUL WHAT YOU DELETE!\n##################### ####################################################################\n F:=map(expand,F);\nreturn F; \nend proc:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 251 "Example 1: T o test option 't' in the above procedure. When used with option 't', \+ the procedure outputs the In.txt file containing input for Singular to the terminal/screen. It does not write it to the hard disk not it inv okes Singular to execute it:\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 136 "f:=2*x^10+4*x^9;\ng:=4*y-8-x;\nh:=f*g^2+z^4;\nk:=-5*x^10+x^9* z^2;\nL:=map(expand,[f,g]);\nvars:=sort(convert(indets(L),list));\nN:= nops(vars);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"fG,&*&\"\"#\"\"\")% \"xG\"#5F(F(*&\"\"%F()F*\"\"*F(F(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#> %\"gG,(*&\"\"%\"\"\"%\"yGF(F(\"\")!\"\"%\"xGF+" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"hG,&*&,&*&\"\"#\"\"\")%\"xG\"#5F*F**&\"\"%F*)F,\"\" *F*F*F*),(*&F/F*%\"yGF*F*\"\")!\"\"F,F7F)F*F**$)%\"zGF/F*F*" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"kG,&*&\"\"&\"\"\")%\"xG\"#5F(!\"\"*&)F* \"\"*F()%\"zG\"\"#F(F(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"LG7$,&*& \"\"#\"\"\")%\"xG\"#5F)F)*&\"\"%F))F+\"\"*F)F),(*&F.F)%\"yGF)F)\"\")! \"\"F+F5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%varsG7$%\"xG%\"yG" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"NG\"\"#" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 82 "SINGULARlink([f,g,h],0,lp,[x,y,z],input_for_Singul ar,input_for_Maple,'infty','t');" }{TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%`oTrying~to~create~an d~display~input~file~for~Singular...~proceeding...G" }}{PARA 6 "" 1 " " {TEXT -1 22 "ring R = 0,(x,y,z),lp;" }}{PARA 6 "" 1 "" {TEXT -1 9 "i deal I =" }}{PARA 6 "" 1 "" {TEXT -1 6 "2*x^10" }}{PARA 6 "" 1 "" {TEXT -1 7 "+ 4*x^9" }}{PARA 6 "" 1 "" {TEXT -1 1 "," }}{PARA 6 "" 1 " " {TEXT -1 3 "4*y" }}{PARA 6 "" 1 "" {TEXT -1 4 "+ -8" }}{PARA 6 "" 1 "" {TEXT -1 4 "+ -x" }}{PARA 6 "" 1 "" {TEXT -1 1 "," }}{PARA 6 "" 1 " " {TEXT -1 11 "32*x^10*y^2" }}{PARA 6 "" 1 "" {TEXT -1 13 "+ -160*x^10 *y" }}{PARA 6 "" 1 "" {TEXT -1 12 "+ -16*x^11*y" }}{PARA 6 "" 1 "" {TEXT -1 10 "+ 192*x^10" }}{PARA 6 "" 1 "" {TEXT -1 9 "+ 36*x^11" }} {PARA 6 "" 1 "" {TEXT -1 8 "+ 2*x^12" }}{PARA 6 "" 1 "" {TEXT -1 12 "+ 64*x^9*y^2" }}{PARA 6 "" 1 "" {TEXT -1 12 "+ -256*x^9*y" }}{PARA 6 " " 1 "" {TEXT -1 9 "+ 256*x^9" }}{PARA 6 "" 1 "" {TEXT -1 5 "+ z^4" }} {PARA 6 "" 1 "" {TEXT -1 1 ";" }}{PARA 6 "" 1 "" {TEXT -1 8 "short=0; " }}{PARA 6 "" 1 "" {TEXT -1 14 "option(redSB);" }}{PARA 6 "" 1 "" {TEXT -1 22 "ideal J = groebner(I);" }}{PARA 6 "" 1 "" {TEXT -1 35 "wr ite(\":w C:/transferM/Out.txt\",J);" }}{PARA 6 "" 1 "" {TEXT -1 5 "qui t;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 " " 0 "" {TEXT -1 332 "Example 2: To test option 'd' in the above proced ure. When used with option 'd', the procedure creates and saves file \+ In.txt file containing input for Singular to the hard disk, it then in vokes Singular to execute it and write its output file Out.txt for Map le, and then reads and displays the file Out.txt to the terminal/scree n:\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 136 "f:=2*x^10+4*x^9;\n g:=4*y-8-x;\nh:=f*g^2+z^4;\nk:=-5*x^10+x^9*z^2;\nL:=map(expand,[f,g]); \nvars:=sort(convert(indets(L),list));\nN:=nops(vars);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"fG,&*&\"\"#\"\"\")%\"xG\"#5F(F(*&\"\"%F()F*\" \"*F(F(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"gG,(*&\"\"%\"\"\"%\"yGF (F(\"\")!\"\"%\"xGF+" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"hG,&*&,&*& \"\"#\"\"\")%\"xG\"#5F*F**&\"\"%F*)F,\"\"*F*F*F*),(*&F/F*%\"yGF*F*\"\" )!\"\"F,F7F)F*F**$)%\"zGF/F*F*" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\" kG,&*&\"\"&\"\"\")%\"xG\"#5F(!\"\"*&)F*\"\"*F()%\"zG\"\"#F(F(" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"LG7$,&*&\"\"#\"\"\")%\"xG\"#5F)F)* &\"\"%F))F+\"\"*F)F),(*&F.F)%\"yGF)F)\"\")!\"\"F+F5" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#>%%varsG7$%\"xG%\"yG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"NG\"\"#" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 82 "SINGULARl ink([f,g,h],0,dp,[x,y,z],input_for_Singular,input_for_Maple,'infty','d ');" }{TEXT -1 0 "" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%gpTransfer~dire ctory~for~Maple~already~exists...~proceeding...~waiting~for~Singular~r esults...G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%jpTransfer~directory~fo r~Singular~already~exists...~proceeding...~waiting~for~Singular~result s...G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7%,(%\"xG\"\"\"*&\"\"%F&%\"yG F&!\"\"\"\")F&*$)%\"zGF(F&,8*&\"\"#F&)F)\"#5F&F&*&\"#RF&)F)\"\"*F&F**& \"$U$F&)F)F+F&F&*&\"%w " 0 "" {MPLTEXT 1 0 78 " SINGULARlink([f,g,h],0,dp,[z,y,x],input_for_Singular,input_for_Maple,' infty');" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%gpTransfer~directory~for~ Maple~already~exists...~proceeding...~waiting~for~Singular~results...G " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%jpTransfer~directory~for~Singular ~already~exists...~proceeding...~waiting~for~Singular~results...G" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#7%,(*&\"\"%\"\"\"%\"yGF'F'\"\")!\"\"% \"xGF**$)%\"zGF&F',&*$)F+\"#5F'F'*&\"\"#F')F+\"\"*F'F'" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 73 "SINGULARlink([f,g,h],0,lp,[z,y,x],i nput_for_Singular,input_for_Maple,30);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%gpTransfer~directory~for~Maple~already~exists...~proceeding...~ waiting~for~Singular~results...G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%j pTransfer~directory~for~Singular~already~exists...~proceeding...~waiti ng~for~Singular~results...G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7%,&*$) %\"xG\"#5\"\"\"F)*&\"\"#F))F'\"\"*F)F),(*&\"\"%F)%\"yGF)F)\"\")!\"\"F' F3*$)%\"zGF0F)" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 39 "Example 3. Testing some error mess ages:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 73 "SINGULARlink([f,g, h],0,LP,[z,y,x],input_for_Singular,input_for_Maple,30);" }}{PARA 8 "" 1 "" {TEXT -1 93 "Error, (in SINGULARlink) third argument total order \+ must be one of lp, dp, Dp, ls, ds, or Ds\n" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 73 "SINGULARlink([f,g,h],0,lp,[z,y,X],input_for_Singula r,input_for_Maple,30);" }}{PARA 8 "" 1 "" {TEXT -1 101 "Error, (in SIN GULARlink) extra variables found in polynomials that do not appear in \+ elimination list\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 82 "SINGU LARlink([f,g,h],0,lp,[z,y,x],input_for_Singular,input_for_Maple,'infty ','p');" }}{PARA 8 "" 1 "" {TEXT -1 121 "Error, (in SINGULARlink) last optional argument needs to be 't' (for displaying to terminal) or 'd' (for saving to disk)\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 74 " SINGULARlink([f,g,h],-1,lp,[z,y,x],input_for_Singular,input_for_Maple, 30);" }}{PARA 8 "" 1 "" {TEXT -1 105 "Error, invalid input: SINGULARli nk expects its 2nd argument, C, to be of type nonnegint, but received \+ -1\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 34 "End\n\nCookeville, December 21, 2005" }}}}{MARK " 25 0 0" 0 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }