# monoids

Published articles for monoids.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## (Finite) Fields -- A Primer

DevFeed: [(Finite) Fields -- A Primer](<https://devfeed.tech/articles/finite-fields-a-primer-40348.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2014/02/26/finite-fields-a-primer/>)

Published: 2014-02-26T10:00:01Z

Content type: tutorial

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Mathematics](<https://devfeed.tech/topics/mathematics.md>), [Math and Logic](<https://devfeed.tech/topics/math-and-logic.md>)

Tags: [complex-numbers](<https://devfeed.tech/tags/complex-numbers.md>), [cryptography](<https://devfeed.tech/tags/cryptography.md>), [euclidean-domains](<https://devfeed.tech/tags/euclidean-domains.md>), [field](<https://devfeed.tech/tags/field.md>), [field-characteristic](<https://devfeed.tech/tags/field-characteristic.md>), [finite-fields](<https://devfeed.tech/tags/finite-fields.md>), [groups](<https://devfeed.tech/tags/groups.md>), [ideals](<https://devfeed.tech/tags/ideals.md>), [mathematics](<https://devfeed.tech/tags/mathematics.md>), [monoids](<https://devfeed.tech/tags/monoids.md>), [operations](<https://devfeed.tech/tags/operations.md>), [polynomial-ring](<https://devfeed.tech/tags/polynomial-ring.md>), [vector-spaces](<https://devfeed.tech/tags/vector-spaces.md>)

### AI overview

This primer introduces fields as commutative rings with 0 and 1 in which every nonzero element has a multiplicative inverse. It defines the field axioms, places fields within related algebraic structures, and raises the question of finite fields.

### Source excerpt

So far on this blog we've given some introductory notes on a few kinds of algebraic structures in mathematics (most notably groups and rings, but also monoids). Fields are the next natural step in the progression. If the reader is comfortable with rings, then a field is extremely simple to describe: they're just commutative rings with 0 and 1, where every nonzero element has a multiplicative inverse. We'll give a list of all of the properties that go into this "simple" definition in a moment, but an even more simple way to describe a field is as a place where "arithmetic makes sense.

## The Universal Properties of Map, Fold, and Filter

DevFeed: [The Universal Properties of Map, Fold, and Filter](<https://devfeed.tech/articles/the-universal-properties-of-map-fold-and-filter-40331.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2013/09/30/the-universal-properties-of-map-fold-and-filter/>)

Published: 2013-09-30T09:00:53Z

Content type: article

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Functional programming](<https://devfeed.tech/topics/functional-programming.md>), [Category Theory](<https://devfeed.tech/topics/category-theory.md>), [functions](<https://devfeed.tech/topics/functions.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [categories](<https://devfeed.tech/tags/categories.md>), [category-theory](<https://devfeed.tech/tags/category-theory.md>), [foldr](<https://devfeed.tech/tags/foldr.md>), [free-object](<https://devfeed.tech/tags/free-object.md>), [functional-programming](<https://devfeed.tech/tags/functional-programming.md>), [functions](<https://devfeed.tech/tags/functions.md>), [list](<https://devfeed.tech/tags/list.md>), [monoids](<https://devfeed.tech/tags/monoids.md>), [programming](<https://devfeed.tech/tags/programming.md>), [standard-ml](<https://devfeed.tech/tags/standard-ml.md>), [universal-properties](<https://devfeed.tech/tags/universal-properties.md>)

### AI overview

This article gives category-theoretic characterizations of the functional programming functions map, fold, and filter. It argues that fold has the strongest universal characterization among the three and introduces a generalization related to transformations of standard compound data types.

### Source excerpt

A lot of people who like functional programming often give the reason that the functional style is simply more elegant than the imperative style. When compelled or inspired to explain (as I did in my old post, How I Learned to Love Functional Programming), they often point to the three "higher-order" functions map, fold, and filter, as providing a unifying framework for writing and reasoning about programs. But how unifying are they, really?

## A Sample of Standard ML, the TreeSort Algorithm, and Monoids

DevFeed: [A Sample of Standard ML, the TreeSort Algorithm, and Monoids](<https://devfeed.tech/articles/a-sample-of-standard-ml-the-treesort-algorithm-and-monoids-40310.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2013/04/07/a-sample-of-standard-ml-and-the-treesort-algorithm/>)

Published: 2013-04-07T21:57:37Z

Content type: tutorial

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Standard ML](<https://devfeed.tech/topics/standard-ml.md>), [Functional programming](<https://devfeed.tech/topics/functional-programming.md>), [Category Theory](<https://devfeed.tech/topics/category-theory.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Polymorphism](<https://devfeed.tech/topics/polymorphism.md>)

Tags: [algorithms](<https://devfeed.tech/tags/algorithms.md>), [category-theory](<https://devfeed.tech/tags/category-theory.md>), [functional-programming](<https://devfeed.tech/tags/functional-programming.md>), [mathematics](<https://devfeed.tech/tags/mathematics.md>), [ml](<https://devfeed.tech/tags/ml.md>), [monoids](<https://devfeed.tech/tags/monoids.md>), [programming](<https://devfeed.tech/tags/programming.md>), [sorting](<https://devfeed.tech/tags/sorting.md>), [standard-ml](<https://devfeed.tech/tags/standard-ml.md>), [trees](<https://devfeed.tech/tags/trees.md>), [universal-properties](<https://devfeed.tech/tags/universal-properties.md>)

### AI overview

A tutorial introducing Standard ML through functional programming, category theory, and the TreeSort algorithm. It explains why ML is used for manually implementing category-theoretic ideas and highlights parametric polymorphism and type inference.

### Source excerpt

In this post we will assume the reader has a passing familiarity with some of the basic concepts of functional programming (the map, fold, and filter functions). We introduce these topics in our Racket primer, but the average reader will understand the majority of this primer without expertise in functional programming. Follow-ups to this post can be found in the Computational Category Theory section of the Main Content page. Preface: ML for Category Theory A few of my readers have been asking for more posts about functional languages and algorithms written in functional languages.

## Metrics on Words

DevFeed: [Metrics on Words](<https://devfeed.tech/articles/metrics-on-words-40250.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2011/12/19/metrics-on-words/>)

Published: 2011-12-19T20:59:31Z

Content type: tutorial

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Mathematics](<https://devfeed.tech/topics/mathematics.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Algorithms](<https://devfeed.tech/topics/algorithms.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [algorithms](<https://devfeed.tech/tags/algorithms.md>), [analysis](<https://devfeed.tech/tags/analysis.md>), [code](<https://devfeed.tech/tags/code.md>), [decoding](<https://devfeed.tech/tags/decoding.md>), [dynamic-programming](<https://devfeed.tech/tags/dynamic-programming.md>), [functional-programming](<https://devfeed.tech/tags/functional-programming.md>), [github](<https://devfeed.tech/tags/github.md>), [levenshtein-distance](<https://devfeed.tech/tags/levenshtein-distance.md>), [linguistics](<https://devfeed.tech/tags/linguistics.md>), [mathematics](<https://devfeed.tech/tags/mathematics.md>), [metric](<https://devfeed.tech/tags/metric.md>), [monoids](<https://devfeed.tech/tags/monoids.md>), [ngrams](<https://devfeed.tech/tags/ngrams.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [programming](<https://devfeed.tech/tags/programming.md>), [python](<https://devfeed.tech/tags/python.md>), [string](<https://devfeed.tech/tags/string.md>)

### AI overview

This introductory article defines finite strings over an alphabet and explains that they form a monoid under concatenation, with the empty string as the identity element. It introduces a series on probabilistic analysis of Google's ngrams for tasks including spelling correction, word segmentation, typing prediction, and cipher decoding.

### Source excerpt

We are about to begin a series where we analyze large corpora of English words. In particular, we will use a probabilistic analysis of Google's ngrams to solve various tasks such as spelling correction, word segmentation, on-line typing prediction, and decoding substitution ciphers. This will hopefully take us on a wonderful journey through elementary probability, dynamic programming algorithms, and optimization. As usual, the code implemented in this post is available from this blog's Github page, and we encourage the reader to use the code to implement our suggested exercises.