2
$\begingroup$

I have a polynomial ring $R=k[x,y,z...]$ and a given ideal $I$ (defined by given generators) and several polynomials $f_1,f_2,...$ in the ring. I also have several other elements of $R$ given as polynomials in $f_1,f_2,...$ and $x,y,z...$. I wish to determine whether these elements lie in the ideal or not. I do not have exact expressions for $f_1,f_2,...$ but I know certain relations that hold between these and the indeterminates. Now, my problem is computational. I wish to simplify the expressions I have to a more manageable form where I am able to "see" the membership. So I was wondering whether there are any softwares that will allow me to automate this. Essentially I would like to feed the relations to the software, and it should simplify the expression as much as possible using these relations. So far I have tried Maple and Matlab, but both of those require too much manual intervention. For example the expression I have may have a term like $f_1(x+f_1)$ and I have a relation $f_1^2=f_2+f_3$. Then I would like the term simplified to $xf_1+f_2+f_3$. Is there any software that might help me with this?

$\endgroup$
1
$\begingroup$

Try Singular or CoCoA or Macaulay2.

$\endgroup$
2
  • $\begingroup$ Thanks. I have used Macaulay2Sage before, but I am not sure how to handle these type of problems in that. I will look at Singular and CoCoA. $\endgroup$ – user9902 Apr 21 '11 at 17:49
  • $\begingroup$ @Kyle, I'm not sure they can handle your problem, but I thought I'd mention those programs just in case. $\endgroup$ – lhf Apr 21 '11 at 17:55
1
$\begingroup$

Any computer algebra system supporting Grobner bases will suffice, e.g. in Macsyma

$\rm (c_1)\ \ grob\_tot\_reduce(\ f_1*(x+f_1),\ [\:f_1^2-f_2-f_3],\ [\:x,f_3,f_2,f_1]);$

$\rm(d_1)\ /R/\quad\quad\quad\quad\quad\quad\quad\quad\quad x\ f_1 + f_2 + f_3$

$\endgroup$
4
  • $\begingroup$ Thanks for the response. How do I actually get this? Do I need to define any ambient ring or something. When I typed the above command in Macsyma, the output was exactly what I had typed. Nothing else. $\endgroup$ – user9902 Apr 21 '11 at 19:34
  • $\begingroup$ Never mind that. What I downloaded was Maxima which is based on Macsyma. I don't have access to Macysma, so I will keep looking for another way. $\endgroup$ – user9902 Apr 21 '11 at 19:40
  • $\begingroup$ If you're using the free version Maxima then you may need to load grobner first (googling shows it does have some version of grobner). Alas, I don't recall the differences (Maxima is based on a very old version of Macsyma). Try the support email list sourceforge.net/mail/?group_id=4933 $\endgroup$ – Bill Dubuque Apr 21 '11 at 19:40
  • $\begingroup$ Thanks again, Bill. Douglas Leonard over at Macaulay2 google group helped me with the relevant Macaulay2 code, which solves my problem. $\endgroup$ – user9902 Apr 21 '11 at 21:20
0
$\begingroup$

In Maple you could use simplify with respect to side relations: http://www.maplesoft.com/support/help/Maple/view.aspx?path=simplify%2Fsiderels

The input for your example would be: simplify( f1*(x+f1), [f1^2 = f2+f3] );

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy