What are the Method options Solve command accepts?


What are the Method options Solve command accepts? Solve has the Method option, however documentation contains no methods that it accepts...


Posted 2014-05-13T08:46:05.037

Reputation: 81

Related: http://mathematica.stackexchange.com/q/809/131

– Yves Klett – 2014-05-13T10:15:37.793

The documentation for Solve mentions that Method -> Reduce can be given in place of Method -> Automatic. It is implied, but not explicitly stated, that these are the only methods available. – m_goldberg – 2014-05-13T10:35:24.987



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.

Alexey Popkov

Posted 2014-05-13T08:46:05.037

Reputation: 50 220


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]}}

János Tóth

Posted 2014-05-13T08:46:05.037

Reputation: 43

@Öskå. From my reading of the documentation, I conclude Reduce and Automatic are the only method choices available. So I think this a valid answer. – m_goldberg – 2014-05-13T10:30:39.037

@m_goldberg Although it would be "great" to have a function giving the available method for Solve or NDSolve or any function taking Method as Options. But you are right, in the case of Solve it might be the only ones. – Öskå – 2014-05-13T10:36:27.760