10
$\begingroup$

For example, this Wolfram Alpha query shows this graph:

enter image description here

But it does not show the code for plotting it in Mathematica. Plot[x^x, {x, -1, 1}] only plots the real values. How can I do this in Mathematica?

$\endgroup$
3

5 Answers 5

15
$\begingroup$
Plot[{Re[x^x], Im[x^x]}, {x, -1, 2}] 
$\endgroup$
0
35
$\begingroup$

Here's a view that shows how the graph starts to spiral for negative $x$ values, if we take the complex values into account.

ParametricPlot3D[{x, Re[Exp[x*Log[x]]], Im[Exp[x*Log[x]]]}, {x, -4, 2}, PlotRange -> All, ViewVertical -> {0, 1, 0}, BoxRatios -> {2, 1, 1}, ViewPoint -> {2, 2, 12}] 

enter image description here

In fact, if we write $x^x = e^{x\log(x)}$, this naturally generallizes to $x^x = e^{x\log(x) + 2i\pi k}$; each $2i\pi k$ represents another branch of the complex logarithm. In this context, we see that this graph just forms one spiral of a family of spirals.

x2x[0.0, _] = x2x[0, _] = 1; x2x[x_, k_] := Exp[x (Log[x] + 2 I Pi k)]; Table[points3D[k] = Table[ z = x2x[x, k]; {x, Re[z], Im[z]}, {x, -4, 2, 0.005}], {k, -7, 7}]; Graphics3D[Table[{If[k == 0, Thick, Opacity[0.5]], Line[points3D[k]]}, {k, -4, 4}], Axes -> True, PlotRange -> {{-4, 2}, {-4, 4}, {-4, 4}}, BoxRatios -> {2, 1, 1}, ViewPoint -> {2, 2, 12}, ViewVertical -> {0, 1, 0}] 

enter image description here

In elementary classes, you might see the claim that $(p/q)^{p/q}$ is defined for $p$ negative and $q$ odd and positive. Thus, including these points, the graph might look something like so:

points = Union[Cases[Table[Chop[points3D[k], 1/10], {k, -7, 7}], {_?Negative, _, 0}, {2}]]; Plot[x^x, {x, 0, 2}, PlotStyle -> Directive[Thick, Black], Epilog -> Point[Most /@ points], PlotRange -> {{-2, 2}, {-2, 4}}] 

enter image description here

From the complex perspective, the dots arise as spots where one of the spiral threads punctures the $x$-$z$ plane.

$\endgroup$
1
  • $\begingroup$ I chose yulinlinyu's as the answer because it answered my question directly and succinctly - but Mark Mcclure's answer goes above and beyond - and is the real jewel in this thread! $\endgroup$ Commented Sep 17, 2012 at 18:17
18
$\begingroup$

As yulinyu has pointed out, something like the following will give you the desired plot.

Plot[Through[{Re, Im}[x^x]], {x, -2, 2}, Evaluated -> True] 

You might also be interested in this excellent answer by Simon Woods to create a graph of the plot over the complex domain. Using his function and evaluating the following gives you a pretty picture

domainPlot[#^# &] 

enter image description here

$\endgroup$
2
  • 5
    $\begingroup$ For a second I thought I smoked .... but no $\endgroup$ Commented Sep 14, 2012 at 5:20
  • 3
    $\begingroup$ Are you training your hypno-powers? $\endgroup$ Commented Sep 14, 2012 at 5:40
1
$\begingroup$

You can use the new in M12 functions ReImPlot and ComplexPlot for complex visualizations of a function. Using ReImPlot:

ReImPlot[z^z, {z, -2, 2}] 

enter image description here

and ComplexPlot:

ComplexPlot[z^z, {z, - 3 - 3 I, 3 + 3 I}] 

enter image description here

$\endgroup$
0
$\begingroup$

Also

ComplexPlot3D[z^z, {z, -3 - 3 I, 3 + 3 I}] 

enter image description here

does the job in version 12.0.

$\endgroup$

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.