sorry, i meant

g.subs({z[1]:value1...})

I am not sure why you call this intriguing syntax, but it is what
works.

Example:
g=x+y
g.subs({x:2,y:4})
6

My problem is that I don't know how to do this if the number of
variables is not predetermined.
I tried to make a list with
a=list()
for i in range(n):
        a.append(z[i]:value[i])
but it does not like this kind of list (gives an error).

you can think of it this way.  Suppose n is not predetermined.
R=PolynomialRing(QQ,n,'z')
z=R.gens()
g=sum(z[i] for i in range(n))

now how would I substitute into g the values z[i]=i?
On 7 June, 21:48, "Justin C. Walker" <jus...@mac.com> wrote:
> On Jun 7, 2009, at 13:03 , amps wrote:
>
>
>
> > I want to substitute n values into polynomial with n variables.
>
> > I guess the syntax to do this is (if g is my polynomial with
> > indeterminates z[1], ..., z[n]).
>
> > f.subs({z[1]:value1, z[2]:value2, ..., z[n]:valuen})
>
> > but how do I actually do this?  n is not set, so I just can't type
> > this out.
>
> That's intriguing syntax, but I don't think it will work.
>
> Assuming that, at the call site, you know all your values, you can  
> cobble up a tuple or list, something like the following:
>
>    L = [f(i+1) for i in range(n)]
>    print g(L)
>
> You can do this to determine 'n', assuming you don't know it at the  
> call site:
>
>    n = len(g.variables())
>
> HTH
>
> Justin
>
> --
> Justin C. Walker, Curmudgeon-At-Large
> Director
> Institute for the Enhancement of the Director's Income
> --------
> "Weaseling out of things is what separates us from the animals.
>   Well, except the weasel."
>        - Homer J Simpson
> --------
--~--~---------~--~----~------------~-------~--~----~
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