The checkerboard pattern represents a set of 64 black and white squares. Similar to the pattern in the chessboard. In real-time, checkerboard patterns are extensively used to create a no pixel blank area(blank grid).

Checkerboard pattern can be represented easily using an array of size 8*8. We can use the numpy module to create an array and fill it with a checkerboard pattern using various functions from numpy.

In this article, let’s learn how to create an n*n matrix in a checkerboard pattern.

NOTE: If you don’t have numpy, you can install it using the below command:

pip install numpy

Table of Contents

## Solution 1: Using np.tile()

We create an array [[0,1],[1,0]] and repeat it n/2 times along both axes.

For example, to create an 8*8 matrix, we created an array and multiply it 4 times.

Refer to the below diagram to understand it better.

Process finished with exit code 1

Now that we’ve understood, let’s try to implement it using np.tile()

import numpy as np a=np.array([[0,1],[1,0]]) #construct the checker board by repeating the above array 4 times in both dimensions checkerboard=np.tile(a,(4,4)) print(checkerboard)

Output:

[[0 1 0 1 0 1 0 1] [1 0 1 0 1 0 1 0] [0 1 0 1 0 1 0 1] [1 0 1 0 1 0 1 0] [0 1 0 1 0 1 0 1] [1 0 1 0 1 0 1 0] [0 1 0 1 0 1 0 1] [1 0 1 0 1 0 1 0]]

## Solution 2: Using Slicing

We create an array with zeros of size n*n.

The first row should start from zero. From the second row( index 1) onwards, for every alternate row, we set the value 1 to every alternate column.

[[0 0 0 0 0 0 0 0] [1 0 1 0 1 0 1 0] [0 0 0 0 0 0 0 0] [1 0 1 0 1 0 1 0] [0 0 0 0 0 0 0 0] [1 0 1 0 1 0 1 0] [0 0 0 0 0 0 0 0] [1 0 1 0 1 0 1 0]]

Now, for every alternate row(starting from row 1,i.e index 0) we set 1 to every alternate column starting from column 2,i.e index 1

[[0 1 0 1 0 1 0 1] [1 0 1 0 1 0 1 0] [0 1 0 1 0 1 0 1] [1 0 1 0 1 0 1 0] [0 1 0 1 0 1 0 1] [1 0 1 0 1 0 1 0] [0 1 0 1 0 1 0 1] [1 0 1 0 1 0 1 0]]

Let’s implement the slicing logic to come up with an 8*8 checkerboard.

import numpy as np arr=np.zeros((8,8),dtype=int) arr[1::2,::2]=1 arr[::2,1::2]=1 print(arr)

Output:

[[0 1 0 1 0 1 0 1] [1 0 1 0 1 0 1 0] [0 1 0 1 0 1 0 1] [1 0 1 0 1 0 1 0] [0 1 0 1 0 1 0 1] [1 0 1 0 1 0 1 0] [0 1 0 1 0 1 0 1] [1 0 1 0 1 0 1 0]]

## Conclusion

In this article, we’ve learned different ways to create an 8*8 matrix with a checkerboard pattern. We hope this article has been informative. Thanks for Reading. Come back to us for more interesting content.

## 1 thought on “Different ways to create a nxn matrix and fill it with a checkerboard pattern”