A Template for an Algorithm Includes

  1. A high-level description of the algorithm.

  2. A description of when it is effective, including conditions on the input, and estimates of the time, space or other resources required. If there are natural competitors, they will be referenced.

  3. A description of available refinements and user-tunable parameters, as well as advice on when to use them.

  4. Pointers to complete or partial implementations, perhaps in several languages or for several architectures (each parallel architecture). These implementation expose those details suitable for user-tuning, and hide the others.

  5. Numerical examples, on a common set of examples, illustrating both easy cases and difficult cases.

  6. Trouble shooting advice.

  7. Pointers to texts or journal articles for further information.

In addition to individual templates, there will be a decision tree to help steer the user to the right algorithm, or subset of possible algorithms, based on a sequence of questions about the nature of the problem to be solved.




[Previous Page] [First Page] [Next Page]