]>
By default, Axiom does not save the values of any function. function:caching values You can cause it to save values and not to recompute unnecessarily remembering function values by using )set functions cache. set functions cache This should be used before the functions are defined or, at least, before they are executed. The word following ``cache'' should be to turn off caching, a positive integer to save the last computed values or ``all'' to save all computed values. If you then give a list of names of functions, the caching only affects those functions. Use no list of names or ``all'' when you want to define the default behavior for functions not specifically mentioned in other )set functions cache statements. If you give no list of names, all functions will have the caching behavior. If you explicitly turn on caching for one or more names, you must explicitly turn off caching for those names when you want to stop saving their values.
This causes the functions f and g to have the last three computed values saved.
This is a sample definition for f.
A message is displayed stating what f will cache.
This causes all other functions to have all computed values saved by default.
This causes all functions that have not been specifically cached in some way to have no computed values saved.
We also make f and g uncached.
Be careful about caching functions that have side effects. Such a
function might destructively modify the elements of an array or issue
a draw command, for example. A function that you expect to
execute every time it is called should not be cached. Also, it is
highly unlikely that a function with no arguments should be cached.
You should also be careful about caching functions that depend on free variables. See ugUserFreeLocal for an example.