Ask Your Question

leonardo's profile - activity

2018-10-06 08:31:21 +0100 received badge  Famous Question (source)
2017-03-18 22:22:58 +0100 received badge  Notable Question (source)
2015-07-10 21:58:12 +0100 received badge  Famous Question (source)
2015-03-05 10:44:44 +0100 received badge  Notable Question (source)
2015-03-05 10:44:44 +0100 received badge  Popular Question (source)
2014-08-18 16:42:19 +0100 received badge  Popular Question (source)
2013-11-20 12:31:08 +0100 marked best answer plotting tan()

Your problem is that you are putting something in for detect_poles that is not 'show'.

Compare the following.

sage: plot(tan(x), x, -pi, pi, detect_poles=True) 
sage: plot(tan(x), x, -pi, pi, detect_poles=show) 
sage: plot(tan(x), x, -pi, pi, detect_poles='show')

The first two are equivalent, because show is an actual function, hence Python evaluates it as a True boolean:

sage: bool(show)

But of course that will give the same behavior. You need the quotes in the last one to make the asymptotes appear. That is why the word is given as "show" and not show in the documentation.

That said, this will still be a not-so-helpful graph unless you use additional keywords.

sage: plot(tan(x), x, -pi, pi, detect_poles='show', ymin=-50,ymax=50)

image description

This is also the type of example given in the documentation:

sage: plot(gamma, (-3, 4), detect_poles = 'show').show(ymin = -5, ymax = 5)

Hope this helps!

2013-11-20 12:30:54 +0100 commented answer plotting tan()

That's it! Thanks so much. You're a very good teacher.

2013-11-20 06:27:56 +0100 commented question plotting tan()

As I said to tmonteil (elsewhere on this page), that's what the document says, but it's not what the sage does. When you enter: sage: plot(tan(x), x, -pi, pi, detect_poles=show) you just get the graph of y = tan(x), without asymptotes. I thought perhaps this was because I was trying out cloud.sagemath, but then I tried the line in my downloaded version of sage (Sage Version 5.8, Release Date: 2013-03-15) and got the same result. And it's true if you enlarge the graph thus: sage: p = plot(tan(x), x, -pi, pi, detect_poles=show) sage: (p).show(xmin=-pi, xmax=pi, ymin=-10, ymax=10) I don't think the docs describe this behavior of plot() correctly. If you agree I think I'll send a little note to the people who maintain the docs. I appreciate your patience and interest.

2013-11-19 14:52:44 +0100 commented question plotting tan()

Thanks for your comment. It does raise some questions, at least for this novice. How does the answer 'show how to have these not connected'? And how would you plot the graph with 'real' aymptotes (I understand that they would look the same as the connecting lines). I mean, I get that you could just draw vertical lines at multiples of pi/2, but is there an option that has plot(tan(x)...) draw the asymptotes? Thanks for any help.

2013-11-16 16:23:23 +0100 commented answer plotting tan()

Thanks dazed, that did it!

2013-11-16 11:38:44 +0100 marked best answer check if symbolic expression contains a variable

You can also use the has() method for an expression:

sage: var('x,c')
sage: y(x)=-3/(x^3 + 3*c + 3*x)
sage: y.has(c)

example on

2013-11-16 10:45:14 +0100 commented answer plotting tan()

I'm not sure how to accept the answer. I clicked the thumbs-up icon and the check-mark icon. Is that all I have to do? Thanks.

2013-11-16 10:43:55 +0100 marked best answer plotting tan()

You can try with detect_poles=True :

sage: p = plot(tan(x), x, -pi, pi, detect_poles=True)
sage:, xmax=pi, ymin=-10, ymax=10)

You can get the documentation of the plot function by typing:

sage: plot?
2013-11-16 10:43:55 +0100 received badge  Scholar (source)
2013-11-16 10:00:28 +0100 commented answer plotting tan()

Thanks so much for your prompt and correct advice. 'detect_poles=True' solved the problem. Sage seems wonderful, both the the system and the community! Just a little comment (probably in the wrong place): I also took your advice and tried 'plot?', and I found this - "detect_poles - (Default: False) If set to True poles are detected. If set to “show” vertical asymptotes are drawn." But when I set detect_poles=show, vertical asymptotes were NOT drawn. They WERE drawn when I set detect_poles=False. Seems like perhaps two options are called for: a 'detect_poles' AND a 'show_asymptotes' one. Thanks again.

2013-11-16 06:25:31 +0100 asked a question plotting tan()

When I enter these lines:

p = plot(tan(x), x, -pi, pi), xmax=pi, ymin=-10, ymax=10)

in cloud.sagemath, I get a graph with vertical lines at -pi/2 and pi/2.

Can someone tell me why these asymptotes are drawn? Is there a way to eliminate them?

2012-05-05 14:02:59 +0100 commented answer check if symbolic expression contains a variable

Thanks, Mike and Jason. Both methods work very nicely in my program.

2012-05-05 14:00:12 +0100 received badge  Supporter (source)
2012-05-04 19:04:44 +0100 received badge  Student (source)
2012-05-04 14:38:37 +0100 asked a question check if symbolic expression contains a variable

check if symbolic expression contains a given variable

Is there a function or method that tests a symbolic expression <type 'sage.symbolic.expression.expression'=""> to see if it contains a particular variable?

For example to test y(x) == -3/(x^3 + 3c + 3x) to see if it contains the variable c.

(I'm trying to write a a program to automatically plot the return value of the differential equation function desolve(), and it would help to be able to detect if the return expression contains the 'arbitrary constant' c.)