I'm trying to use FindMaximum to maximize a function of the form A F(x). However, FindMaximum gives the wrong answer when A is very small. For example,
FindMaximum[{10^-6 x^2, 0 <= x <= 10}, {x, 0}]
yields
{3.03108*10^-7, {x -> 0.550553}}
but the correct answer is x->10.
The problem seems to be related with the accuracy needed for small numbers, but increasing the precision in the options does not help. That is, increasing the values in the following options yields little improvement: FindMaximum[{10^-6 x^2, 0 <= x <= 10}, {x, 0}, AccuracyGoal -> 40, PrecisionGoal -> 40, WorkingPrecision -> 40, MaxIterations -> 2000].
Also changing the method is of no help because FindMaximum can only implement Interior Point Algorithm for constrained problems.
Is the a way that FindMaximum yields the right answer with this simple function?