Items tagged with degree degree Tagged Items Feed

my code can only do for one variable, 

how to make divisible checking for multivariable cases with the ordering such as plex


IsDivisible(LP(h, t), LP(g[i], t), x)

it is not only x when multivariable


f:=LP(y^2*x,plex(x, y))[2];
g:=LP(y*x-y,plex(x, y))[2];
Remainder(f, g, gcd(f,g));
degree(Remainder(f, g, x),x);
degree(g, x);

remainder has error expect its 3rd argument x, to be of type or but received y*x

how to do if have ordering

do it need to check whether both f and g have variable x using indets and then apply remainder?

do it need to check each variable starting from the first variable in the ordering? 

how about if f has variable x but g do not have variable x, or f do not have variable x and g have variable x


if so, i try to replace below code in the bottom code, it has error

Error, (in FindDivisble) cannot determine if this expression is true or false: 0 < Search(x, {x, y})

FindDivisble := proc(g, h, t)
result := 0;
for i from 1 to nops(g) do
mainvariable := 0;
for j from 1 to nops(t) do
mainvariable := op(j, t);
if mainvariable <> 0 then
if Search(mainvariable, indets(h)) > 0 and Search(mainvariable, indets(g[i])) > 0 then
if IsDivisible(LP(h,t), LP(g[i],t), mainvariable) = 0 then
return i;
result := 0;
end if:
end if:
end if:
return result;
end proc:



LP := proc(f, t)
return LeadingTerm(f, t)/LeadingCoefficient(f, t);
end proc:
IsDivisible := proc(f, g, x)
if Remainder(f, g, x) = 0 or degree(Remainder(f, g, x),x) < degree(g, x) then
return 0;
return 1;
end if:
end proc:
FindDivisble := proc(g, h, t)
result := 0;
for i from 1 to nops(g) do
if IsDivisible(LP(h, t), LP(g[i], t), x) = 0 then
return i;
result := 0;
end if:
return result;
end proc:
MD := proc(f, g, t)
r := 0;
u := Matrix(nops(g), 1);
for j from 1 to nops(g) do
u[j] := 0;
h := f;
while h <> 0 do
i := FindDivisble(g, h, t);
if i > 0 then
u[i] := u[i] + LeadingTerm(h, t)/LeadingTerm(f[i], t);
h := h - LeadingTerm(h, t)/LeadingTerm(f[i], t)*f[i];
r := r + LeadingTerm(h, t);
h := h - LeadingTerm(h, t);
end if:
end proc:
f1 := y*x-y;
f2 := y^2-x;
MD(f,[f1,f2],plex(x, y));

The question has been asked at



However, still, I would like to have a simple, straightfoward solution. The situation is not about several term case, x^a*y^b + x^(a+2)*y^b, but for a single term. I have a term "3*x^k*y^(k+2) ", and how should I do to obtain the power of x, and the power of y? (k and k+2) 


I tried the following input as somehow suggested in the link above



x_degree:=map(t -> `if`(match(t = a*x^b*y^c, x, 's1'), subs(s1,b), NULL), convert(term, list));
y_degree:=map(t -> `if`(match(t = a*x^b*y^c, y, 's1'), subs(s1,c), NULL), convert(term, list));



I got 


k (k + 2)
3 x y
[0, k, 0]
[0, 0, k + 2]
[0, k, 0], [0, 0, k + 2]


I have no idea why k appear at second variable in [0,k,0] while k+2 appear at the third in [0,0,k+2]...


how can I  construct a Permutationgroup with given GroupOrder and Degree.

for instance: GroupOrder 12 and Degree 5, I found by accident


Best Regards


Kurt Ewald



  I tried to obtain power of a series. I have the following input




f1:=map(t -> `if`(match(t = d*x^e*y^f*(x+y)^g, x, 's'), subs(s,e), NULL),
convert(eq1, list));

f2:=map(t -> `if`(match(t = d*x^e*y^f*(x+y)^g, y, 's'), subs(s,f), NULL),
convert(eq1, list));

f3:=map(t -> `if`(match(t = d*x^e*y^f*(x+y)^g, x+y, 's'), subs(s,g), NULL),
convert(eq1, list));




The output is


a b c (a + 1) (b + 1) (c + 1)
2 x y (x + y) + 3 x y (x + y)
Error, (in unknown) invalid input: match expects its 2nd argument, vv, to be of type {name, set(name)}, but received x+y



  How to get the correct powers of x, y, and (x+y)? Since the power of x+y is negative, it cannot be absorbed into x and y.


Thank you!

Hi all,

I would like to set equal to zero some monomials in a polynomial. In particular those monomials in which an unknown has a certain degree. 

For example for the polynomial

poly := x^2*y+x*y*z+x*z

i would like to set equal to zero the monomials in which x has degree 1, that is x*y and x*z.

Is there a way to do it?

Thanks in advance

Say I have a polynomial x^5 + 4xy^4 + 2y^3 +  x*y^2 + x^2 + y + 3

Can I truncate it up to total degree 3 (for example), so 2y^3 +  x*y^2 + x^2 + y + 3



Dear Readers,

Given an expression for e.g. x^n+ y^3.5, how to extract the symbolic/floating point exponent, I tried with degree method but it fails whenvever there is symbolic or floating point exponent. Is there any alternative ?




Regards, Satya

Dear everyone,




  I have a question about how to get the power 'n' in an expression "(x+y)^n". For instance, I have a Maple code




f1:=map(t -> `if`(match(t = c*y^d, y, 's'), subs(s,d), NULL),
      convert(eq1, list));
f2:=map(t -> `if`(match(t = c*x^d, x, 's'), subs(s,d), NULL),
      convert(eq1, list));

Hey there,

i have an System in the form below.

I try to plot s over the angle t which is used in the functions (S,DS and DDS) but because maple uses t in the functions (s, v and a) as the time the calculated eigenfrequency doesnt fit to the System.

The eigenfrequency should be omega:=sqrt(c[0]/m[1])=1035 (over 360 degrees) but because of the angle time switch the eigefrequency is 1035 (over 1).

Has someone an idea how i can tell maple that t is an angle in degree? ...

> seconddegree:= proc(a,b,c) 
 if a=0 then if b=0 and c=0 then print ('infinite solutions')  
elif b=0 and c<>0 then print ('impossible')  
elif b<>0 and c<>0 then print (' one solution',x=-(c)/(b))fi;   
delta:=b^(2)-4 *a*c;    
elif if delta=0 then print('double solution',x=-b/(2 a))  
elif delta >0 then print ('exist two  solutions',x1=((-b+sqrt(delta...

I have to generate F(x) of a function with a degree of 5 who has zeros of x=2,x=1+3i,x=2-4i

After i put it into maple i use the command expand to give me the total function but afterwards i get this 144*i^4*x-25*i^2*x^3+x^5-288*i^4+118*i^2*x^2-8*x^4-188*i^2*x+25*x^3+104*i^2-38*x^2+28*x-8

i need to know what command can i use to get it to converts i^4 to 1 and i^2 to-1 that way i can truly simplify it. 

Dear everyone,

  Hello,  I have a question about obtaining the power of a variable. Suppose



I got 5.

now let f:=x^n;


I got FAIL :(  I tried g:=log[x](f), it doesn't go to "n" either.


Is there anyway I can simply get the "n" in x^n? I know "n" is an integer, but how to refine into integer type?


Thank you very much in advance

Hey there,

how can i solve the following ODE in degree and not in radiant... numerical solution is required... im allways getting the wrong eigenfrequency.



How to compute the highest total degree of a polynomial in which a variable, say x, appears?

For example, f := x^2*y+3*x*y^2+x^3*y^3-x^5+y^4*z^5;
then the highest total degree in x is 6.

The degree command does not seem to do what I would like to do, since degree(f,x) will give 5 instead.

Thank you in advance.

how to solve

-x^8*a^4+48*z^4+48*x^7*a+8*z*x^6*a-1 = 0

for a

i tried


solve(-x^8*a^4+48*z^4+48*x^7*a+8*z*x^6*a-1 = 0, a)


and got


Page 1 of 1