cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
  • JMP will suspend normal business operations for our Winter Holiday beginning on Wednesday, Dec. 24, 2025, at 5:00 p.m. ET (2:00 p.m. ET for JMP Accounts Receivable).
    Regular business hours will resume at 9:00 a.m. ET on Friday, Jan. 2, 2026.
  • We’re retiring the File Exchange at the end of this year. The JMP Marketplace is now your destination for add-ins and extensions.

JMP Blog

A blog for anyone curious about data visualization, design of experiments, statistics, predictive modeling, and more
Choose Language Hide Translation Bar
JMP's DOE platform: A new addition to the artist's toolkit

JMP offers a world-class design of experiments (DOE) platform, which has been widely used by scientists and engineers across a diverse range of industries such as the pharmaceutical, semiconductor, and chemical industries. But would you be surprised if I told you that JMP’s DOE platform can also be of aid in your artistic endeavors?

During my visit to New York City this past June, I had the opportunity to visit the Museum of Modern Art (suggested by our intern Kexin Xie!). While walking through the museum, I came across some examples of serial art. Serial art is characterized by the repetition of uniform elements or objects assembled according to modular principles. 

One of those works particularly caught my eye. The work featured multiple replications of the same image but with different colors in certain areas. This reminded me of a multi-factor experiment, with each copy of the image corresponding to a run in an experiment. This observation made me wonder if any artists have made use of combinatorial designs (the building blocks of DOE) in their work; I then discovered Latin Fandago I: Curves by mathematician-artist Margaret Kepner. Latin Fandago depicts a whimsical assortment of colors and curves, which, on first inspection, appears chaotic, but if one spends more time looking at the work, it becomes apparent that there is pattern and structure present. So, what connection does this have with DOE?

It turns out that Kepner used a combinatorial design known as a Latin square to guide the creation of the work mentioned above. In particular, she used a set of six mutually orthogonal Latin squares (MOLS) of order seven. When I learned that she used MOLS to create her work of art, I immediately turned to JMP to help me find different sets of MOLS so that I could try my hand at making my own MOLS-based pieces. One simple example of such a piece is given below:

Picture1.png

 

However, in my description above, I certainly skipped many steps between opening JMP and creating this piece. So, how did I use JMP to help me create this?

For those interested, I will start with a few mathematical preliminaries before detailing the steps in the workflow.

Latin squares

As per the Handbook of Combinatorial Designs (Colbourn, 2010): “A Latin square of order n is an array with n rows and n column where each cell contains a single symbol from a set S of size n such that each symbol occurs exactly once in each row and exactly once in each column.”

An example of a Latin square of order 3 on the set {1,2,3} is given below:

1 2 3
2 3 1
3 1 2

We can clearly see that each symbol in {1,2,3} occurs only once in each row and each column.

Mutually orthogonal Latin squares

Let L and L’ be Latin squares of order n on the symbol sets S and S’. Intuitively, we say that L and L’ are orthogonal if, when you superimpose L on top of L’, every possible ordered pair from the cartesian product of S and S’ occurs exactly once.

An example of two orthogonal Latin squares of order three on the set {1,2,3} is given below:

2 3 1
3 1 2
1 2 3

 

3 2 1
1 3 2
2 1 3

It can be easily checked that every ordered pair from {1,2,3}x{1,2,3} is found and occurs exactly once when you superimpose the two arrays: (2,3), (3,2), (1,1), (3,1), (1,3), (2,2), (1,2), (2,1), (3,3).

Given the definition of orthogonal Latin squares, a set of Latin squares is said to be mutually orthogonal if every pair of Latin squares in the set is orthogonal.

While there is not a Mutually Orthogonal Latin Squares platform in JMP, for those versed in the theory of combinatorial design, it is well known that MOLS can be constructed from a certain combinatorial design known as an orthogonal array, which can be constructed in JMP.

Orthogonal arrays

Orthogonal arrays are often used to create experimental designs, and in special cases, they are the optimal design, providing the most efficiency when compared to similar designs. In addition to this, orthogonal arrays generalize the concept of MOLS. For the purpose of this blog, I give a definition of a very special case of orthogonal arrays of strength two and index one (from here on out just denoted as orthogonal arrays), as per the Handbook of Combinatorial Designs: “An orthogonal array OA(n^2,k) is an array with n^2 rows and k columns with entries from the set S of n symbols satisfying the property that for any two columns, each ordered pair of symbols from the cartesian product of S with itself occurs exactly once.”

An example of an orthogonal array with nine rows and four columns with entries coming from the set {1,2,3} is given below:

2 2 1 3
1 3 1 1
1 1 2 3
3 3 3 3
1 2 3 2
2 1 3 1
3 1 1 2
2 3 2 2
3 2 2 1

 

Connection between orthogonal arrays and MOLS

Given an OA(n^2, m + 2) – that is, an orthogonal array with n^2 rows and m + 2 columns – one can construct a set of m MOLS of order n. We show how this can be done through an example. The process we demonstrate can be used on any OA(n^2, m + 2).

Consider the orthogonal array given above. It has 9 = 3^2 rows and four columns, so we should be able to construct two mutually orthogonal Latin squares of order three. Here is how we do it:

  1. Label any two columns as R and C (for “Row” and “Column”), and label the remaining columns S1 and S2 to be identified with the first and second Latin square.
    R C S1 S2
    2 2 1 3
    1 3 1 1
    1 1 2 3
    3 3 3 3
    1 2 3 2
    2 1 3 1
    3 1 1 2
    2 3 2 2
    3 2 2 1
  2. Draw two 3x3 empty arrays, one for S1 and one for S2.
  3. Look at the R and C columns, and see that the values for R and C in the first row is 2 and 2, respectively. See that S1 is equal to 1 and S2 is equal to 3. Based on R and C, go to the second row and second column of S1, and put a 1. Similarly, go to the second row and second column of S2 and put a 3.
    1. S1
           
        1  
           
    2. S2
           
        3  
           
  4. Looking at the second row of the OA(9,4), put a 1 in the first row and third column of S1 and a 1 in the first row and third column of S2.
    1. S1
          1
        1  
           
    2. S2
          1
        3  
           
  5. Repeat this process for the remaining rows of OA(9,4).
    1. S1
      2 3 1
      3 1 2
      1 2 3
    2. S2
      3 2 1
      1 3 2
      2 1 3

It can be easily checked that the two arrays in step 5 are Latin squares and they are mutually orthogonal.

Constructing an orthogonal array OA(n^2, m + 2) in JMP

Unfortunately, it is not always the case that orthogonal arrays exist for every combination of n and k, but JMP is able to find many of those that do exist! Below is an example of how one can find orthogonal arrays in JMP:

  1. Go to Custom Design under the DOE platform in JMP.
  2. Under the Factors submenu, go to the “Add N Factors” box and type in your value for m+2.
  3. Click on the Add Factors triangle menu, then go to Categorical and select n level. For this example, we have created an OA(9,4).
     Picture2.png
  4. Click Continue.
  5. Make sure that the model is set to a main effects model. Set the number of runs to n^2. Click Make Design.Picture3.png
  6. An indicator that the design you created is an orthogonal array is if the D-efficiency of the design (as well as G- and A-efficiencies) is at 100%, which is found under design diagnostics.Picture4.png

Now that you have an orthogonal array, you are ready to make art!

Making art using your orthogonal array

Just to demonstrate different ideas when making these MOLS inspired pieces, let’s start with making a new orthogonal array.

Following the instructions listed above, I construct an OA(4^2, 3 + 2):

R C S1 S2 S3
1 1 4 4 3
1 2 2 1 2
1 3 3 2 1
1 4 1 3 4
2 1 2 3 1
2 2 4 2 4
2 3 1 1 3
2 4 3 4 2
3 1 1 2 2
3 2 3 3 3
3 3 2 4 4
3 4 4 1 1
4 1 3 1 4
4 2 1 4 1
4 3 4 3 2
4 4 2 2 3

I then construct the following three MOLS, using the process outlined previously:

  • S1
    4 2 3 1
    2 4 1 3
    1 3 2 4
    3 1 4 2
  • S2
    4 1 2 3
    3 2 1 4
    2 3 4 1
    1 4 3 2
  • S3
    3 2 1 4
    1 4 3 2
    2 3 4 1
    4 1 2 3

Since I am using three MOLS of order four, I have created a 4x4 image, and three factors are applied to each of the 16 sub-images depending on the MOLS above. Each of these factors has four levels.

At this point, one has quite a bit of freedom to decide what the three factors and their corresponding four levels will be. For this example, we have a sub-image made up of a background color, a small square placed in one of the four corners of the sub-image, and the color of the small square. In this example, my first factor is BACKGROUND COLOR (corresponding to S1) with levels: teal green = 1, blue = 2, sky blue = 3, and black = 4. My second factor is SQUARE LOCATION (corresponding to S2) with levels: upper-right corner = 1, lower-right corner = 2, lower-left corner = 3, and upper-left corner = 4. Lastly, my final factor is SQUARE COLOR (corresponding to S3) with levels: yellow = 1, orange = 2, vermilion = 3, and pink = 4.

I then make an image that is divided into 16 sub-images, with four sub-images in each row and column. Superimposing the three MOLS S1, S2, and S3 on top of each other, I see that the first sub-image (in the first row, first column) has a black background, with the small square in the upper-left corner, and the small square is vermilion. Similarly, the second sub-image (first row, second column) has a blue background, with the small square in the upper-right corner, and the small square is orange. Continuing on, the last sub-image (fourth row, fourth column) has a blue background, with the small square in the lower-right corner, and the small square is vermilion. The final piece looks like this:

Picture5.png

Conclusion

So there you have it! JMP’s DOE platform can be used as an aid in creating artwork based on mutually orthogonal Latin squares (MOLS), similar to the works of Margaret Kepner. This involved using Custom Design to create a particular type of orthogonal array and then constructing a set of MOLS from this orthogonal array. Following the examples in this blog, you can also try to make some DOE inspired art!

Lastly, for those interested in the first image: I created this image using two orthogonal Latin squares of order three. The corresponding OA I created in JMP had nine rows and four columns each at three levels. The image is made up of nine sub-images, each consisting of a background and quarter circles in each corner. The two factors are BACKGROUND COLOR (with three levels: blue, sky blue, and teal green) and QUARTER CIRCLE COLOR (with three levels: yellow, orange, and vermilion).

Reference

  • Colbourn, Charles J. CRC handbook of combinatorial designs. CRC press, 2010.
Last Modified: Dec 16, 2025 11:19 AM