MDD

227 Reputation

7 Badges

7 years, 305 days

MaplePrimes Activity


These are replies submitted by MDD

@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?

@Carl Love Thank you so much again. 

@Carl Love 

Thanks for your answer. Now, How apply your function in my example?  

The input (of any suggestion algorithm or function) is two list A, B and we want to decide that is there at least one element at B e.g. $f\in B$ s.t. an element of A  appears in f. In this case, the output is true otherwise false.

@mmcdara 

Thanks again for your answer.

@acer 

Thanks for this comparison. 

@acer a+b also is a parameter for me so the output is true.

Also, I have the list of variables and parameters at the beginning of computations. 

 

@mmcdara 

Dear MMcdara and dear Acer,

 

Thanks for your helpful answer. Which of them is more efficient?

 

With best regards

@Joe Riel  This is OK, Thank you so much.

@Carl Love Thanks for your attention. It has to returns FALSE.

In fact, I need a command or procedure which its input is a list of (parametric) polynomials and its output is true or false. If all f_i are linear (variables have degree 1) it returns true else returns false.

@Kitonum 

Thank you so much for your implementation. It seems that is OK for this example. I will run some example and I report you if there is any problem.

Thanks again.

Sincerely yours.

@tomleslie 

Thnak you for your answer, but I need as the following matrix M associated to the first element of the above list L i.e; 

[a*x^2+b*x*y-1, -(a*b-b)*x*y/a-z^2+(a-1)/a, -a*c*z^2/(b*(a-1))+(b+c)/b]

So, a procedure is needed that produce these matrices for any element of L, automatically.

@Joe Riel 

Thanks again. I think that I did this.

The explain of my question was: In the first of my implementation A:=[a*x^2+b*x*y-2, (a-1)*x^2-z^2, c*x*y+1] is a list of polynomials. I linearise it using A1 (instead of x^2), A2 (instead of x*y), A3 (instead of z^2) and A4 (instead of 1). So I have AA:=[A1*a+A2*b-2*A4, (a-1)*A1-A3, A2*c+A4]. In the middle of computation some linear polynomial add into AA. In the end of computation it is needed that A1 and A2 and A3 and A4 change to thier related monomials. By  your function "map(rhs=lhs, S)" I can change A1, A2, A3. Could you please help me how can I change A4 to 1 simultaneously and automatically (using nops(map(rhs=lhs, S)))?

@Joe Riel 

Thanks for your answer. In fact, in the first of my implementation A:=[a*x^2+b*x*y-2, (a-1)*x^2-z^2, c*x*y+1] is a list of polynomials and AA:=[A1*a+A2*b-2*A4, (a-1)*A1-A3, A2*c+A4] is its linear form. In the end of computation it is needed that A1 and A2 and A3 and A4 change to thier related monomials. By  your function "map(rhs=lhs, S)" I can change A1, A2, A3. Could you please help me how can I change A4 to 1 automatically (using nops(map(rhs=lhs, S))) and simultaneously?

1 2 3 4 5 6 7 Page 2 of 9