2D Polynomial Codes (2)

Field Notes: Exploring 2D Polynomial Codes

This is a first working version of a Curious Engineering explorer for 2D polynomial evaluation codes. It lets you choose polynomial monomial regions, generate codewords as finite-field grids, view them as pixel images, and inspect Hamming-weight and brightness distributions.

You do not need to understand everything yet. Start by changing one control, watching what changes, and forming a question.

Questions to Explore

Use these cards as a guided path through the 2D Polynomial Code Explorer. You do not need to understand everything at once: play, notice, ask, and return.

Question 1 of 9
Question 1

What is this explorer about?

Short answer: It turns 2D polynomial evaluation codes into something you can see and manipulate.

Instead of treating a codeword as a long row of symbols, the explorer evaluates a polynomial on a finite grid and shows the result as a small image. Each cell is one value of the polynomial over a finite field.

Try thisMove the codeword slider and watch the pixel image change.
What to noticeThe image is not a normal real-number graph. It is a finite-field pattern.
Why it mattersIt makes an abstract algebraic code feel like an object you can inspect.
Go deeperAsk: what is being preserved when a polynomial becomes a codeword?
orientationpolynomial codesvisualization
Question 2

What is the mathematical object being studied?

Short answer: The object is a space of polynomials over a finite field, evaluated on a 2D grid.

The explorer starts with selected monomials such as 1, x, y, x², xy, and y². A message chooses coefficients for those monomials. The resulting polynomial is evaluated at every point of Fq × Fq, producing one codeword.

Try thisShow the generator grids and inspect the image made by each monomial.
What to noticeEach generator is a basic visual ingredient. Codewords are finite-field linear combinations of them.
Why it mattersThis connects code generation to linear algebra: basis objects combine to make all codewords.
Go deeperThink of the selected monomials as the “vocabulary” of the code.
finite fieldsbasisevaluation
Question 3

What can I change in the explorer?

Short answer: You can change q, the monomial rule, the codeword index, the pixel view, and whether distributions are computed.

The field size q changes the grid. The monomial rule changes which polynomial terms are allowed. The codeword slider changes the coefficient vector. The histograms show how many codewords have each weight or brightness level.

Try thisCompare hyperbolic, total-degree, rectangle, and custom monomial choices.
What to noticeChanging monomials changes the dimension and the visual family of codewords.
Why it mattersCode design is partly the art of choosing the right polynomial space.
Go deeperAsk which monomial choices give many codewords while avoiding low-weight codewords.
controlsmonomial regiondimension
Question 4

What should I watch when I change the monomial region?

Short answer: Watch the selected monomial picture, the number of codewords, and the minimum nonzero weight after computing distributions.

Adding monomials usually increases the dimension, so there are more codewords. But more freedom can also create lower-weight codewords, which can be worse for error correction. This is the central tradeoff.

Try thisUse total degree r = 1, then r = 2, then r = 3. Compute distributions each time.
What to noticeThe code grows, but the low-weight tail may change.
Why it mattersGood codes balance information size against error separation.
Go deeperAsk how this tradeoff relates to Singleton, Hamming, or Griesmer bounds.
tradeoffminimum distancehistogram
Question 5

What is Hamming weight in this picture?

Short answer: Hamming weight is the number of nonzero cells in the evaluated grid.

If a polynomial evaluates to zero at many grid points, its codeword has low weight. The minimum nonzero weight of the whole code is the minimum distance for a linear code, so it controls how well the code separates different messages.

Try thisCompute the weight distribution and find the first nonzero bar.
What to noticeThe first nonzero bar is the experimentally found minimum nonzero weight.
Why it mattersThis is one of the most important numbers in error-correcting codes.
Go deeperAsk why zeros of polynomials control error correction.
Hamming weightdistancezeros
Question 6

Why is the hyperbolic rule interesting?

Short answer: It chooses monomials using a rule connected to a lower bound on distance.

For a q × q grid, a monomial x^i y^j has a simple footprint count: (q − i)(q − j). The hyperbolic rule keeps monomials whose count is large enough. This is a way of choosing many useful monomials without immediately sacrificing the designed distance.

Try thisChange δ to a very small value, then a large value.
What to noticeSmall δ admits more monomials. Large δ admits fewer monomials.
Why it mattersThe hyperbolic rule turns a distance idea into a visible shape in exponent space.
Go deeperAsk why the count (q − i)(q − j) appears at all.
hyperbolic boundfootprintdesigned distance
Question 7

What is one surprising finite-field behavior?

Short answer: Polynomial patterns over finite fields do not behave like ordinary real graphs.

For example, over F5, 2² and 3² both equal 4. So a polynomial such as x² + y can have repeated rows. That is not a bug; it is finite-field arithmetic.

Try thisChoose a simple code with x² and inspect the rows over q = 5.
What to noticeDifferent x-values can produce the same x²-value.
Why it mattersA common mistake is to import real-number intuition into finite fields too quickly.
Go deeperAsk which polynomial maps are injective over finite fields.
misconceptionfinite fieldsquaring
Question 8

How does this connect to the larger field of coding theory?

Short answer: It shows how algebraic objects become error-correcting codes.

Polynomial evaluation is a major route into Reed–Solomon codes, Reed–Muller codes, affine variety codes, and algebraic geometry codes. The same broad idea appears again and again: choose a controlled function space, evaluate it on points, and study the resulting vectors.

Try thisCompare total-degree selection with hyperbolic selection.
What to noticeDifferent algebraic rules create different code families.
Why it mattersThe explorer is a small doorway into a large mathematical landscape.
Go deeperAsk how this relates to Reed–Muller or algebraic geometry codes.
coding theoryReed–Mulleralgebraic geometry
Question 9

What could a later version explore?

Short answer: A later version could add dual codes, parity checks, syndrome decoding, automorphisms, and comparisons with known code bounds.

This is a first working version. It already makes codewords, generators, and weight distributions visible. The next step is to make the hidden structure visible: symmetries, duality, decoding, and how close the code is to known limits.

Try thisWrite down one pattern you notice in the histogram and turn it into a question.
What to noticeThe best next features often come from the questions the explorer makes you ask.
Why it mattersCuriosity can guide the next mathematical tool to build.
Go deeperAsk what the automorphism group of this code might be.
next stepsdualitysymmetrydecoding
Want to ask an AI about this explorer?
Copy this prompt into ChatGPT or another AI assistant.

Posted

in

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *