Group Abstract Group Abstract

Message Boards Message Boards

0
|
6.1K Views
|
7 Replies
|
3 Total Likes
View groups...
Share
Share this post:

Names of the algorithms in Wolfram Language functions ?

Hello everyone,

How do we know the name of the algorithms used by Mathematica functions ? For example, what is the algorithm used by Mathematica to raise a matrix to the power of n ? Diagonalization and eigenvalue decomposition or use of Cayley–Hamilton theorem or whatever.

A list containing the different functions with the algorithms involved would be nice.

Thank you.

7 Replies

Thank you all for your answers. Not knowing the algorithm used by Mathematica is quite bothersome for me because without that I don't know how to consider the answers, notably regarding the questions of completeness and soudness in the following senses :

  • Completeness : given a generic problem, does Mathematica explore all the possibilities and then return the best answer ? or does Mathematica only partially explore all the possibilites and then return an approximation of the best answer ?
  • Soundness : given a generic problem, when Mathematica gives an answer, is the answer always correct ? or are there cases the answers may not be correct ?

I understand that Mathematica is a proprietary product and that SomeNotesOnInternalImplementation is probably the much they can disclose, but I hoped they would have revealed a little more.

Given a choice of options, I can always try all of them and see which one gives the same result as Automatic. It wouldn't be giving anything away to reveal which option choice was used.

POSTED BY: Frank Kampas

"Given a choice of options, I can always try all of them and see which one gives the same result as Automatic. It wouldn't be giving anything away to reveal which option choice was used.":

But the choice will depend upon the particular differential equation, so still the documentation could not tell you in any general way which of the non-stiff Adams method or the stiff Gear backward differentiation formula is used for the explicit, or default, option Method -> Automatic.

Moreover, even if you find through experimentation that an Adams method was used, it won't tell you which order Adams method; for that you'd have to do additional experimentation (including, quite likely, implementing the particular order method).

In principle, Mathematica could be enhanced with an option that, at evaluation time, reports the choice. But that's a different level of functionality from what Mathematica currently has, and it could unduly complicate the underlying code, with unwanted effects on efficiency.

POSTED BY: Murray Eisenberg
POSTED BY: Frank Kampas
POSTED BY: Murray Eisenberg

Some functions use multiple algorithms and choose a particular one based on the kind of input they recieve. Most of these have a "Method" option that allows you to select a specific method to use.

The closest thing that exists to what you describe is this documentation page:

https://reference.wolfram.com/language/tutorial/SomeNotesOnInternalImplementation.html

POSTED BY: Sean Clarke

There are thousands of functions, so a simple list isn't going to work. For specific topics, you can search in documentation (for example search for "decomposition" or "matrix") usually there are tutorials as well that the documentation will point to. Another good source often is mathworld . Hope that helps!

POSTED BY: Kay Herbert
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard