Mathematica allows one to write a function on the fly without giving it a name (similar to lambda in Lisp). Say for example that we want to square an argument. There are two ways of writing it on the fly
Function[x, x^2][2]
(* 4 *)
Another way is using slots and ampersand
#^2 &[2]
(* 4 *)
The root object you see is using the second syntax.
sol =
Solve[((3 a + 5 b)^2 (6 a + 11 b) (6 a^2 + 13 a b +
9 b^2))/(1296 (a + b)^3 (2 a + b)^2) == 1, b, Reals]
(* {{b ->
Root[-4860 a^5 - 18360 a^4 #1 - 25407 a^3 #1^2 - 14223 a^2 #1^3 -
1177 a #1^4 + 1179 #1^5 &, 1]}} *)
You can evaluate it numerically by replacing a with a number applying N
You can extract the function from the variable sol using Part as follows
sol[[1]]
(* {b ->
Root[-4860 a^5 - 18360 a^4 #1 - 25407 a^3 #1^2 - 14223 a^2 #1^3 -
1177 a #1^4 + 1179 #1^5 &, 1]} *)
sol[[1, 1, 2]]
(* Root[-4860 a^5 - 18360 a^4 #1 - 25407 a^3 #1^2 -
14223 a^2 #1^3 - 1177 a #1^4 + 1179 #1^5 &, 1] *)
Now try use ReplaceAll
N[sol[[1, 1, 2]] /. a -> 1 ]
(* 4.69952 *)
{}button above the edit window. It is recommended that you browse the Markdown help – Jack LaVigne Mar 27 '20 at 21:11