ACM Home Page
Please provide us with feedback. Feedback
An algorithm to compute all full-span sub arrays of a regular array
Full text PdfPdf (561 KB)
Source International Conference on APL archive
Proceedings of the 2003 conference on APL: stretching the mind table of contents
San Diego, California
Pages: 48 - 58  
Year of Publication: 2003
ISBN:1-58113-668-4
Author
Ronald I. Frank  Pace University, Pleasantville, NY
Sponsor
SIGAPL: ACM Special Interest Group on APL Programming Language
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 7,   Downloads (12 Months): 17,   Citation Count: 1
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/882067.882074
What is a DOI?

ABSTRACT

We present an algorithm that explicitly generates all full-span regular sub arrays of a given N dimensional regular array. By explicit, we mean that we generate the N-dimensional indexes of the j-dimensional sub array cells that make up each j-dimensional sub array. The algorithm can be viewed as generating all j-dimensional full span sub arrays for fixed j, for j = 0 to j = N. We first list some lemmas and definitions, and then give the algorithm that is based upon the knowledge gained from a new expansion [1] and [2]. There is an alternate combinatorial argument yielding the same algorithm.First we give an heuristic summary and then a more detailed example use. In the algorithm, we use APL-C-Java order in the indexes, i.e., right-to-left (RTL). However, essentially the same algorithm (except for transpositions) holds for left-to-right (LTR) order as used in FORTRAN. In the exposition, we use mathematical notation, which is LTR.There is a Java 1.4 code and an APL WS available. The Java code requires an interactive input of the dimension of the original array and its shape vector. The APL WS contains FNS that work the same way, and others that can be used as callable sub FNS. An appendix exhibits the APL code that computes this algorithm for a given j.