Mathematica's pattern replacement is relatively brute force. Some call that "structural pattern matching" which means that if the expression that you want to replace is even slightly different in any small or large way from the pattern you show, no matter how obvious it is to you that the expression is equivalent to what you want to replace, then it will not match and it won't replace anything.
Here is a strategy that I use which seems more often successful. Use InputForm
or sometimes even FullForm
on the expression to see all the details. For example this:
Solve[\[Sigma]^3+3 r \[Sigma]+s==0,\[Sigma]]//InputForm
shows me this
{{\[Sigma] -> -((2^(1/3)*r)/(-s + Sqrt[4*r^3 + s^2])^(1/3)) +
(-s + Sqrt[4*r^3 + s^2])^(1/3)/2^(1/3)},
{\[Sigma] -> ((1 + I*Sqrt[3])*r)/(2^(2/3)*(-s + Sqrt[4*r^3 + s^2])^(1/3)) -
((1 - I*Sqrt[3])*(-s + Sqrt[4*r^3 + s^2])^(1/3))/(2*2^(1/3))},
{\[Sigma] -> ((1 - I*Sqrt[3])*r)/(2^(2/3)*(-s + Sqrt[4*r^3 + s^2])^(1/3)) -
((1 + I*Sqrt[3])*(-s + Sqrt[4*r^3 + s^2])^(1/3))/(2*2^(1/3))}}
and when I look in that for literally exactly 1/2*(s - Sqrt[s^2 + 4 r^3])
to replace with Jminus I don't see it.
But I do see (-s + Sqrt[4*r^3 + s^2])^(1/3)/2^(1/3)
in there and if I do a bit of algebraic manipulation in my head I think I imagine that might be (-Jminus)^(1/3)
in your notation. So I scrape-n-paste the literal pattern from the InputForm
or FullForm
that I want to match into the replacement process and then this
Solve[\[Sigma]^3+3 r \[Sigma]+s==0,\[Sigma]]/.(-s+Sqrt[4*r^3+s^2])^(1/3)/2^(1/3)->(-Jminus)^(1/3)
shows me this
{{\[Sigma] -> (-Jminus)^(1/3) - (2^(1/3)*r)/(-s + Sqrt[4*r^3 + s^2])^(1/3)},
{\[Sigma] -> -((1 - I*Sqrt[3])*(-Jminus)^(1/3))/2 + ((1 + I*Sqrt[3])*r)/
(2^(2/3)*(-s + Sqrt[4*r^3 + s^2])^(1/3))},
{\[Sigma] -> -((1 + I*Sqrt[3])*(-Jminus)^(1/3))/2 + ((1 - I*Sqrt[3])*r)/
(2^(2/3)*(-s + Sqrt[4*r^3 + s^2])^(1/3))}}
which did make three substitutions in the result.
Notice that there are still three (2^(1/3)*r)/(-s + Sqrt[4*r^3 + s^2])^(1/3)
in that result which were not replaced. That is because they were in a slightly different form than the replacement pattern I used and thus they were ignored.
See if you can use this technique to successfully make the two substitutions that you desire in your result.