The main routine computes . There is a subroutine Lookup which computes a suitable origin for . There is a subroutine Plan which determines the proper sequence of shift operators and inverse shift operators , , , and which should be applied to to produce . After the plan is computed, a loop executes the plan by calling subroutines Shift and Unshift. The Unshift routine calls a routine Contig which computes contiguity relations and also calls Shift. For aesthetic reasons (i.e. pretty answers) all the routines work, until the very last moment, in terms of a -module basis . In fact, in the current implementation, is always (z), is a positive integer, and the answer will be after each step of the main loop where is a coefficient vector. The basis is generally some vector of expressions involving special functions. The derivative matrix which has elements in satisfies the equation where . At the last moment, is replaced by since we are interested in computing instead of . Often, , but not always. |