Heading:
IDL DESIGN: Design Extensions
Page Numbers: Yes X: 527 Y: 10.5"
XEROX Palo Alto Research Center9 February 1977
Inter-Office Memorandum
ToIDL GroupFromBeau Sheil
File<IDL>Design.ExtensionsIDL Design Note Number: 3
Subject Extensions to the Harvard Design
This document describes ways in which the new version of IDL might be extended beyond the design specified in the IDL Reference Manual. No deep issues are involved - just matters of relatively straightforward addition or alteration. Rough priorities are also suggested.
The following are known weaknesses or omissions in the design expressed in the current manual which we might consider fixing.
1.Several classes of statistics are not covered adequately by the current set of functions. These include
a.eigenvalue based statistics. Some variant of the operators described in Dempster (1969) will probably be the basis of our approach to these. [Dempster is on order for the Library]
b.repeated measure anova beyond the pre-test post-test case described in the manual.
c.iterative table fitting.
d.multidimensional scaling.
e.a primitive to derive pair oriented non-parametric statistics - such as GAMMA, TAU - from COUNT tables.
These should be added whenever a treatment of them compatible with the IDL philosophy can be devised. As this involves some relatively deep thought, I propose it be deferred for the time being.
2.The set of abilities provided by RESHAPE, REFORM, and ALLOC should be combined into one array generating function. This routine should also take a string expression or a function as a specification of the contents of the array (like RECODE). High priority.
3.An n-tile cut function (which returns an N-1 vector of values which divide its argument vector into N equifrequent intervals (medians, quartiles etc.)) should be added. Moderate priority - sooner than (1) as is very straightforward.
4.A function to compute determinants would be a nice closure for the matrix functions. Low priority - simple, but rarely used.
5.The compress functions should take forms, not integer weight codes, to do the weighting of observations. (Some care in handling free variables must be exercised, and this is an important issue as other functions already in the system have this problem). To be done when compression functions are redone - moderate priority.
6.Random number generation was hacked in IDL-PPL to use the PPL random number generator. A better solution, compatible with DEAL and other IDL ideas, is to have RANDOM(a) return a vector of length a of random reals between 0 and 1. The function of setting the seed for the random number generator (used by both RANDOM and DEAL) should be split off into a separate function. We may wish to add an analogous function that generates random normal deviates.