MDD

347 Reputation

7 Badges

9 years, 257 days

MaplePrimes Activity


These are replies submitted by MDD

You have to compute a Grobner basis w.r.t. a lex ordering not tdeg. Also, you could use the solve command for this.

@acer Thank you so much. I am trying to do it.

@Kitonum Oh my God!! this is excellent. Thank you so much.

@Kitonum Thank you so much. This is perfect!

@Kitonum 
Thanks again for this exellent method. Your method is appropriate for this system which arise when "n=3" and in your method I see that you use from S1 and S2 contained three polynomial. How can I use from this method automatically for any arbitrary n? 

@Kitonum 

Thank you so much for your replying. It seems that the pervious method is not appropriate for the following list. (I know that this is different list). In this list I want to subs:

E[k,k]= -1 when there is "(a+2)*x[k,k]+E[k,k]" as a part of polynomial in the following list

and 

E[k,k]= 1 when there is "a*x[k,k]+E[k,k]" as a part of polynomial in the following list.

 

For example if

B=[(a*x[1, 1] + E[1, 1])*(E[1, 1] + (a + 2)*x[1, 1]) + (a*x[2, 1] + E[2, 1])*(E[1, 2] + (a + 2)*x[1, 2]) + (a*x[3, 1] + E[3, 1])*(E[1, 3] + (a + 2)*x[1, 3])] 

then after subsituation we have 

B=[(a*x[1, 1] + 1)*(-1 + (a + 2)*x[1, 1]) + (a*x[2, 1] + E[2, 1])*(E[1, 2] + (a + 2)*x[1, 2]) + (a*x[3, 1] + E[3, 1])*(E[1, 3] + (a + 2)*x[1, 3])]

Could you please help me?

 

A=[(a*x[1, 1] + E[1, 1])*(E[1, 1] + (a + 2)*x[1, 1]) + (a*x[2, 1] + E[2, 1])*(E[1, 2] + (a + 2)*x[1, 2]) + (a*x[3, 1] + E[3, 1])*(E[1, 3] + (a + 2)*x[1, 3]), (a*x[1, 2] + E[1, 2])*(E[1, 1] + (a + 2)*x[1, 1]) + (a*x[2, 2] + E[2, 2])*(E[1, 2] + (a + 2)*x[1, 2]) + (a*x[3, 2] + E[3, 2])*(E[1, 3] + (a + 2)*x[1, 3]), (a*x[1, 3] + E[1, 3])*(E[1, 1] + (a + 2)*x[1, 1]) + (a*x[2, 3] + E[2, 3])*(E[1, 2] + (a + 2)*x[1, 2]) + (a*x[3, 3] + E[3, 3])*(E[1, 3] + (a + 2)*x[1, 3]), (a*x[1, 1] + E[1, 1])*(E[2, 1] + (a + 2)*x[2, 1]) + (a*x[2, 1] + E[2, 1])*(E[2, 2] + (a + 2)*x[2, 2]) + (a*x[3, 1] + E[3, 1])*(E[2, 3] + (a + 2)*x[2, 3]), (a*x[1, 2] + E[1, 2])*(E[2, 1] + (a + 2)*x[2, 1]) + (a*x[2, 2] + E[2, 2])*(E[2, 2] + (a + 2)*x[2, 2]) + (a*x[3, 2] + E[3, 2])*(E[2, 3] + (a + 2)*x[2, 3]), (a*x[1, 3] + E[1, 3])*(E[2, 1] + (a + 2)*x[2, 1]) + (a*x[2, 3] + E[2, 3])*(E[2, 2] + (a + 2)*x[2, 2]) + (a*x[3, 3] + E[3, 3])*(E[2, 3] + (a + 2)*x[2, 3]), (a*x[1, 1] + E[1, 1])*(E[3, 1] + (a + 2)*x[3, 1]) + (a*x[2, 1] + E[2, 1])*(E[3, 2] + (a + 2)*x[3, 2]) + (a*x[3, 1] + E[3, 1])*(E[3, 3] + (a + 2)*x[3, 3]), (a*x[1, 2] + E[1, 2])*(E[3, 1] + (a + 2)*x[3, 1]) + (a*x[2, 2] + E[2, 2])*(E[3, 2] + (a + 2)*x[3, 2]) + (a*x[3, 2] + E[3, 2])*(E[3, 3] + (a + 2)*x[3, 3]), (a*x[1, 3] + E[1, 3])*(E[3, 1] + (a + 2)*x[3, 1]) + (a*x[2, 3] + E[2, 3])*(E[3, 2] + (a + 2)*x[3, 2]) + (a*x[3, 3] + E[3, 3])*(E[3, 3] + (a + 2)*x[3, 3])]

@vv  Thank you so much. Now, it is good.!! How select this as the best answer?

@vv Thanks again. I think my question is obvious and my example is completely appropriate. I need a function which receives two parametric monomials (and also a list of variables) and returns true or false;

its output is true if these monomials have not any common variables and return false if there is at least one common variable. 

@vv Thanks for your answer. But, all of m1, m2, m3 have the variable x and so are not distinct. So, true is not correct in the output of your function.

@Carl Love Thank you very much for your helpful answers. It seems is OK!!

@vv But, now there is another problem in using HasSubexpression. When I use HasSubexpression in my main algorithm it doesn't work correctly. How to apply HasSubexpression in my main procedure? For example, in the middle of computations

`elif ormap`(proc (a) options operator, arrow; HasSubexpression(a, [n*a,n*b]) end proc, [a*n*z^3+t-1, -m*x]) = true then....

It returns false while independently in the out of procedure it returns true which is correct.

@vv Yes, c appears in H. So, I think my example is not appropriate for this case. It seems that HasSubexpression is correct. I will run our example and report the results. 

@Carl Love 

In fact, I am working on Grobner systems, roughly speaking, can be considered as an extension of Grobner bases of polynomials over fields to polynomials with parametric coefficients. Indeed, a Grobner system is a fi nite set of triples (N,W,G) (so-called branches or segments); each branch contains (N,W) a couple of null (N)
and non-null parametric sets (W) (parametric constraint) and also a set of polynomials (G).  

Now, I must consider the element of N as zero in polynomial set G. For this I use NormalForm(g, N, parametric monomial order) command of Maple for any g in G. But, it is possible the elements of N don't appear in any polynomial of G so using NormalForm command is additional work. Therefore I need a function to decide that is there at least one element at G e.g. g s.t. an element of N  appears in g. In this case, the output is true otherwise false. For example, let 

N = [b-1], G = [a*n*z^3-1, -b*x+3]. Since b-1 don't appear in any element of G so it is not needed to use NormalForm command for this branch (but when I use your function HasSubexpression it's output is true and the Normalform command is called automatically). 

@Carl Love  Thanks a lot for your helpful answer. But now, there is a minor error in the following:

HasSubexpression(b-1, [a*n*z^3-1, 3-b]). b-1 do not appear in [a*n*z^3-1, 3-b] but this function returns true. I need a general function to decide appearing one element of a list in the part of a polynomial of the anothr list. 

@Carl Love I applied your function on very pairs of list A, B and in some case, the following error appears:

How can fix this problem to can use this function generally?

1 2 3 4 5 6 7 Last Page 3 of 11