A number of the considerations that were mentioned for the data structures, also hold
for the set of algorithms and functions to be implemented. Also here the flexibility
can be mentioned, the consistency, the clarity and the robustness as important design
criteria for the set of algorithms. More important, however, is that all low-level
functions that are trivially required, but tedious to develop, are available in the
standard set of routines. Disk I/O, allocation of various structures and the
presentation of network data in a properly formatted way to the user are important
candidates in this context. Also, to help the user to apply standard algorithms to a
problem, the standard set of neural network algorithms should be a part of the library.
This has as an important secondary advantage, that the sources of these algorithms can
serve as a starting point for the implementation of newly developed algorithms.
Finally, the library should offer a set of routines that exploit all the redundancy in the data structures to verify their consistency.