given a list of equality expressions, is there a way to remove all the
members that can be inferred by others in the list so that the final
list contains only independent expressions and they imply all the ones
that were removed.

For example

[x == 2,  x^2 = 4]   =>  [x == 2]

([x*x-y*y==0,x-y==0,x*x-y*y==0,2*x*y-2*y*y==0]  => [-x + y == 0]



I tried to use Grobner basis

Q = PolynomialRing(QQ,[x,y,z ...])
result = (Q*input_list).groebner_basis()

but it's not the right approach for this because

[a*y - b == 0,a*r - a*x + b*q == 0,q*y + r - x == 0]  =>  [a*y - b ==
0, q*y + r - x == 0, -a*r + a*x - b*q == 0]   even though a*r - a*x +
b*q == 0 can be implied from the other two.


Any suggestion ?


Thanks,

-- 
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to 
sage-support+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/sage-support
URL: http://www.sagemath.org

Reply via email to