MDD

337 Reputation

7 Badges

9 years, 201 days

MaplePrimes Activity


These are answers submitted by MDD

In the following procedeure F is a list of polynomials, f is a polynomial, R is a monomial ordering on parameters, T is a monomial ordering on variables and N is null set.

Since, F and f are homogeneous and linear and also F is a Grobner basis we can use from NormalForm command for checking linearly dependent.

 

ExtPolyLinear := proc (F, f, R, T, N)

local nf, nfp, L, nf1;

nf1 := Groebner:-NormalForm(f, F, T, 'Q');

nf := numer(nf1);

nfp := Groebner:-NormalForm(nf, N, R, 'K');

L := subs(seq(N[i] = 0, i = 1 .. nops(N)), Q);

if nfp = 0 then

   RETURN(true, L)

else

   RETURN(false, [])

end if

end proc;

 

Example:


ExtPolyLinear([a*A1+b*A3, c*A2+d*A3], e*A1+h*A2,plex(a,b,c,d,e,h), plex(A1,A2,A3, A4, A5), [h, e]);
                                    true, [0, 0]


ExtPolyLinear([a*A1+b*A3, c*A2+d*A3], e*A1+h*A2, plex(a, b, c, d, e, h), plex(A1, A2, A3, A4, A5), []);
                                    false, []
ExtPolyLinear([a*A1+b*A3,c*A2+d*A3],e*A1+h*A2,plex(a,b,c,d,e,h),plex(A1, A2, A3, A4, A5), [e*c*b+h*d*a]);
                        

What is your idea?

You can use double sequences for your purpose. See the following example:

> A := [1, 2, 3]; B := [a, b, c];
                          
> seq(seq({A[i], B[j]}, j = 1 .. nops(B)), i = 1 .. nops(A));


{1, a}, {1, b}, {1, c}, {2, a}, {2, b}, {2, c}, {3, a}, {3, b}, {3, c}

If A:= x^n+y^3.5
then use

{op(A)}

 

 

Page 1 of 1