9 years, 56 days

## In the following procedeure F is a list ...

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]);

## Double sequences...

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}

## {op(A)}...

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

{op(A)}

 Page 1 of 1
﻿