What are the Method options Solve command accepts? Solve has the Method option, however documentation contains no methods that it accepts...
2 Answers
Undocumented Method->"Legacy"
option forces Solve
in version 8 to use algorithm from versions <=7.
exprs = Together[{(b + d + f)/x - (a + b)/(1 + x) -
2*(c + d + e)/(1 + 2*x + y) - (f + g)/(x + y), (e + g)/
y - (c + d + e)/(1 + 2*x + y) - (f + g)/(x + y)}];
Timing[solns1 = Solve[exprs == 0, {x, y}, Method -> "Legacy"];]
{39.515, Null}
Solve[exprs == 0, {x, y}]
never returns in version 8. Additional examples see here.
Some information on the change in the algorithm between versions 7 and 8 is published by Bruce Miller (Wolfram Technical Support Group):
Boilerplate I had:
The difference between 7.0 and 8.0 output is that 7.0 Solve was treating equations that involved only variables as assumptions. This functionality was not precisely defined or consistently implemented and has been removed in 8.0. Instead there is a new option MaxExtraConditions which provides a well-defined and extended version of the functionality.
With Method -> Reduce
, Solve
uses only equivalent transformations and finds all solutions.
Solve[x E^x == 1/2, x, Method -> Reduce]
{{x -> ConditionalExpression[ProductLog[C[1], 1/2], C[1] ∈ Integers]}}
-
$\begingroup$ @Öskå. From my reading of the documentation, I conclude
Reduce
andAutomatic
are the only method choices available. So I think this a valid answer. $\endgroup$ May 13, 2014 at 10:30 -
$\begingroup$ @m_goldberg Although it would be "great" to have a function giving the available method for
Solve
orNDSolve
or any function takingMethod
asOptions
. But you are right, in the case ofSolve
it might be the only ones. $\endgroup$– ÖskåMay 13, 2014 at 10:36
Solve
mentions thatMethod -> Reduce
can be given in place ofMethod -> Automatic
. It is implied, but not explicitly stated, that these are the only methods available. $\endgroup$