Web presentation

A single CGI script written in Perl generates this and all associated pages for the orthogonal designs on the fly - no images or orthogonal designs are stored. The main part of the script generates three framesets, one each for OD 40 triples, OD 56 triples and OD 56 extra designs. Each frameset queries the user for the OD they would like to see. For example, in the frameset for OD(40) a user may select OD(40;10,11,15). The script runs one of three backend programs with suitable parameters and formats the result before sending out a web page.

Web backend programs

Three very similar backend programs are used, one each for OD 40, and the two OD 56's. These are written in C and compute the orthogonal designs and generate the images and other information. To compute OD(40;10,11,15), for example, the backend program needs just the following line:
101115s aaBBbC0aCcccC0cababBabAbbcC0acbAaB0cCccc
which is one of 1841 lines stored in a data file, and is essentially the first row of a set of amicable matrices.

Images are generated as xpm image files. These are easy to generate since a matrix row like aBc... appears in an xpm file simply as:

System utilities are used to convert space inefficient and web unfriendly xpm files into standard web image formats such as gif or png.

The backend program was also used to check each orthogonal design by multiplying it with its transpose.

The bridge between the search results and the backend

MAPLE programs together with shell scripts were used to generate the data lines alluded to above, as well as, the LaTeX source for the published papers. The programs contain checks to test the sequences (for commutant, special amicability, etc.). These program took as input the files of output generated by the searches.

The searches

A suite of C programs were used to find amicable sequences from sequences of half the order. Another set of C programs were used to generate negacyclic sequences. Most of the effort and computing time was spent on and by these programs.

The environment

Most of the work was done in a UNIX or LINUX environment using C, MAPLE and bash or sh shell scripts. The web software is Apache and currently runs on a Solaris system.