There is a function that I'm trying to get the inverse of. My function is a simple polynomial:

Tn[T_] := 4/9 T^3/Tc^2 + 5/9 T

Now I tried to find T as a function of Tn, for which I used Solve:

sols=Solve[Tn[x] == a, x, Reals]
{{x -> Root[-9 a Tc^2 + 5 Tc^2 #1 + 4 #1^3 &, 1]}}

Plotting it is no problem, which I did by using this:

Tc = 1;
Plot[Evaluate[x /. sols], {a, 0, 1}]

enter image description here

But the problem is that I have no idea what the hashtags in the result of Solve denote, and how I should write the function T(Tn). What do the #s mean, and how exactly does T depend on Tn?

  • 2
    $\begingroup$ This is a Root object; you can look it up in the documentation. The "hashtags" are Slots; they are just a part of the Root. In this case it is only a cubic root so you can use ToRadicals on it if you prefer that. $\endgroup$ Jun 26 '13 at 10:42
  • 5
    $\begingroup$ I like this kind of question, as it gives people an additional means of searching "what does # mean?" Maybe we should include synonyms in the canonical answer on notation. Maybe we should just have a big table of symbol names that have as an answer a link to the canonical answer on notation. By the way if you search for "problems new users" you wont find the canonical Q&A, maybe that should be renamed "what are the most common problems awaiting new users. Language.. Btw, Kind of duplicate $\endgroup$ Jun 26 '13 at 10:57

What is Root?

In Mathematica an irreducible higher-order polynomial will be solved, using Root-abjects.

Root basically represents the rootNumberth root of the equation:

Root[ PolynomialAsPureFunction, rootNumber ]

Root objects are used to represent complex numbers and can be calculated to the required precision:

N[sols, 40]

{{x->Root[-9.000000000000000000000000000000000000000 a Tc^2 
 +5.000000000000000000000000000000000000000 Tc^2 #1 
 +4.000000000000000000000000000000000000000 #1^3&,1]}}

If you apply Re, Im and Abs to a Root-object a new Root-object is generated automatically:


==> {Re[Root[-9 a+5 #1+4 #1^3&,1]]}

Let's take the first root:

Im[Take[x /. sols, 1]]

==> {Im[Root[-9 a + 5 #1 + 4 #1^3 &, 1]]}

Let's take the last root:

Abs[Last[x /. sols]] (*no surprises here*)

Knowing that Root-objects can contain parameters they work perfectly together with other Mathematica functions:

root = Root[a - 9 #1^7&, 1];
D[root, a]

Series[root, {a, 2, 2}] // N

Plot3D[Evaluate[Re[root] /. a -> ar + I ai], 
   {ar, -12, 12}, {ai, -12, 12}, PlotPoints -> 30]

enter image description here


Not the answer you're looking for? Browse other questions tagged or ask your own question.