Dear Nishan,

I created a ticket for that, you can have a look at:
http://trac.sagemath.org/ticket/17107

Hopefully, this will be corrected in the next release of Sage.

Thanks for the report!
Vincent

2014-10-06 20:53 UTC+02:00, NahsiN <nishan.singh.m...@gmail.com>:
> Yes Vincent, that sounds much better,
> Cheers,
> Nishan
>
> On Saturday, 4 October 2014 05:21:15 UTC-4, vdelecroix wrote:
>>
>> Hello,
>>
>> Is it better worded as follows?
>>
>> The issue: plot(h(x), 0, 4) plots the line y=x−2, not the multi-line
>> function defined by h. The reason? In the command plot(h(x), 0, 4),
>> first h(x) is evaluated: this means plugging the symbolic variable x
>> into the function h. The inequality "x < 2" evaluates to ``False`` and
>> hence ``h(x)`` evaluates to ``x - 2`` as it can be seen with
>> {{{
>> sage: bool(x < 2)
>> False
>> sage: h(x)
>> x - 2
>> }}}
>>
>> I also find misleading to have a Python argument (the x in "def
>> h(x):")  and a symbolic variable (here "x") having the same name. At
>> least it should be mentioned.
>>
>> Vincent
>>
>> 2014-10-02 20:32 UTC+02:00, NahsiN <nishan.s...@gmail.com <javascript:>>:
>>
>> > @slelievre I was just pointing out what I think is a typo.
>> > @slelievre You are right, the clause after the statement clarifies the
>> > situation. "When a symbolic equation is evaluated, as in the definition
>> >
>> of
>> > h,
>> > if it is not obviously true, then it returns False. Thus h(x) evaluates
>> >
>> to
>> > x-2, and this is the function that gets plotted" But I still feel the
>> whole
>> >
>> > thing can be worded slightly better and more concisely. The if clause is
>> >
>> > evaluated anyway when one calls h(x) so there is no point in saying "x<2
>> >
>> is
>> > evaluated".
>> > On Thursday, 2 October 2014 13:42:25 UTC-4, slelievre wrote:
>> >>
>> >>
>> >>
>> >> Le mercredi 1 octobre 2014 22:06:50 UTC+2, NahsiN a écrit :
>> >>>
>> >>> Hello, I don't know where to post this so redirect me as needed. I
>> >>> believe I have found a typo in the sage tutorial. Under Sage Tutorial
>> >>>
>> >>> v6.3
>> >>> >> A Guided Tour >> Some Common Issues with Functions we have the
>> lines
>> >>> def h(x):
>> >>>       if x<2:
>> >>>          return 0
>> >>>       else:
>> >>>           return x-2
>> >>>
>> >>> The issue: plot(h(x), 0, 4) plots the line y=x−2, not the multi-line
>> >>> function defined by h. The reason? In the command plot(h(x),0, 4),
>> first
>> >>>
>> >>> h(x) is evaluated: this means plugging x into the function h, *which
>> >>> means that **x<2** is evaluated*.
>> >>>
>> >>> I think the else clause is evaluated and not the if x<2 clause.
>> >>> Thanks,
>> >>> Nishan
>> >>>
>> >>
>> >> You can work around this as follows:
>> >>
>> >>     plot(lambda x: h(x), 0, 4)
>> >>
>> >>
>> >
>> > --
>> > 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 sage-support...@googlegroups.com <javascript:>.
>> > To post to this group, send email to sage-s...@googlegroups.com
>> <javascript:>.
>> > Visit this group at http://groups.google.com/group/sage-support.
>> > For more options, visit https://groups.google.com/d/optout.
>> >
>>
>
> --
> 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 sage-support+unsubscr...@googlegroups.com.
> To post to this group, send email to sage-support@googlegroups.com.
> Visit this group at http://groups.google.com/group/sage-support.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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 sage-support+unsubscr...@googlegroups.com.
To post to this group, send email to sage-support@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.

Reply via email to