Elements has solved problems since 1982. It closely supports software development for EleSoft Research clients.
Elements' original objective was to formulate problems in aggregate arrays. Its syntax includes data types: vector, matrix, polynomial, quaternion, hypermatrix, discrete function, and file. The user can express his problem using these high-level objects. This is especially useful for linear algebra and statistical problems. Elements syntax was descriptive and did not require a special keyboard like APL. Elements included built-in plotting.
Elements was originally written in the PL/I programming language and ran on IBM mainframes. At the time, PL/I offered an important advantage over FORTRAN. PL/I implemented dynamic memory allocation in each subroutine. Numerical routines were written or came from public-domain sources: published articles and LINPACK and EISPACK packages. All BASIC and FORTRAN routines were converted to PL/I.
Key design problems solved were:
sin().Key software problems solved were:
Elements' development was expensive. Each complete build cost approximately $600.
Originally, Elements was a batch-mode program whose output was printed on paper. It can still operate in batch script mode. In 1983, it became interactive using a special language PL/X at Stanford University.
On IBM mainframes, one of Elements' most popular features was file-algebra, the means to manipulate files using powerful functions, like: combine(), split(), sort(), merge(), and match().
In 1987, Elements was converted to C language. It ran under Unix environments on both Sun and DEC machines.
In June 1989, Elements Version 5.0 for MS-DOS was completed. To fit in DOS memory, Elements' code memory was reduced to 285 KBytes. This version starts and stops almost instantaneously. Even now, Elements benefits from the extreme compaction forced by DOS.
In November 1993, Elements Version 7.0 for Microsoft Windows 3.1 was completed. It used Visual C++ and Microsoft Foundation Classes.
In June 1995, 32-bit Elements Version 8.0 for Microsoft Windows NT and Windows 95 was completed. Added capabilities were:
In November 1997, Elements Version 9.0 was completed. Recently software problems solved are:
+', -', *', /', ^', and =' that perform non-standard vector-matrix calculations.
For example, M+'5 adds 5 to every element of M.
And M*'N multiplies corresponding elements in two matrices.
: that generates an inclusive sequence of integers between two integers.'.For other technological issues, see Elements Comparisons with Other Math Environments,