HOME

TheInfoList



OR:

In
combinatorial Combinatorics is an area of mathematics primarily concerned with counting, both as a means and an end in obtaining results, and certain properties of finite structures. It is closely related to many other areas of mathematics and has many app ...
mathematics Mathematics is an area of knowledge that includes the topics of numbers, formulas and related structures, shapes and the spaces in which they are contained, and quantities and their changes. These topics are represented in modern mathematics ...
, the theory of combinatorial species is an abstract, systematic method for deriving the
generating functions In mathematics, a generating function is a way of encoding an infinite sequence of numbers () by treating them as the coefficients of a formal power series. This series is called the generating function of the sequence. Unlike an ordinary series ...
of discrete structures, which allows one to not merely count these structures but give bijective proofs involving them. Examples of combinatorial species are (
finite Finite is the opposite of infinite. It may refer to: * Finite number (disambiguation) * Finite set, a set whose cardinality (number of elements) is some natural number * Finite verb, a verb form that has a subject, usually being inflected or marked ...
)
graphs Graph may refer to: Mathematics *Graph (discrete mathematics), a structure made of vertices and edges **Graph theory, the study of such graphs and their properties *Graph (topology), a topological space resembling a graph in the sense of discre ...
,
permutation In mathematics, a permutation of a set is, loosely speaking, an arrangement of its members into a sequence or linear order, or if the set is already ordered, a rearrangement of its elements. The word "permutation" also refers to the act or proc ...
s,
trees In botany, a tree is a perennial plant with an elongated stem, or trunk, usually supporting branches and leaves. In some usages, the definition of a tree may be narrower, including only woody plants with secondary growth, plants that are u ...
, and so on; each of these has an associated generating function which counts how many structures there are of a certain size. One goal of species theory is to be able to analyse complicated structures by describing them in terms of transformations and combinations of simpler structures. These operations correspond to equivalent manipulations of generating functions, so producing such functions for complicated structures is much easier than with other methods. The theory was introduced, carefully elaborated and applied by the Canadian group of people around
André Joyal André Joyal (; born 1943) is a professor of mathematics at the Université du Québec à Montréal who works on category theory. He was a member of the School of Mathematics at the Institute for Advanced Study in 2013, where he was invited to jo ...
. The power of the theory comes from its level of abstraction. The "description format" of a structure (such as
adjacency list In graph theory and computer science, an adjacency list is a collection of unordered lists used to represent a finite graph. Each unordered list within an adjacency list describes the set of neighbors of a particular vertex in the graph. This is ...
versus
adjacency matrix In graph theory and computer science, an adjacency matrix is a square matrix used to represent a finite graph. The elements of the matrix indicate whether pairs of vertices are adjacent or not in the graph. In the special case of a finite simp ...
for graphs) is irrelevant, because species are purely algebraic.
Category theory Category theory is a general theory of mathematical structures and their relations that was introduced by Samuel Eilenberg and Saunders Mac Lane in the middle of the 20th century in their foundational work on algebraic topology. Nowadays, cate ...
provides a useful language for the concepts that arise here, but it is not necessary to understand categories before being able to work with species. The category of species is equivalent to the category of
symmetric sequence In algebraic topology, an \mathbb-object (also called a symmetric sequence) is a sequence \ of objects such that each X(n) comes with an actionAn action of a group ''G'' on an object ''X'' in a category ''C'' is a functor from ''G'' viewed as a cate ...
s in finite sets.


Definition of species

Any structure — an instance of a particular species — is associated with some
set Set, The Set, SET or SETS may refer to: Science, technology, and mathematics Mathematics *Set (mathematics), a collection of elements *Category of sets, the category whose objects and morphisms are sets and total functions, respectively Electro ...
, and there are often many possible structures for the same set. For example, it is possible to construct several different graphs whose node labels are drawn from the same given set. At the same time, any set could be used to build the structures. The difference between one species and another is that they build a different set of structures out of the same base set. This leads to the formal definition of a ''combinatorial species''. Let \mathcal be the
category Category, plural categories, may refer to: Philosophy and general uses * Categorization, categories in cognitive science, information science and generally *Category of being * ''Categories'' (Aristotle) *Category (Kant) *Categories (Peirce) * ...
of
finite set In mathematics, particularly set theory, a finite set is a set that has a finite number of elements. Informally, a finite set is a set which one could in principle count and finish counting. For example, :\ is a finite set with five elements. Th ...
s, with the
morphism In mathematics, particularly in category theory, a morphism is a structure-preserving map from one mathematical structure to another one of the same type. The notion of morphism recurs in much of contemporary mathematics. In set theory, morphisms a ...
s of the category being the
bijection In mathematics, a bijection, also known as a bijective function, one-to-one correspondence, or invertible function, is a function between the elements of two sets, where each element of one set is paired with exactly one element of the other s ...
s between these sets. A ''species'' is a
functor In mathematics, specifically category theory, a functor is a Map (mathematics), mapping between Category (mathematics), categories. Functors were first considered in algebraic topology, where algebraic objects (such as the fundamental group) ar ...
:F\colon \mathcal \to \mathcal. For each finite set ''A'' in \mathcal, the finite set ''F'' 'A''ref group=note>Joyal prefers to write F /math> for F(A), the value of ''F'' at ''A''. is called the set of ''F''-structures on ''A'', or the set of structures of species ''F'' on ''A''. Further, by the definition of a functor, if φ is a bijection between sets ''A'' and ''B'', then ''F'' is a bijection between the sets of ''F''-structures ''F'' 'A''and ''F'' 'B'' called ''transport of F-structures along φ''.Federico G. Lastaria
An invitation to Combinatorial Species
(2002) For example, the "species of permutations" maps each finite set ''A'' to the set of all permutations of ''A'', and each bijection from ''A'' to another set ''B'' naturally induces a bijection from the set of all permutations of ''A'' to the set of all permutations of ''B''. Similarly, the "species of partitions" can be defined by assigning to each finite set the set of all its
partition Partition may refer to: Computing Hardware * Disk partitioning, the division of a hard disk drive * Memory partition, a subdivision of a computer's memory, usually for use by a single job Software * Partition (database), the division of a ...
s, and the "power set species" assigns to each finite set its
power set In mathematics, the power set (or powerset) of a set is the set of all subsets of , including the empty set and itself. In axiomatic set theory (as developed, for example, in the ZFC axioms), the existence of the power set of any set is po ...
. The adjacent diagram shows a structure on a set of five elements: arcs connect the structure (red) to the elements (blue) from which it is built. Because a bijection exists between two finite sets if and only if the two sets have the same
cardinality In mathematics, the cardinality of a set is a measure of the number of elements of the set. For example, the set A = \ contains 3 elements, and therefore A has a cardinality of 3. Beginning in the late 19th century, this concept was generalized ...
(the number of elements), for each finite set ''A'', the cardinality of F /math>, which is finite, depends only on the cardinality of ''A''. (This follows from the formal definition of a functor.If u : A \to B is a bijection, then F F \to F /math> is a bijection and thus F F /math> have the same cardinality.) In particular, the '' exponential generating series'' ''F''(''x'') of a species ''F'' can be defined: :F(x) = \sum_ \operatorname F \frac where \operatorname F /math> is the cardinality of F /math> for any set ''A'' having ''n'' elements; e.g., A = \. Some examples: writing f_n = \operatorname F /math>, * The species of sets (traditionally called ''E'', from the French "''ensemble''", meaning "set") is the functor which maps ''A'' to . Then f_n = 1, so E(x) = e^x. * The species ''S'' of
permutation In mathematics, a permutation of a set is, loosely speaking, an arrangement of its members into a sequence or linear order, or if the set is already ordered, a rearrangement of its elements. The word "permutation" also refers to the act or proc ...
s, described above, has f_n = n!. S(x) = 1/(1 - x). * The species ''T''2 of pairs (2-
tuple In mathematics, a tuple is a finite ordered list (sequence) of elements. An -tuple is a sequence (or ordered list) of elements, where is a non-negative integer. There is only one 0-tuple, referred to as ''the empty tuple''. An -tuple is defi ...
s) is the functor taking a set ''A'' to ''A''2. Then f_n = n^2 and T_2(x) = x (x+1) e^x.


Calculus of species

Arithmetic on generating functions corresponds to certain "natural" operations on species. The basic operations are addition, multiplication, composition, and differentiation; it is also necessary to define equality on species. Category theory already has a way of describing when two functors are equivalent: a
natural isomorphism In category theory, a branch of mathematics, a natural transformation provides a way of transforming one functor into another while respecting the internal structure (i.e., the composition of morphisms) of the categories involved. Hence, a natural ...
. In this context, it just means that for each ''A'' there is a bijection between ''F''-structures on ''A'' and ''G''-structures on ''A'', which is "well-behaved" in its interaction with transport. Species with the same generating function might not be isomorphic, but isomorphic species do always have the same generating function.


Addition

Addition of species is defined by the
disjoint union In mathematics, a disjoint union (or discriminated union) of a family of sets (A_i : i\in I) is a set A, often denoted by \bigsqcup_ A_i, with an injection of each A_i into A, such that the images of these injections form a partition of A (th ...
of sets, and corresponds to a choice between structures. For species ''F'' and ''G'', define (''F'' + ''G'') 'A''to be the disjoint union (also written "+") of ''F'' 'A''and ''G'' 'A'' It follows that (''F'' + ''G'')(''x'') = ''F''(''x'') + ''G''(''x''). As a demonstration, take ''E''+ to be the species of non-empty sets, whose generating function is ''E''+(''x'') = ''e''''x'' − 1, and 1 the species of the
empty set In mathematics, the empty set is the unique set having no elements; its size or cardinality (count of elements in a set) is zero. Some axiomatic set theories ensure that the empty set exists by including an axiom of empty set, while in other ...
, whose generating function is 1(''x'') = 1. It follows that ''E'' = 1 + ''E''+: in words, "a set is either empty or non-empty". Equations like this can be read as referring to a single structure, as well as to the entire collection of structures.


Multiplication

Multiplying species is slightly more complicated. It is possible to just take the Cartesian product of sets as the definition, but the combinatorial interpretation of this is not quite right. (See below for the use of this kind of product.) Rather than putting together two unrelated structures on the same set, the multiplication operator uses the idea of splitting the set into two components, constructing an ''F''-structure on one and a ''G''-structure on the other. :(F \cdot G) = \sum_ F \times G This is a disjoint union over all possible binary partitions of ''A''. It is straightforward to show that multiplication is
associative In mathematics, the associative property is a property of some binary operations, which means that rearranging the parentheses in an expression will not change the result. In propositional logic, associativity is a valid rule of replacement f ...
and
commutative In mathematics, a binary operation is commutative if changing the order of the operands does not change the result. It is a fundamental property of many binary operations, and many mathematical proofs depend on it. Most familiar as the name o ...
(
up to Two Mathematical object, mathematical objects ''a'' and ''b'' are called equal up to an equivalence relation ''R'' * if ''a'' and ''b'' are related by ''R'', that is, * if ''aRb'' holds, that is, * if the equivalence classes of ''a'' and ''b'' wi ...
isomorphism In mathematics, an isomorphism is a structure-preserving mapping between two structures of the same type that can be reversed by an inverse mapping. Two mathematical structures are isomorphic if an isomorphism exists between them. The word is ...
), and distributive over addition. As for the generating series, (''F'' · ''G'')(''x'') = ''F''(''x'')''G''(''x''). The diagram below shows one possible (''F'' · ''G'')-structure on a set with five elements. The ''F''-structure (red) picks up three elements of the base set, and the ''G''-structure (light blue) takes the rest. Other structures will have ''F'' and ''G'' splitting the set in a different way. The set (''F'' · ''G'') 'A'' where ''A'' is the base set, is the disjoint union of all such structures. The addition and multiplication of species are the most comprehensive expression of the sum and product rules of counting.


Composition

Composition, also called substitution, is more complicated again. The basic idea is to replace components of ''F'' with ''G''-structures, forming (''F''∘''G''). As with multiplication, this is done by splitting the input set ''A''; the disjoint subsets are given to ''G'' to make ''G''-structures, and the set of subsets is given to ''F'', to make the ''F''-structure linking the ''G''-structures. It is required for ''G'' to map the empty set to itself, in order for composition to work. The formal definition is: :(F \circ G) = \sum_ (F pi\times \prod_ G . Here, ''P'' is the species of partitions, so ''P'' 'A''is the set of all partitions of ''A''. This definition says that an element of (''F'' ∘ ''G'') 'A''is made up of an ''F''-structure on some partition of ''A'', and a ''G''-structure on each component of the partition. The generating series is (F \circ G)(x) = F(G(x)). One such structure is shown below. Three ''G''-structures (light blue) divide up the five-element base set between them; then, an ''F''-structure (red) is built to connect the ''G''-structures. These last two operations may be illustrated by the example of trees. First, define ''X'' to be the species "singleton" whose generating series is ''X''(''x'') = ''x''. Then the species ''Ar'' of rooted trees (from the French "''arborescence''") is defined recursively by ''Ar'' = ''X'' · ''E''(''Ar''). This equation says that a tree consists of a single root and a set of (sub-)trees. The recursion does ''not'' need an explicit base case: it only generates trees in the context of being applied to some finite set. One way to think about this is that the ''Ar'' functor is being applied repeatedly to a "supply" of elements from the set — each time, one element is taken by ''X'', and the others distributed by ''E'' among the ''Ar'' subtrees, until there are no more elements to give to ''E''. This shows that algebraic descriptions of species are quite different from type specifications in programming languages like
Haskell Haskell () is a general-purpose, statically-typed, purely functional programming language with type inference and lazy evaluation. Designed for teaching, research and industrial applications, Haskell has pioneered a number of programming lan ...
. Likewise, the species ''P'' can be characterised as ''P'' = ''E''(''E''+): "a partition is a pairwise disjoint set of nonempty sets (using up all the elements of the input set)". The exponential generating series for ''P'' is P(x) = e^, which is the series for the
Bell numbers In combinatorial mathematics, the Bell numbers count the possible partitions of a set. These numbers have been studied by mathematicians since the 19th century, and their roots go back to medieval Japan. In an example of Stigler's law of eponymy ...
.


Differentiation

Differentiation of species intuitively corresponds to building "structures with a hole", as shown in the illustration below. Formally, :(F') = F \uplus \ where \star is some distinguished new element not present in A. To differentiate the associated exponential series, the sequence of coefficients needs to be shifted one place to the "left" (losing the first term). This suggests a definition for species: ''F' '' 'A''nbsp;= ''F'' 'A'' +  where is a singleton set and "+" is disjoint union. The more advanced parts of the theory of species use differentiation extensively, to construct and solve
differential equation In mathematics, a differential equation is an equation that relates one or more unknown functions and their derivatives. In applications, the functions generally represent physical quantities, the derivatives represent their rates of change, an ...
s on species and series. The idea of adding (or removing) a single part of a structure is a powerful one: it can be used to establish relationships between seemingly unconnected species. For example, consider a structure of the species ''L'' of linear orders—lists of elements of the ground set. Removing an element of a list splits it into two parts (possibly empty); in symbols, this is ''L = ''L''·''L''. The exponential generating function of ''L'' is ''L''(''x'') = 1/(1 − ''x''), and indeed: : \frac d ^ = ^. The generalized differentiation formulas are to be found in a previous research by N. G. de Bruijn, published in 1964. The species ''C'' of cyclic permutations takes a set ''A'' to the set of all cycles on ''A''. Removing a single element from a cycle reduces it to a list: ''C = ''L''. We can integrate the generating function of ''L'' to produce that for ''C''. : C(x) = \int_0^x \frac = \log \frac. A nice example of integration of a species is the completion of a line (coordinatizated by a field) with the infinite point and obtaining a projective line.


Further operations

There are a variety of other manipulations which may be performed on species. These are necessary to express more complicated structures, such as
directed graph In mathematics, and more specifically in graph theory, a directed graph (or digraph) is a graph that is made up of a set of vertices connected by directed edges, often called arcs. Definition In formal terms, a directed graph is an ordered pa ...
s or bigraphs. Pointing selects a single element in a structure. Given a species ''F'', the corresponding pointed species ''F'' is defined by ''F'' 'A''= ''A'' × ''F'' 'A'' Thus each ''F''-structure is an ''F''-structure with one element distinguished. Pointing is related to differentiation by the relation ''F'' = ''X''·''F' '', so ''F''(''x'') = ''x'' ''F' ''(''x''). The species of
pointed set In mathematics, a pointed set (also based set or rooted set) is an ordered pair (X, x_0) where X is a set and x_0 is an element of X called the base point, also spelled basepoint. Maps between pointed sets (X, x_0) and (Y, y_0) – called based ma ...
s, ''E'', is particularly important as a building block for many of the more complex constructions. The Cartesian product of two species is a species which can build two structures on the same set at the same time. It is different from the ordinary multiplication operator in that all elements of the base set are shared between the two structures. An (''F'' × ''G'')-structure can be seen as a superposition of an ''F''-structure and a ''G''-structure. Bigraphs could be described as the superposition of a graph and a set of trees: each node of the bigraph is part of a graph, and at the same time part of some tree that describes how nodes are nested. The generating function (''F'' × ''G'')(''x'') is the Hadamard or coefficient-wise product of ''F''(''x'') and ''G''(''x''). The species ''E'' × ''E'' can be seen as making two independent selections from the base set. The two points might coincide, unlike in ''X''·''X''·''E'', where they are forced to be different. As functors, species ''F'' and ''G'' may be combined by functorial composition: (F \,\Box\, G) = F .html" ;"title=" "> /math> (the box symbol is used, because the circle is already in use for substitution). This constructs an ''F''-structure on the set of all ''G''-structures on the set ''A''. For example, if ''F'' is the functor taking a set to its power set, a structure of the composed species is some subset of the ''G''-structures on ''A''. If we now take ''G'' to be ''E'' × ''E'' from above, we obtain the species of directed graphs, with self-loops permitted. (A directed graph is a set of edges, and edges are pairs of nodes: so a graph is a subset of the set of pairs of elements of the node set ''A''.) Other families of graphs, as well as many other structures, can be defined in this way.


Software

Operations with species are supported by
SageMath SageMath (previously Sage or SAGE, "System for Algebra and Geometry Experimentation") is a computer algebra system (CAS) with features covering many aspects of mathematics, including algebra, combinatorics, graph theory, numerical analysis, numbe ...
and, using a special package, also by
Haskell Haskell () is a general-purpose, statically-typed, purely functional programming language with type inference and lazy evaluation. Designed for teaching, research and industrial applications, Haskell has pioneered a number of programming lan ...
.


Variants

* A species ''in k sorts'' is a functor \mathcal^k \rightarrow \mathcal. Here, the structures produced can have elements drawn from distinct sources. * A functor to \mathcal_R, the category of ''R''-weighted sets for ''R'' a
ring Ring may refer to: * Ring (jewellery), a round band, usually made of metal, worn as ornamental jewelry * To make a sound with a bell, and the sound made by a bell :(hence) to initiate a telephone connection Arts, entertainment and media Film and ...
of power series, is a ''weighted species''. If “finite sets with bijections” is replaced with “finite vector spaces with linear transformations”, then one gets the notion of
polynomial functor In algebra, a polynomial functor is an endofunctor on the category \mathcal of finite-dimensional vector spaces that depends polynomially on vector spaces. For example, the symmetric powers V \mapsto \operatorname^n(V) and the exterior powers V \ ...
(after imposing some finiteness condition).


See also

*
Container (type theory) In type theory, containers are abstractions which permit various "collection types", such as lists and trees, to be represented in a uniform way. A ( unary) container is defined by a type of ''shapes'' S and a type family of ''positions'' P, indexe ...


Notes


References

* * Bruijn, de, N. G. (1964). Pólya's theory of counting. In E. F. Beckenbach (Ed.), Applied combinatorical mathematics (pp. 144-184) * Labelle, Jacques. ''Quelques espèces sur les ensembles de petite cardinalité.'', Ann. Sc. Math. Québec 9.1 (1985): 31-58. * * Yves Chiricota, ''Classification des espèces moléculaires de degré 6 et 7'', Ann. Sci. Math. Québec 17 (1993), no. 1, 1 l–37. * François Bergeron, Gilbert Labelle, Pierre Leroux, ''Théorie des espèces et combinatoire des structures arborescentes'', LaCIM, Montréal (1994). English version
''Combinatorial Species and Tree-like Structures''
Cambridge University Press (1998). * Kerber, Adalbert (1999), Applied finite group actions, Algorithms and Combinatorics, 19 (2nd ed.), Berlin, New York: Springer-Verlag, , MR 1716962, OCLC 247593131


External links

* {{MathWorld, Species, Species * https://ncatlab.org/nlab/show/species Enumerative combinatorics Algebraic combinatorics