I have the function $$f(x,\alpha) = x^\alpha - \frac{x^2}{2}$$ where $x>0$ is the main variable of interest and $\alpha \in (0,1)$ is the parameter of curvature:
f[x_,\[Alpha]_]:= x^\[Alpha] - x^2/2
I'm interested in finding $x^*$ that maximizes this function. I can do so numerically for certain values of $\alpha$:
ArgMax[f[x, 0.88], x]
which gives me $x^*=0.89...$
On a side note, to inspect the function, I can use Manipulate[]
with Plot[]
as follows:
Manipulate[Plot[f[x, \[Alpha]], {x, 0, 2}], {\[Alpha], 0, 1}]
but doing so with ArgMax[]
:
Manipulate[
ArgMax[{f[x, \[Alpha]], 0 < \[Alpha] < 1}, x], {\[Alpha], 0, 1}]
gives me an error ("NMaximize::ubnd
: The problem is unbounded"):
Why is that?
Ultimately, I want to find the $x$ that maximizes this function symbolically (i.e., in terms of $\alpha$). I try the following:
ArgMax[{f[x, \[Alpha]], 0 < \[Alpha] < 1}, x]
It just prints back the input. Thus, I try to find the solution to its derivative instead:
Solve[D[f[x, \[Alpha]] == 0, x], x]
I get an error message ("Solve::ifun
: Inverse functions are being used by Solve, so some solutions may not be found; use Reduce for complete solution information") but I do get a solution: $\left\{\left\{x\to \alpha ^{\frac{1}{2-\alpha }}\right\}\right\}$.
Why am I getting an error message with Solve[]
and why am I not getting this solution with Maximize[]
or ArgMax[]
?
SynchronousUpdating->False
can solve this. The clue is that when you move the slider, the result isIndeterminate
instead of numerical value. $\endgroup$ref/InverseFunctions
. $\endgroup$Solve[D[f[x, a], x] == 0, x]
results in:x -> a^(1/(2 - a))
$\endgroup$a^(1/(2 - a))
with maximization of the main functionf[x, a]
viaArgMax[]
orMaximize[]
? $\endgroup$