# Question:Why does my procedure not work?

## Question:Why does my procedure not work?

Maple 12
with(RegularChains);
R := PolynomialRing([x, y, z]);
p1 := x^2+5-2*x*z;
p2 := z^3*y+x*y^2;
p3 := -8*z^3+3*y^2;
F := [p1, p2, p3];
MainVariable(p1, PolynomialRing([x, y, z]));
MainVariable(p1, PolynomialRing([z, y, x]));
prem(p1, p2, x);
prem(p2, p1, z);
prem(p3, p2, y);
premcustom := proc(Fparam,Gparam, xparam)
local R, G, F, lcg, lcr, dr, dg:
R := Fparam:
G := Gparam:
F := Fparam:
if degree(G,xparam) = 0 then
print("return 0"):
return 0:
elif degree(F, xparam) < degree(G, xparam) then
print("return R"):
return R:
else
lcg := coeff(G, xparam, degree(G, xparam)):
dg := degree(G, xparam):
while degree(R, xparam) > degree(G, xparam) do
lcr := coeff(R, xparam, degree(R, xparam)):
dr := degree(R, xparam):
R := lcg * R - lcr * G * (x^(dr - dg)):
od:
end if:
return R:
end proc:
coeff(p1, x, degree(p1, x));
coeff(p2, x, degree(p2, x));
prem(p1,p2,x);
prem(p2,p1,z);

premcustom(p1,p2,x);
premcustom(p2,p1,z);

why premcustom looping?

is this coeff(p1, x, degree(p1, x)); wrong ?

should this to get real coefficient in number instead of variable and how?

is there equivalent function as dprem?

with(diffalg):with(diffalg):
FlessThanG := proc(Fparam, Gparam, PRing)
F := Fparam:
G := Gparam:
return True:
else
return False:
end if:
end proc:
dprem := proc(Fparam, Gparam, x, PRing)
local R, theta, thetax, thetaG, F, G;
F := Fparam:
G := Gparam:
R := F:
thetax := leader(G, PRing);
while FlessThanG(R, G, PRing) or FlessThanG(G, R, PRing) do
theta := leader(R, PRing);
R := prem(R, thetaG, theta)
od:
return R:
end proc:
R := differential_ring(ranking = [[x,y,r]], derivations = [t], field_of_constants=[m,l], notation = diff):
p1 := m*x[2] + r*x;
p2 := m*y[2] + r*y - g;
p3 := x^2 + y^2 - l^2;
dprem(p1, p3, x, R);

is x[2] = diff(x,t\$2) in diffalg ?

if not how to write in this way?

i had defined constant
but got error

Error, (in DifferentialAlgebra:-Tools:-LeadingDerivative) unknown symbol (approx. error location: [m*x[2 --> ] <-- +r*x])

﻿