{VERSION 6 0 "IBM INTEL NT" "6.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 10 "Bug fixes:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 192 "1. On July 20, 2006 - Reported by Simon Scheuring (thank s!) - When the last polynomial in a list F=[f1,f2,...,fn] of polynomia ls is a monomial, extra comma was printed at the end of the line. " }} {PARA 0 "" 0 "" {TEXT -1 1326 "\n\n\nProcedure SINGULARlink provides a n interface between Maple and Singular for the purpose of computing Gr oebner basis in Singular and returning result back to Maple. It has be en succsessfully tested with Maple 8, 9, 9.5, and 10; and Singular 2-3 -1 and 3-1-0. It can be easily modified for the use of other commands \+ in Singular than \"std\" and \"groebner\". \n\nProcedure SINGULARlink \+ uses the following input arguments:\n\nSINGULARlink(Id,C,tord,elimorde r,input_for_Singular,input_for_Maple,wait);\nSINGULARlink(Id,C,tord,el imorder,input_for_Singular,input_for_Maple,wait,'p');\n\n- Id \+ - type \"list(polynom)\" - a list of polynomials [ f1, f2,..., fn] that generate ideal Id, that is, Id = .\n- C - type \"nonnegint\" - non negati ve characteristic for the ground field of polynomial coefficients, set 0 for the rationals\n- tord - type \"symbol \" - one of total orders used by Singular: lp, dp, Dp, ls, ds, Ds\n- e limorder - type \"list\" - list of polynomial variab les that are to be eliminated in the order in which they appear in the list. This list must be identical 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\" o r \"symbol\" - when used with a positive integer it will pass on that \+ integer to \"groebner(Id,wait)\" as its wait parameter; when used as s ymbol 'infty', procedure \+ \+ \"groebner(Id)\" will be invoked\n'p' - (optional) type symbol 'd' - for saving files to the disk; 't' for di splaying In.txt to the terminal only (see examples below)\n\nComments: \n\n1. Global variable \"dirpathSexe\" must be defined (see below) wit h a path to Singular.exe (version 2-3-1) or to bash.exe (version 3-1-0 ) to execute Singular.\n2. The transfer directories \"input_for_Singul ar\" and \"input_for_Maple\" need not be the same. If either one does \+ not exist, it will be created. These directories are not automatically deleted when Singular is finished computing unless appropriate lines \+ system(cat(\"rm -r \",pathS)); and system(cat(\"rm -r \",pathM)); ar e unremarked. Be VERY CAREFUL when you unremark these lines as you may accidently delete directories you wanted to keep!\n3. The eighth para meter 'p' is optional and can only take values 't' and 'd'. When 't' i s used, the input script for Singular is displayed to the terminal onl y: 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 ou tput as file Out.txt. Then, Out.txt file is read in and displayed to t he terminal/screen. When this parameter is not used, the procedure beh aves like if it were used with the parameter 'd'." }}{PARA 0 "" 0 "" {TEXT -1 333 "4.The output of this procedure is the Groebner basis ret urned by Singular's \"groebner\" command. One can easily use \"std\" c ommand instead. \n5. Some error messaging is built in.\n6. No warrant ies of any kind can be made. Permission is granted to use this procedu re and modify it at will, although I would appreciate an acknowledgmen t. " }}{PARA 0 "" 0 "" {TEXT -1 288 "7. A complete interface module al lowing a Maple user to use other command from Singular could easily b e written.\n\nRafal Ablamowicz\nDepartment of Mathematics\nTennessee T echnological University\nCookeville, TN 38501\nEmail: rablamowicz@tnte ch.edu\nTel: (931) 372-3569\nFax: (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 "dirpat hSexe:=\"C:/cygwin/usr/local/Singular/2-0-3/ix86-Win/Singular.exe\": # VERSION 2-3-1\ndirpathSexe:=\"C:/cygwin/bin/bash -l C:/cygwin/bin/Sing ular\"; #VERSION 3-1-0\ninput_for_Singular:=\"C:/cygwin/ho me/Singular\";\ninput_for_Maple:=\"C:/Maple8\";\ntransfer_directoryM:= \"C:/transferM\":\ntransfer_directoryS:=\"C:/transferS\":\ninput_for_M aple:=transfer_directoryM;\ninput_for_Singular:=transfer_directoryS;\n " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%,dirpathSexeGQMC:/cygwin/bin/bas h~-l~C:/cygwin/bin/Singular6\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%3i nput_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_SingularGQ-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 11469 "SING ULARlink:=\nproc(Id::list(polynom),C::nonnegint,tord::symbol,elimorder ::list,\ninput_for_Singular::string,input_for_Maple::string,wait::\{no nnegint,symbol\}) \nlocal i,j,pathS,pathS2,pathM,pathM2,vars,varsfound ,F,p,ele,s,N,pathS_filename,\n pathM_filename,executeinputfile,fi rst,line,last,fseq,dirpathSexeloc,direction;\nglobal dirpathSexe;\n### ###################################################################### ##########################################\ndescription `Last revised: July 20, 2006`;\n#################################################### ###############################################################\n#Inpu t arguments are as follows:\n#Id - a list with polynomials that are \+ to generate ideal Id\n#C - non negative characteristic for the grou nd field of polynomial coefficients, set 0 for the rationals\n#elimord er = list with elimination order\n#tord - total order accepted by Sing ular: \n# lp = lex order \n# dp = degrevlex order \n# \+ Dp = deglex order\n# ls = negative lex order\n# ds = neg ative 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 Out.tx t for Maple will be saved by Singular\n#wait - number of seconds Singu lar will compute at most or 'infty' for infinite number of seconds\n## ###################################################################### ###########################################\nif not member(tord,\{lp,d p,Dp,ls,ds,Ds\}) then\n error `third argument total order must be on e of lp, dp, Dp, ls, ds, or Ds`\nend if;\n############################ ###################################################################### ##\nF:=map(expand,Id);\nvarsfound:=sort(convert(indets(F),list));\nvar s:=elimorder;\nN:=nops(vars):\nif nops(varsfound)<>N then \n error ` number of variables found in polynomials is different from the number \+ of variables in elimination list` end if;\nif convert(varsfound,set) m inus convert(vars,set) <> \{\} then \n error `extra variables found \+ in polynomials that do not appear in elimination list`\nend if;\nif co nvert(vars,set) minus convert(varsfound,set) <> \{\} then \n error ` extra variables found in elimination list that do not appear in polyno mials`\nend if;\n##################################################### ################################################\nif C>0 then p:=C els e p:=0 end if; #reassigning C to p\n################################## ###################################################################\n# Path and filename where input file for Singular will be saved to\n#### ###################################################################### ###########################\npathS:=input_for_Singular; #pa th where input file In.txt for Singular will be saved\npathS_filename: =cat(pathS,\"/In.txt\"); #path w/filename where input file for Singula r will be saved\n##################################################### ################################################\npathM:=input_for_Map le; #path where input file Out.txt for Maple will be sav ed\npathM_filename:=cat(pathM,\"/Out.txt\");#path w/filename where inp ut file for Maple will be saved\n##################################### ################################################################\ndire ction:=0:\nif nargs=8 then direction:=args[nargs] end if; #switch 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 SearchT ext(\"C:/\",pathM)=1 then pathM2:=cat(\"C:\\\\\",substring(pathM,4..-1 )); #directory to create\nelse error `write directory to create for Ma ple input as, for example, \"C:/transferM\" `\nend if:\n############## ###################################################################### ################\n#Changing the name of the input_for_Singular directo ry so that it could be created, if needed:\nif SearchText(\"C:/\",path S)=0 then pathS2:=pathS \nelif\n SearchText(\"C:/\",pathS)=1 then pa thS2:=cat(\"C:\\\\\",substring(pathS,4..-1)); #directory to create\nel se error `write directory to create for Singular as, for example, \"C: /transferS\" `\nend if:\n############################################# #################################################################\n#NO TE: If you don't like these messages to appear, remark the next fourte en lines.\nif direction='d' or direction=0 then\n if system(cat(\"mk dir \",pathM2))=0 then\n print(`Transfer directory for Maple has \+ been made ... proceeding... waiting for Singular results...`)\n else \n print(`Transfer directory for Maple already exists... proceedi ng... waiting for Singular results...`)\n end if;\n if system(cat( \"mkdir \",pathS2))=0 then\n print(`Transfer directory for Singul ar has been made ... proceeding... waiting for Singular results...`)\n else\n print(`Transfer directory for Singular already exists.. . proceeding... waiting for Singular results...`)\n end if;\nelif di rection='t' then\n print(`Trying to create and display input file \+ for Singular... proceeding...`)\nend if;\n############################ ###################################################################### #############\n#Produce input file for Singular ...\n################# ###################################################################### ######################## \nif nargs=8 then \n if evalb(args[nargs]=' t') then writeto(terminal) elif\n evalb(args[nargs]='d') then wri teto(pathS_filename) else \n error `last optional argument needs \+ to be 't' (for displaying to terminal) or 'd' (for saving to disk)`\n \+ end if;\nelse writeto(pathS_filename) #redirect Maple output to inpu t 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],`)`);\nprin tf(\"%Q\",s);\nprintf(`,`);\nprintf(\"%q\",tord);\nprintf(\"%A\\n\",`; `);\n###############################################\n# Define the ide al . . . \n###############################################\nprintf(\"% Q\\n\",`ideal I =`) ; \nfor i to nops(F) do\nele:=F[i];\nif type(ele,m onomial) then \n if i 't' ...\n##################################### ####################################\nif direction='t' then return NUL L end if;\nif assigned(dirpathSexe) then\n dirpathSexeloc:=dirpathSe xe: #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 dirpat hSexeloc:=\"C:/cygwin/bin/bash -l C:/cygwin/bin/Singular\": \n end if;\n############################################################# ############\nexecuteinputfile:=cat(dirpathSexeloc,\" < \", pathS_file name);\nsystem(executeinputfile);\nif %<>0 then\n ################## ###################################################################### ######\n #If you want to delete pathS directory in case of the error , unremark the following line but \n #BE CAREFUL WHAT YOU DELETE as \+ you may 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 execu ting Singular:\ncould not find a path on your system to Singular.exe. \+ The path must be \nassigned to a global variable dirpathSexe, for exam ple,\ndirpathSexe:=\"C:/cygwin/usr/local/Singular/2-0-3/ix86-Win/Singu lar.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 results 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.t xt\n################################################################## ##########\nfirst := readline(pathM_filename);\nline := readline(pathM _filename);\nwhile line <> 0 do\n last := line;\n line := readline (pathM_filename)\nend do;\n########################################### #################################\nfseq:=parse(first); #changing text \+ input from Singular into Maple algebraic\n############################ ################################################ \nF:=[fseq];\nif F=[] then \n print(`Singular has not returned any results... increase 'w ait' time or make it 'infty'`)\nend if;\n############################# ############################################################\n#If you \+ want to delete pathS directory, unremark the following line but BE CAR EFUL \n#WHAT YOU DELETE as you may need this directory for checking fi le In.txt:\n####system(cat(\"rm -r \",pathS)); #To remove pathS direc tory: BE CAREFUL WHAT YOU DELETE!\n################################### ######################################################\n############## ###################################################################### #####\n#If you want to delete pathM directory, unremark the following \+ line but BE CAREFUL \n#WHAT YOU DELETE as you may need this directory \+ for checking file Out.txt:\n####system(cat(\"rm -r \",pathM)); #To re move pathM directory: BE CAREFUL WHAT YOU DELETE!\n################### ###################################################################### \nF:=map(expand,F);\nreturn F; \nend proc:" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 251 "Example 1: To 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 i nvokes Singular to execute it:\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 135 "f:=2*x^10;\ng:=4*y;\n#h:=f*g^2+z^4;\nh:=z^4;\nk:=-5* x^10+x^9*z^2;\nL:=map(expand,[f,g]);\nvars:=sort(convert(indets(L),lis t));\nN:=nops(vars);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"fG,$*&\"\" #\"\"\")%\"xG\"#5F(F(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"gG,$*&\" \"%\"\"\"%\"yGF(F(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"hG*$)%\"zG\" \"%\"\"\"" }}{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)%\"yGF)F)" }} {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_Singular,input_for_M aple,'infty','t');" }{TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%`oTrying~to~create~and~display~input~ file~for~Singular...~proceeding...G" }}{PARA 6 "" 1 "" {TEXT -1 22 "ri ng R = 0,(x,y,z),lp;" }}{PARA 6 "" 1 "" {TEXT -1 9 "ideal I =" }} {PARA 6 "" 1 "" {TEXT -1 6 "2*x^10" }}{PARA 6 "" 1 "" {TEXT -1 1 "," } }{PARA 6 "" 1 "" {TEXT -1 3 "4*y" }}{PARA 6 "" 1 "" {TEXT -1 1 "," }} {PARA 6 "" 1 "" {TEXT -1 3 "z^4" }}{PARA 6 "" 1 "" {TEXT -1 1 ";" }} {PARA 6 "" 1 "" {TEXT -1 8 "short=0;" }}{PARA 6 "" 1 "" {TEXT -1 14 "o ption(redSB);" }}{PARA 6 "" 1 "" {TEXT -1 22 "ideal J = groebner(I);" }}{PARA 6 "" 1 "" {TEXT -1 35 "write(\":w C:/transferM/Out.txt\",J);" }}{PARA 6 "" 1 "" {TEXT -1 5 "quit;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 332 "Example 2: T o test option 'd' in the above procedure. When used with option 'd', \+ the procedure creates and saves file In.txt file containing input for \+ Singular to the hard disk, it then invokes Singular to execute it and \+ write its output file Out.txt for Maple, and then reads and displays t he file Out.txt to the terminal/screen:\n" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 165 "f:=2*x^10+4*x^9;\n#f:=2*x^10;\ng:=4*y-8-x;\n#g:=4* y;\nh:=f*g^2+z^4;\nh:=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#>%\" hG*$)%\"zG\"\"%\"\"\"" }}{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,dp,[x,y,z],input_for_Singular,input_for_Maple,'infty','d');" } {TEXT -1 0 "" }}{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~Sing ular~already~exists...~proceeding...~waiting~for~Singular~results...G " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7%,(%\"xG\"\"\"*&\"\"%F&%\"yGF&!\" \"\"\")F&*$)%\"zGF(F&,8*&\"\"#F&)F)\"#5F&F&*&\"#RF&)F)\"\"*F&F**&\"$U$ F&)F)F+F&F&*&\"%w " 0 "" {MPLTEXT 1 0 78 "SIN GULARlink([f,g,h],0,dp,[z,y,x],input_for_Singular,input_for_Maple,'inf ty');" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%gpTransfer~directory~for~Map le~already~exists...~proceeding...~waiting~for~Singular~results...G" } }{PARA 11 "" 1 "" {XPPMATH 20 "6#%jpTransfer~directory~for~Singular~al ready~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 123 "Error, (in SINGULARlink) invalid input: SINGULARlink expects its 2nd argument, C, to be of type nonneg int, but received -1\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 30 "End\n\nCookeville, July 27, 200 6" }}}}{MARK "18 0 0" 73 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 } {PAGENUMBERS 0 1 2 33 1 1 }