Hi Roland,

On 21 Jul., 06:33, Rolandb <rola...@planet.nl> wrote:
> Hi,
> How to simplify an expression if you have some known relations
> (equalities)? Example:
>
> relation: 0 = a*x1^2 + b*x2^2
> expression = (a*x1^2 + b*x2^2)*y1+b*y2^3

Are all your relations polynomial? Then the standard solution is to
use Gröbner bases and reduction. For example:

 sage: R.<x,y,z> = QQ[]
 sage: I = [x*y+z,y*z+x]*R

So, the ideal I contains some relations, namely x*y+z=0 and y*z+x=0,
and all of its consequences.

It is easy to see that x^2-z^2 is a consequence of the relations.
Indeed:

 sage: G = I.groebner_basis()
 sage: G
 [x^2 - z^2, x*y + z, y*z + x]
 sage: f = x^2 + x*y*z + x*z
 sage: f.reduce(G)
 x*z

Of course, it is essential that one uses a Gröbner basis in the
reduction: The original generating set of I is not appropriate:

 sage: (x^2-z^2).reduce(I)
 x^2 - z^2
 sage: (x^2-z^2).reduce(G)
 0

Cheers,
   Simon

--~--~---------~--~----~------------~-------~--~----~
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
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to