Yes, that should work also because in this case, the outputs are in
Integer Ring rather than Symbolic Ring.

If you define f and g as you mentioned, then

sage: parent(f(2))
Integer Ring
sage: parent(g(-1))
Integer Ring
sage: f(2)==g(-1)
True



On Wed, Sep 21, 2011 at 3:32 PM, A. Jorge Garcia <[email protected]> wrote:
> Micah <[email protected]> wrote:
>>
>> Jorge,
>>
>> For what it's worth, it appears that f(2) and g(-1) are elements of
>> the symbolic ring, rather than the integer ring. As such, the
>> equation
>>
>> sage: f(2)==g(-1)
>>
>> is not interpreted as "evaluate this as a boolean expression".
>> Rather, it is interpreted as another symbolic expression. This does
>> not happen when the two sides of the equation are in the integer ring.
>>
>> sage: parent(0)
>> Integer Ring
>> sage: 0==0
>> True
>>
>> but f(2) is 0 in the symbolic ring, thus the equation of symbolics is
>> interpreted as a symbolic element itself.
>>
>> sage: parent(f(2))
>> Symbolic Ring
>> sage: f(2)==g(-1)
>> 0 == 0
>> sage: parent(f(2)==g(-1))
>> Symbolic Ring
>> sage: SR(0)==SR(0)
>> 0 == 0
>>
>>
>> As a workaround, I noticed that if you define your functions using
>> lambda, this does not happen.
>> sage: f = lambda x:x**2-4
>> sage: g = lambda x:x**2-2*x+1
>> sage: parent(f(2))
>> Integer Ring
>> sage: f(2)==g(-1)
>> True
>>
>>
>> This may not be the ideal way to present the functions to your class,
>> but it might be better than something of the form
>> sage: (f(2)-g(-1)).is_zero()
>>
>>
>> Here's hoping this was helpful!
>>
>> -Micah
>>
>>
>>
>> On Sep 21, 2:04 pm, "A. Jorge Garcia" <[email protected]> wrote:
>> > I had a weird problem in class today. Let's say I had the following
>> > code in a cell:
>> >
>> > f(x)=x**2-4
>> > g(x)=x**2+2*x+1
>> > f(2)==g(-1)
>> >
>> > What output should I get? I was expecting: True Am I crazy? Needless
>> > to say I didn't!
>> >
>> > TIA,
>> > A. Jorge
>> > Garciahttp://shadowfaxrant.blogspot.comhttp://www.youtube.com/calcpage2009
>>
>> --
>> You received this message
>>  because
>> you are subscribed to the Google Groups "sage-edu" group.
>> To post to this group, send email to [email protected].
>> To unsubscribe from this group, send email to
>> [email protected].
>> For more options, visit this group at
>> http://groups.google.com/group/sage-edu?hl=en.
>>
>
> I see. I could have swarn that I'd done this before....
>
> Anyway, rather than lambda notation, what if I just define a function like
> this
>
> def f(x):
> return x**2-4
>
> def g(x):
> return x**2+2x+1
>
> f(2)==g(-1)
> Thanx,
> A. Jorge Garcia
> Applied Math and CompSci
> http://shadowfaxrant.blogspot.com
> http://www.youtube.com/calcpage2009
> Sent via DROID on Verizon Wireless
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-edu" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/sage-edu?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-edu" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-edu?hl=en.

Reply via email to