[HN Gopher] Learn you Galois fields for great good (2023)
       ___________________________________________________________________
        
       Learn you Galois fields for great good (2023)
        
       Author : signa11
       Score  : 129 points
       Date   : 2025-06-21 00:21 UTC (22 hours ago)
        
 (HTM) web link (xorvoid.com)
 (TXT) w3m dump (xorvoid.com)
        
       | gnabgib wrote:
       | (2023)
       | https://web.archive.org/web/20230815034422/https://xorvoid.c...
        
         | signa11 wrote:
         | yes. so ?
        
       | behnamoh wrote:
       | of course it's written in Rust! But I was lowkey looking for
       | something more Haskell-y, even Lean. And I wish the
       | visualizations would continue throughout the chapters.
        
         | defrost wrote:
         | If the goal is learning more about Groups, Fields, etc. there
         | are several options of what to do alongside reading the text
         | here; use the provided rust code, write code of your own in
         | language of choice, use pre existing CAS software that has
         | abstract algebra operations, use pencil and paper (there were
         | not that many CAS options back in the early days of scaling the
         | Monster Group .. it was dissected with a mix of envelopes and
         | programs).
         | 
         | GAP and MAGMA a worth a look (GAP is included in other math
         | software, eg: SAGE and is open source, MAGMA is commercial with
         | education discounts and free student options)
         | 
         | * https://en.wikipedia.org/wiki/GAP_(computer_algebra_system)
         | 
         | * https://en.wikipedia.org/wiki/SageMath
         | 
         | * https://magma.maths.usyd.edu.au/magma/
         | 
         | * https://en.wikipedia.org/wiki/Monster_group
        
           | seanhunter wrote:
           | Another FOSS option is maxima, although like everything else
           | in maxima, support for group theory is a bit weird and isn't
           | exactly comprehensive.
           | https://maxima.sourceforge.io/docs/manual/maxima_151.html and
           | https://maxima.sourceforge.io/docs/manual/maxima_147.html#It.
           | ..
           | 
           | And on the paid side, if you have access to it, mathematica
           | has group theory support also and a bunch of named groups
           | implemented right out of the box including the Monster group
           | and the Conway groups https://reference.wolfram.com/language/
           | guide/GroupTheory.htm...
        
           | tempodox wrote:
           | If you know Mathematica syntax, you could also try Mathics:
           | 
           | https://mathics.org
        
         | pixelpoet wrote:
         | The title is a play on https://learnyouahaskell.com so I
         | assumed it would be in Haskell, too. (Rust is much more
         | accessible to me though.)
        
       | tempodox wrote:
       | I love it when the simple stuff is explained in simple language
       | that anybody can understand. Like Einstein said:
       | 
       |  _Make it simple. As simple as possible. But no simpler!_
        
         | amelius wrote:
         | Yeah, sadly some don't seem to understand this (like quanta
         | magazine).
        
           | bluepoint wrote:
           | You mean they don't understand the "but no simpler" part?
        
       | revskill wrote:
       | The problem with algebra teaching is, they just declare a thing
       | without explaining the root reason of why it's there in first
       | place.
        
         | deepnet wrote:
         | Root reason & comp sci application is mentioned near start :
         | 
         | " Many moons back I was self-learning Galois Fields for some
         | erasure coding theory applications."
         | 
         | Erasure codes are based on finite fields, e.g. Galois fields.
         | 
         | The author is fraustrated by access to Galois fields for the
         | non-mathematician due to Jargon obscucification.
         | 
         | Also large Application section : "
         | 
         | Applications
         | 
         | The applications and algorithms are staggering. You interact
         | with implementations of abstract algebra everyday: CRC, AES
         | Encryption, Elliptic-Curve Cryptography, Reed-Solomon, Advanced
         | Erasure Codes, Data Hashing/Fingerprinting, Zero-Knowledge
         | Proofs, etc.
         | 
         | Having a solid-background in Galois Fields and Abstract Algebra
         | is a prerequisite for understanding these applications.
         | 
         | "
         | 
         | I sympathise with your fraustration at math articles.
         | 
         | This is not one of them, it is rich and deep. Xorvoid leads us
         | into difficult theoretic territority but the clarity of
         | exposition is next level - a programmer will grok some of the
         | serious math that underpins our field by reading the OP.
        
       | untitled2 wrote:
       | Whining about algebra not being in most CS curriculums is just a
       | lie. Every university in the world has (if it doesn't, it's not a
       | university) maths as a minor regardless of what your major is.
       | And everyone I know, including me, took algebra as a minor being
       | a CS major (if you didn't, question your choice of career).
        
         | dunefox wrote:
         | > Every university in the world has (if it doesn't, it's not a
         | university) maths as a minor regardless of what your major is.
         | 
         | That's just not true.
        
         | chrisdew wrote:
         | UK Universities don't have majors and minors as the US does.
        
       | __rito__ wrote:
       | Wow, wonderful stuff. Thanks for posting!
        
       | JackFr wrote:
       | 1) the properties of a field is missing closure under the
       | operation. This is kind of assumed from context, but I would
       | include it.
       | 
       | 2) the reduction step up multiplication of nth order polynomials
       | (to keep them nth order) is missing (or at least I missed it
       | after a couple of readings.)
       | 
       | Apart from those quibbles, this was really good overall though. I
       | enjoyed it.
        
         | susam wrote:
         | A binary operation on a set is closed on the set by definition.
         | If an operation isn't closed, then it isn't considered a binary
         | operation on that set. Of course, it doesn't hurt to state the
         | closure property explicitly.
         | 
         | I have talked a bit more about it in a totally unrelated blog
         | post here: https://susam.net/product-of-additive-
         | inverses.html#closure-...
        
           | bananaflag wrote:
           | Indeed, I was quite pleasantly surprised when the webpage did
           | not mention this infamous and ubiquitous "closure".
        
       | m3kw9 wrote:
       | Someone should check grammar before posting a title
        
         | c54 wrote:
         | It's a riff on the classic resource for learning Haskell:
         | https://learnyouahaskell.com/
        
       | graycat wrote:
       | For _abstract algebra,_ there is the polished
       | 
       | I.\ N.\ Herstein, {\it Topics in Algebra,\/}
       | 
       | (markup for TeX word processing).
       | 
       | For Galois theory, took an oral exam on what was in Herstein.
       | 
       | For linear algebra where the field is any of the rationals,
       | reals, complex, and finite fields there is
       | 
       | Evar D.\ Nering, {\it Linear Algebra and Matrix Theory,\/} John
       | Wiley and Sons, New York, 1964.\ \
       | 
       | As I recall, Nering was an Artin student at Princeton.
       | 
       | Some of the proofs for the rational, real, or complex fields
       | don't work for finite fields so for those need special proofs.
       | 
       | Had a course in error correcting codes -- it was applied linear
       | algebra where the fields were finite.
       | 
       | Linear algebra is usually about finite dimensional vector spaces
       | with an _inner product_ (some engineers say _dot product_ ), but
       | the main ideas generalize to infinite dimensions and Hilbert and
       | Banach spaces.
        
       ___________________________________________________________________
       (page generated 2025-06-21 23:01 UTC)