I borrowed the book *Geometry of Complex Numbers* by Schwerdtfeger. The material has been fascinating so far, though admittedly it took me about 3 hours to comprehend the material in page 1 of chapter 1. The first subject is this intriguing idea that you can represent a circle as a matrix. More specifically, you you can represent a circle with (complex) center 𝛾 and radius 𝜌 as a matrix

Where B = – A𝛾̅, C = -A𝛾, and D = A(𝛾𝛾̅-𝜌²), so that A and D are real numbers, and B and C are complex numbers. For normal circles, you will have A=1, though you can scale the matrix to have other (non-zero) values of A and still have the same circle. (If A is zero, you end up with a straight line, or some other mysterious thing that is not a circle.)

The simple case is the unit circle:

Which is

More exotic is the circle away from the origin, centered at 10+10i, i.e., (10, 10), with radius 3:

Here is some code to generate the matrix in Racket, and to put it back:

```
lang racket
(require math/array)
(require math/matrix)
(define (circle-to-matrix zC r)
(let ([B (* -1 (conjugate zC))]
[mzC (magnitude zC)])
(matrix [[ 1 B ]
[ (conjugate B) (- (* mzC mzC) (* r r)) ]])))
(define (matrix-circle-radius M)
(let ([A (array-ref M #[0 0])]
[d (matrix-determinant M)])
(sqrt (/ d (* -1 (* A A))))))
(define (matrix-circle-center M)
(let ([C (array-ref M #[1 0])]
[A (array-ref M #[0 0])])
(/ C (* -1 A))))
```

racket@circle.rkt> (circle-to-matrix 0 1)

(array #[#[1 0] #[0 -1]])

racket@circle.rkt> (matrix-circle-radius (circle-to-matrix 0 1))

1

racket@circle.rkt> (matrix-circle-center (circle-to-matrix 0 1))

0

Why is this significant? I think Schwerdtfeger is going to cover that on page 2. :)

Looking forward to “page 2”!

LikeLike