First time here? Check out the FAQ!

Ask Your Question
1

drawing the function y = |log x|

asked 6 years ago

wisher gravatar image

When drawing the function y = |log x|, I know that x must be positive but I have varied x from -5 to 5 by habit. I had no error message and a graph having a part in the box x<0. I would have liked to attach the graphic but that is denied me.

    def y(x):
        return abs(log(x))

    G = plot(y, (-5,5), color='blue')
    G.show(aspect_ratio=1, axes = True, gridlines=True, ymin = -1, ymax = 6)
Preview: (hide)

Comments

Hint: try log(-3) etc. and see what comes out.

rburing gravatar imagerburing ( 6 years ago )
1

Just click here for the graphic!

kcrisman gravatar imagekcrisman ( 6 years ago )
1

Although most people learn the logarithm has domain positive reals and range all reals the logarithm, like other functions such as e^x, gets extended to the complex number system. Type: log? on the command line for Sage to see further down: "The log function works for negative numbers, complex numbers, and symbolic numbers too, picking the branch with angle between -pi and pi". Since the absolute value of a complex number is just its distance from the origin Sage has done everything correctly.

dazedANDconfused gravatar imagedazedANDconfused ( 6 years ago )

Thank you very much for the answers. They show me that I still have to study a lot Sage.

wisher gravatar imagewisher ( 6 years ago )

1 Answer

Sort by » oldest newest most voted
0

answered 6 years ago

slelievre gravatar image

One way to obtain the desired graph would be to define a function real_log which would map x to log(x) if x is positive, and return "not a number" if x is not positive.

sage: nan = float(NaN)
sage: real_log = lambda x: log(x) if x > 0 else nan
sage: y = lambda x: abs(real_log(x))
sage: G = plot(y, (-5, 5))
verbose 0 (3763: plot.py, generate_plot_points) WARNING: When plotting, failed to evaluate function at 100 points.
verbose 0 (3763: plot.py, generate_plot_points) Last error message: 'Unable to compute f(-0.047921289673)'
sage: G.show(aspect_ratio=1, axes=True, gridlines=True, ymin=-1, ymax=6)
Launched png viewer for Graphics object consisting of 1 graphics primitive
Preview: (hide)
link

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 6 years ago

Seen: 448 times

Last updated: Oct 21 '18