Pensieve header: The persistent root function.

(*MakeExpression[RadicalBox[a_,n_], StandardForm] := HoldComplete[PersistentRoot[0,ToExpression@n,ToExpression@a]];*)
MakeExpression[RadicalBox[RowBox[{p_,":",a_}],n_], StandardForm] := HoldComplete[PersistentRoot[ToExpression@p,ToExpression@n,ToExpression@a]];

{(9^(1/2)), ((p:27)^(1/3))}

PersistentRoot[p_, n_, a_] := PersistentRoot[p,n] = If[NumberQ[PersistentRoot[p,n]],
MinimalBy[
N[(a^(1/n))]Table[(E^(2π I k/n)), {k,n}],
Abs[#-PersistentRoot[p,n]]&
][[1]],
(a^(1/n))
]

((test0:8)^(1/3))

b={{1,1}/2};
{LocatorPane[Dynamic[b],Graphics[{Pink,Rectangle[{-1,-1},{1,1}]}]], Dynamic[Graphics[{
LightBlue, Rectangle[{-1,-1},{1,1}],
Black, Point[r=((test1:b[[1,1]]+I b[[1,2]])^(1/5)); {Re[r], Im[r]}],
Red, Point[r=((b[[1,1]]+I b[[1,2]])^(1/5)); {Re[r], Im[r]}]
}, PlotRange->{-1,1}]]}

b1={{1,1}/2};
{LocatorPane[Dynamic[b1],Graphics[{Pink,Rectangle[{-1,-1},{1,1}]}]], Dynamic[Graphics[{LightBlue, Rectangle[{-1,-1},{1,1}],Black, Point[r=((test2:b1[[1,1]]+I b1[[1,2]])^(1/2)); {Re[r], Im[r]}]}, PlotRange->{-1,1}]]}