TransWikia.com

Methods for NSolve

Mathematica Asked by Jānis Šmits on April 17, 2021

I’ve been using NSolve a moderate (50-100 equations) size system of linear equations and it has been working splendidly (Solve on the other hand is extremely slow) and I thought I’d look up the method it is using is there anyway to:

a) See which method Mathematica chooses to use for a particular set of equations?

b) See what are the available methods to NSolve. The documentation for NSolve doesn’t show anything specific under Details and Options.

2 Answers

The basic algorithm might be the same yet the underlying data types are certainly different. Generally, plain old arithmetic with exact rationals is much slower than machine arithmetic with floating point approximations, particularly if the underlying integers grow larger than the largest machine integer on your system, which is 9223372036854775807 on my Mac. Here's an example where the only difference is the starting point, 1 vs 1.0:

Nest[1 + 1/# &, 1, 1000000]; // Timing
Nest[1 + 1/# &, 1.0, 1000000]; // Timing
(* Out:
  {4.714536, Null}

  {0.031917, Null}
*)

Correct answer by Mark McClure on April 17, 2021

To answer part b):

Here are some settings meth for Method -> meth for NSolve:

"EndomorphismMatrix"
"CompanionMatrix"
"Legacy"
"Aberth"
"JenkinsTraub"
"Homotopy"

I found them by searching on the site, and you can find various discussions of them by search for each one. This question, closely related to this one, also seems relevant:

What algorithms does NSolve use?

In addition, options can be passed via the Method option, in the from Method -> {subopt -> value,...}. These may be found this way:

Internal`NSolveOptions[]
(* V10 result:
  {"ComplexEquationMethod" -> Automatic, "MonomialOrder" -> Automatic, 
   "ReorderVariables" -> True, "SelectCriterion" -> (True &), 
   "Tolerance" -> 0, "UseSlicingHyperplanes" -> True}
*)

Answered by Michael E2 on April 17, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP