Thanks for that! I can do it using the python function now. I think it
would be very useful to have a command to replace symbolic variables
by pre-defined values or terms whenever they are called.
The .subs(locals()) functionality helps a lot with this respect. I am
not registered for the TRAC system yet, so I can't file the bug in the
PiecewisePolynomial as a ticket. Could someone more familiar with it
do it? Thanks a lot, you are an unbelievably helpful crowd. SAGE
rocks!

Cheers
Stan

On Jun 11, 12:56 am, Robert Bradshaw <[EMAIL PROTECTED]>
wrote:
> On Jun 10, 2008, at 10:58 AM, Stan Schymanski wrote:
>
>
>
>
>
> > Dear all
>
> > I have been using the .subs(locals()) functionality extensively, but
> > now I found out that this does not work for piecewise defined
> > functions.
>
> > Example:
>
> > sage: var('x a b')
> > (x, a, b)
> > sage: f1=a*sin(x)
> > sage: f2=b*sin(x)
> > sage: f = Piecewise([[(0,pi/2),f1],[(pi/2,pi),f2]])
> > sage: a=1
> > sage: b=-1
> > sage: f.subs(locals())
> > ----------------------------------------------------------------------
> > -----
> > AttributeError                            Traceback (most recent call
> > last)
>
> > ...
>
> > AttributeError: PiecewisePolynomial instance has no attribute 'subs'
>
> This is an (easily fixed)  bug in PiecewisePolynomial.
>
> > The python function approach also fails in this case:
>
> > sage: def g(x):
> > ....:     return  Piecewise([[(0,pi/2),f1],[(pi/2,pi),f2]])
> > sage: a=1
> > sage: b=-1
> > sage: g(1)
> > Piecewise defined function with 2 parts, [[(0, pi/2), a*sin(x)], [(pi/
> > 2, pi), b*sin(x)]]
>
> > Am I doing something wrong?
>
> The python approach won't work recursively unless everything is a
> python function (which may have performance impacts).
>
> To better understand what's going on here, when you write "a=1" it
> does not mean "the symbolic variable a is now 1 in every expression
> it occurs" but rather "the global variable a is 1." In fact writing
> "var('a,b,c')" simply binds the symbolic expression "a" to the global
> variable "a." The difference is subtle but important.
>
> - Robert
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to