This is rather simpler: you should be using polynomials and not the
symbolic ring:

sage: R.<x1,x2,x3,x4> = QQ[]
sage: f = x1*x2+x3*x4
sage: list({f(y) for y in permutations(R.gens())})
[x1*x2 + x3*x4, x2*x3 + x1*x4, x1*x3 + x2*x4]

Someone has been implementing a module for classical invariant theory
in Sage, but I am not sure what its current status is.

On 12 February 2013 08:15, Jori Mantysalo <[email protected]> wrote:
> Let's examine f(x1,x2,x3,x4)=x1*x2+x3*x4.
>
> It is D4-invariant. I was able to calculate that it has 3 possible outcomes
> out of 4!=24 arrangements of arguments:
>
> var('x1, x2, x3, x4')
> lista = [x1, x2, x3, x4]
> def f(y):
>         return lista[y[0]]*lista[y[1]]+lista[y[2]]*lista[y[3]]
> list(set(map(f, arrangements([0,1,2,3], 4))))
>
> --> [x1*x4 + x2*x3, x1*x3 + x2*x4, x1*x2 + x3*x4]
>
> However, this only works because Sage happens to arrange monomials. How to
> compare polynomials? This does not work:
> (x1*x2+x3*x4)==(x2*x1+x3*x4)
> So how to tell Sage that I am comparing polynomials, and not for example
> matrices?
>
> And a harder question: how to show that f really is D4-invariant, not just
> G-invariant where |G|=4!/3? Or, in general, calculate "invariantness" of
> multivariate polynomial?
>
> --
> Jori Mäntysalo
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-support" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/sage-support?hl=en.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-support?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to