## Why I want a finite plane

In the previous several blog posts (in particular this one), I have been investigating a new representation of complex points called *i-arrows*. The idea is that every complex point is represented as an arrow from one point to another on top of the Cartesian plane. In particular, the complex point (p+si,q+ti) is represented as an arrow (which I call an “i-arrow”), which is based at the point (p,q) and extends along the vector (s,t) to have its arrowhead at the point (p+s,q+t).

In the previous posts, I have been investigating what the complex points on a line look like, even when the line is actually a complex line rather than a real line. And so I’ve made pictures like this, where I draw i-arrows based at points on a specific grid for all complex points on the line with equation y = ix.

But of course this is just a selection of the complex points on this line. There are infinitely many of them, one based at every point of the plane, and indeed, with the arrowheads pointing at every point of the plane too. I got to wondering a while ago (before I called these things i-arrows), whether I might get a good feel for these things by investigating what they looked like in a *finite* plane, where I actually could draw *all *the i-arrows. Finite geometry is my wheelhouse, and finite geometry was where this whole visual representation of complex points thing began, after all.

## The finite plane AG(2,3) and its i-arrows

I went back to where I started, which is the plane AG(2,3), the second-smallest affine plane and the first one that really feels like it is a tiny version of our usual plane. AG(2,3) is the the plane you get when you add in all the wraparound diagonals to a Noughts and Crosses board. When I say “wraparound diagonals”, I mean that you are supposed to imagine falling off one side of the board and landing on the other — the edges wrap around to meet on the other side. When drawing it on a noughts-and-crosses board, the twelve lines look like this:

But I wanted to draw it as much like our own familiar plane as possible, so I drew it on a coordinate grid like this, where the coordinates come from the finite field GF(3), which is {-1,0,1} with the rule that 1+1=-1.

To put in those “wraparound diagonals”, I imagine the plane as having copies of itself around it so that it’s easier for me to imagine straight lines falling off one side and coming in the other. This is the line y=x+1 as seen through all those copies. The green square in the middle is the original plane, but I could totally draw that square anywhere and it would still work just fine.

So I have my original “real” plane based on coordinates using the “real” numbers, the finite field GF(3)={-1,0,1}. In this field, x²= -1 has no solutions, so I can add i to it to get the “complex” numbers, the finite field or order 9, GF(9)={-1,0,1,-1+i,i,1+i,-1-i,-i,1-i}. And I’ll make a new set of complex points using these as coordinates, and draw the unreal ones as i-arrows on top of my original plane. (The is “complex plane” is called AG(2.9), by the way, though I’ll be fairly sloppy about which plane the complex points actually belong to. It’s fine to think of them belonging to AG(2,3), even though technically they aren’t actually *in *AG(2,3).)

Here is the i-arrow representing the point (1+i,1-i), based at the point (1,1) and going along the vector (1,-1). It goes off the right-hand side of the green plane and comes in at the left.

The nice thing about GF(3) is there are only three numbers 0, 1 and -1, so every arrow is able to be drawn as a movement at most one step in any direction. That ought to make it particularly clean compared to the riot of red that is the diagrams I’ve dawn for lines on the infinite plane, where arrows are longer and longer and so have overlap each other.

## The unreal lines of AG(2,3)

There are 81 points in AG(2,9), including the original 9 points of AG(2,3). That leaves 81-9=72 unreal points. This checks out, since the i-arrows are drawn from one real point to another: there are 9 real points for the base, and 8 other points for the arrowhead to join it to, for a total of 9×8=72 total i-arrows.

There are 90 lines in AG(2,9), including the original 12 lines of AG(2,3). That leaves 90-12=78 unreal lines. Many of these are lines with real slope, and I am ok not to see what they look like — I’ve got a good picture from the infinite real plane’s i-arrows. The unreal lines with real slope will come from drawing i-arrows from one real line to a parallel line. There are 12 real lines, and each has 2 parallel lines, so that’s 24 unreal lines with real slope. Thus there are a grand total of 78-24=54 unreal lines with unreal slope. Let me just check another way. The lines of unreal slope are of the form y=C+Mx for complex numbers C and M, where C can be real, but M can’t. There are 9 real numbers and 6 unreal numbers for a total of 9×6=54 options.

Gosh I love counting stuff in finite geometry. I had forgotten how much fun it was.

Anyway, I can now start systematically investigating the unreal lines. This is my original page of my notes book where I started working on this project.

I got some very interesting shapes, but decided I would need a LOT more space. Even after switching to bigger paper, I still had trouble seeing what the pictures were doing. Then I realised I needed to look at these pictures *tiled, *like I showed you above to really appreciate the shape they were making, because they were indeed making shapes. Once I realised how few different shapes I was actually getting, I went over to GeoGebra and made a tool to help me draw them, and systematically went through and screenshotted every one.

Here they are. All 54 of the unreal lines of AG(2,3) with unreal slope.

As you can see, every one of them has exactly one real point, and in every one, the i-arrows neatly join arrowhead-to-base to form a closed loop. These loops form two different shapes: either a star, or — what is that? a duck? The two shapes each come in two orientations. Note the stars correspond to the lines with purely imaginary slope, whereas the ducks correspond to lines where the slope has a real part. The orientations are different depending on whether the imaginary part is i or -i.

I have to say, this is one of the most satisfying things I’ve ever made.

## Another view of an unreal line in the original real plane

I have to admit I was quite surprised when the i-arrows all lined up into closed loops in AG(2,3). I didn’t expect that to happen at all. After the fact it sort of made sense. Even a year ago when I had only just started thinking about i-arrows, I knew every point except one had exactly one i-arrow attached, and it looked like every point was the location of an arrowhead. So they were guaranteed to link up arrowhead-to-base somehow. I guess I just didn’t expect them to be one closed look and to have only two shapes.

Anyway, this idea that the i-arrows could be linked up arrow-head-to-base made me wonder if I could do the same thing over in the infinite plane. Maybe it would be a way of avoiding all that overlapping that made it hard to see what was happening.

I tried playing around in GeoGebra and it was not at all easy to do. I managed to set up four chains of i-arrows nine steps long. I’m sure if I knew more about recursion in GeoGebra I could get more, but I don’t feel like learning more about recursion right now!

Here is a picture of four chains of i-arrows belonging to the line with equation y=ix, each chain shown in a different colour. (This is the same line shown at the beginning of this post.) As you can see, they form very pleasant spirals.

## Conclusion

So there you go. I made some very cool stuff with i-arrows in a finite plane, and used the concept to play a bit more with the infinite plane. Next I’ll use i-arrows to make the thing I thought was coolest about iplanes much much easier to see and so make it even cooler. That thing is where the complex points are on a parabola.

These are all the other posts in the series, so you can find them easily:

- Where the complex points are: i-arrows
- The complex points on a line using i-arrows
- Further updates on the complex points on an unreal line using i-arrows
- The complex points on a line in finite geometry using i-arrows (YOU ARE HERE)
- The complex points on a parabola using i-arrows
- The complex points on real circles using i-arrows
- The complex points on unreal circles using i-arrows
- The line joining two complex points using i-arrows