8
$\begingroup$

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

$\endgroup$
2
  • $\begingroup$ Related: mathematica.stackexchange.com/q/809/131 $\endgroup$
    – Yves Klett
    May 13, 2014 at 10:15
  • $\begingroup$ 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. $\endgroup$
    – m_goldberg
    May 13, 2014 at 10:35

2 Answers 2

5
$\begingroup$

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.

$\endgroup$
4
$\begingroup$

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]}}
$\endgroup$
2
  • $\begingroup$ @Ö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. $\endgroup$
    – m_goldberg
    May 13, 2014 at 10:30
  • $\begingroup$ @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. $\endgroup$
    – Öskå
    May 13, 2014 at 10:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.