In
mathematics, a **multiset** (or **bag**, or **mset**) is a modification of the concept of a
set that, unlike a set,^{
[1]} allows for multiple instances for each of its
elements. The number of instances given for each element is called the **multiplicity** of that element in the multiset. As a consequence, an infinite number of multisets exist which contain only elements a and b, but vary in the multiplicities of their elements:

- The set {
*a*,*b*} contains only elements a and b, each having multiplicity 1 when {*a*,*b*} is seen as a multiset. - In the multiset {
*a*,*a*,*b*}, the element a has multiplicity 2, and b has multiplicity 1. - In the multiset {
*a*,*a*,*a*,*b*,*b*,*b*}, a and b both have multiplicity 3.

These objects are all different when viewed as multisets, although they are the same set, since they all consist of the same elements. As with sets, and in contrast to
tuples, the order in which elements are listed does not matter in discriminating multisets, so {*a*, *a*, *b*} and {*a*, *b*, *a*} denote the same multiset. To distinguish between sets and multisets, a notation that incorporates square brackets is sometimes used: the multiset {*a*, *a*, *b*} can be denoted by *a*, *a*, *b*.^{
[2]}

The
cardinality of a multiset is the sum of the multiplicities of all its elements. For example, in the multiset {*a*, *a*, *b*, *b*, *b*, *c*} the multiplicities of the members a, b, and c are respectively 2, 3, and 1, and therefore the cardinality of this multiset is 6.

Nicolaas Govert de Bruijn coined the word *multiset* in the 1970s, according to
Donald Knuth.^{
[3]}^{: 694 } However, the concept of multisets predates the coinage of the word *multiset* by many centuries. Knuth himself attributes the first study of multisets to the Indian mathematician
Bhāskarāchārya, who described
permutations of multisets around 1150. Other names have been proposed or used for this concept, including *list*, *bunch*, *bag*, *heap*, *sample*, *weighted set*, *collection*, and *suite*.^{
[3]}^{: 694 }

Wayne Blizard traced multisets back to the very origin of numbers, arguing that "in ancient times, the number *n* was often represented by a collection of *n* strokes,
tally marks, or units."^{
[4]} These and similar collections of objects can be regarded as multisets, because strokes, tally marks, or units are considered indistinguishable. This shows that people implicitly used multisets even before mathematics emerged.

Practical needs for this structure have caused multisets to be rediscovered several times, appearing in literature under different names.^{
[5]}^{: 323 } For instance, they were important in early
AI languages, such as QA4, where they were referred to as *bags,* a term attributed to
Peter Deutsch.^{
[6]} A multiset has been also called an aggregate, heap, bunch, sample, weighted set, occurrence set, and fireset (finitely repeated element set).^{
[5]}^{: 320 }^{
[7]}

Although multisets were used implicitly from ancient times, their explicit exploration happened much later. The first known study of multisets is attributed to the Indian mathematician
Bhāskarāchārya circa 1150, who described permutations of multisets.^{
[3]}^{: 694 } The work of
Marius Nizolius (1498–1576) contains another early reference to the concept of multisets.^{
[8]}
Athanasius Kircher found the number of multiset permutations when one element can be repeated.^{
[9]}
Jean Prestet published a general rule for multiset permutations in 1675.^{
[10]}
John Wallis explained this rule in more detail in 1685.^{
[11]}

Multisets appeared explicitly in the work of
Richard Dedekind.^{
[12]}^{
[13]}

Other mathematicians formalized multisets and began to study them as precise mathematical structures in the 20th century. For example, Whitney (1933) described *generalized sets* ("sets" whose
characteristic functions may take any
integer value - positive, negative or zero).^{
[5]}^{: 326 }^{
[14]}^{: 405 } Monro (1987) investigated the
category **Mul** of multisets and their
morphisms, defining a *multiset* as a set with an
equivalence relation between elements "of the same *sort*", and a *morphism* between multisets as a
function which respects *sorts*. He also introduced a *multinumber* : a function *f* (*x*) from a multiset to the
natural numbers, giving the *multiplicity* of element *x* in the multiset. Monro argued that the concepts of multiset and multinumber are often mixed indiscriminately, though both are useful.^{
[5]}^{: 327–328 }^{
[15]}

One of the simplest and most natural examples is the multiset of prime factors of a natural number n. Here the underlying set of elements is the set of prime factors of n. For example, the number 120 has the prime factorization

which gives the multiset {2, 2, 2, 3, 5}.

A related example is the multiset of solutions of an algebraic equation. A quadratic equation, for example, has two solutions. However, in some cases they are both the same number. Thus the multiset of solutions of the equation could be {3, 5}, or it could be {4, 4}. In the latter case it has a solution of multiplicity 2. More generally, the fundamental theorem of algebra asserts that the complex solutions of a polynomial equation of degree d always form a multiset of cardinality d.

A special case of the above are the
eigenvalues of a
matrix, whose multiplicity is usually defined as their multiplicity as
roots of the
characteristic polynomial. However two other multiplicities are naturally defined for eigenvalues, their multiplicities as roots of the
minimal polynomial, and the
geometric multiplicity, which is defined as the
dimension of the
kernel of *A* − *λI* (where λ is an eigenvalue of the matrix A). These three multiplicities define three multisets of eigenvalues, which may be all different: Let A be a *n* × *n* matrix in
Jordan normal form that has a single eigenvalue. Its multiplicity is n, its multiplicity as a root of the minimal polynomial is the size of the largest Jordan block, and its geometric multiplicity is the number of Jordan blocks.

A **multiset** may be formally defined as an
ordered pair (*A*, *m*) where A is the *underlying set* of the multiset, formed from its distinct elements, and is a function from A to the set of positive integers, giving the *multiplicity* – that is, the number of occurrences – of the element a in the multiset as the number *m*(*a*).

(It is also possible to allow multiplicity 0 or , especially when considering submultisets.^{
[16]} This article is restricted to finite, positive multiplicities.)

Representing the function m by its
graph (the set of ordered pairs ) allows for writing the multiset {*a*, *a*, *b*} as ({*a*, *b*}, {(*a*, 2), (*b*, 1)}), and the multiset {*a*, *b*} as ({*a*, *b*}, {(*a*, 1), (*b*, 1)}). This notation is however not commonly used; more compact notations are employed.

If is a
finite set, the multiset (*A*, *m*) is often represented as

- sometimes simplified to

where upper indices equal to 1 are omitted. For example, the multiset {*a*, *a*, *b*} may be written or If the elements of the multiset are numbers, a confusion is possible with ordinary
arithmetic operations, those normally can be excluded from the context. On the other hand, the latter notation is coherent with the fact that the prime factorization of a positive integer is a uniquely defined multiset, as asserted by the
fundamental theorem of arithmetic. Also, a
monomial is a multiset of
indeterminates; for example, the monomial *x*^{3}*y*^{2} corresponds to the multiset {*x*, *x*, *x*, *y*, *y*}.

A multiset corresponds to an ordinary set if the multiplicity of every element is 1. An
indexed family (*a*_{i})_{i∈I}, where i varies over some
index set *I*, may define a multiset, sometimes written {*a*_{i}}. In this view the underlying set of the multiset is given by the
image of the family, and the multiplicity of any element x is the number of index values i such that . In this article the multiplicities are considered to be finite, so that no element occurs infinitely many times in the family; even in an infinite multiset, the multiplicities are finite numbers.

It is possible to extend the definition of a multiset by allowing multiplicities of individual elements to be infinite cardinals instead of positive integers, but not all properties carry over to this generalization.

Elements of a multiset are generally taken in a fixed set U, sometimes called a *universe*, which is often the set of
natural numbers. An element of U that does not belong to a given multiset is said to have a multiplicity 0 in this multiset. This extends the multiplicity function of the multiset to a function from U to the set of non-negative integers. This defines a
one-to-one correspondence between these functions and the multisets that have their elements in U.

This extended multiplicity function is commonly called simply the **multiplicity function**, and suffices for defining multisets when the universe containing the elements has been fixed. This multiplicity function is a generalization of the
indicator function of a
subset, and shares some properties with it.

The **support** of a multiset in a universe U is the underlying set of the multiset. Using the multiplicity function , it is characterized as

A multiset is *finite* if its support is finite, or, equivalently, if its cardinality

is finite. The

The usual operations of sets may be extended to multisets by using the multiplicity function, in a similar way to using the indicator function for subsets. In the following, A and B are multisets in a given universe U, with multiplicity functions and

**Inclusion:**A is*included*in B, denoted*A*⊆*B*, if**Union:**the*union*(called, in some contexts, the*maximum*or*lowest common multiple*) of A and B is the multiset C with multiplicity function^{ [13]}**Intersection:**the*intersection*(called, in some contexts, the*infimum*or*greatest common divisor*) of A and B is the multiset C with multiplicity function**Sum:**the*sum*of A and B is the multiset C with multiplicity functionIt may be viewed as a generalization of the disjoint union of sets. It defines a commutative monoid structure on the finite multisets in a given universe. This monoid is a free commutative monoid, with the universe as a basis.**Difference:**the*difference*of A and B is the multiset C with multiplicity function

Two multisets are *disjoint* if their supports are
disjoint sets. This is equivalent to saying that their intersection is the empty multiset or that their sum equals their union.

There is an inclusion–exclusion principle for finite multisets (similar to
the one for sets), stating that a finite union of finite multisets is the difference of two sums of multisets: in the first sum we consider all possible intersections of an
odd number of the given multisets, while in the second sum we consider all possible intersections of an
even number of the given multisets.^{[
citation needed]}

The number of multisets of cardinality k, with elements taken from a finite set of cardinality n, is sometimes called the **multiset coefficient** or **multiset number**. This number is written by some authors as , a notation that is meant to resemble that of
binomial coefficients; it is used for instance in (Stanley, 1997), and could be pronounced "n multichoose k" to resemble "n choose k" for Like the
binomial distribution that involves binomial coefficients, there is a
negative binomial distribution in which the multiset coefficients occur. Multiset coefficients should not be confused with the unrelated
multinomial coefficients that occur in the
multinomial theorem.

The value of multiset coefficients can be given explicitly as

where the second expression is as a binomial coefficient;

to match the expression of binomial coefficients using a falling factorial power:

There are for example 4 multisets of cardinality 3 with elements taken from the set {1, 2} of cardinality 2 (*n* = 2, *k* = 3), namely {1, 1, 1}, {1, 1, 2}, {1, 2, 2}, {2, 2, 2}. There are also 4 *subsets* of cardinality 3 in the set {1, 2, 3, 4} of cardinality 4 (*n* + *k* − 1), namely {1, 2, 3}, {1, 2, 4}, {1, 3, 4}, {2, 3, 4}.

One simple way to
prove the equality of multiset coefficients and binomial coefficients given above involves representing multisets in the following way. First, consider the notation for multisets that would represent {*a*, *a*, *a*, *a*, *a*, *a*, *b*, *b*, *c*, *c*, *c*, *d*, *d*, *d*, *d*, *d*, *d*, *d*} (6 as, 2 bs, 3 cs, 7 ds) in this form:

- • • • • • • | • • | • • • | • • • • • • •

This is a multiset of cardinality *k* = 18 made of elements of a set of cardinality *n* = 4. The number of characters including both dots and vertical lines used in this notation is 18 + 4 − 1. The number of vertical lines is 4 − 1. The number of multisets of cardinality 18 is then the number of ways to arrange the 4 − 1 vertical lines among the 18 + 4 − 1 characters, and is thus the number of subsets of cardinality 4 − 1 of a set of cardinality 18 + 4 − 1. Equivalently, it is the number of ways to arrange the 18 dots among the 18 + 4 − 1 characters, which is the number of subsets of cardinality 18 of a set of cardinality 18 + 4 − 1. This is

thus is the value of the multiset coefficient and its equivalencies:

From the relation between binomial coefficients and multiset coefficients, it follows that the number of multisets of cardinality k in a set of cardinality n can be written

Additionally,

A recurrence relation for multiset coefficients may be given as

with

The above recurrence may be interpreted as follows.
Let be the source set. There is always exactly one (empty) multiset of size 0, and if *n* = 0 there are no larger multisets, which gives the initial conditions.

Now, consider the case in which *n*, *k* > 0. A multiset of cardinality k with elements from *n* might or might not contain any instance of the final element n. If it does appear, then by removing n once, one is left with a multiset of cardinality *k* − 1 of elements from *n*, and every such multiset can arise, which gives a total of

possibilities.

If n does not appear, then our original multiset is equal to a multiset of cardinality k with elements from *n* − 1], of which there are

Thus,

The generating function of the multiset coefficients is very simple, being

As multisets are in one-to-one correspondence with
monomials, is also the number of monomials of
degree d in n indeterminates. Thus, the above series is also the
Hilbert series of the
polynomial ring

As is a polynomial in n, it and the generating function are well defined for any complex value of n.

The multiplicative formula allows the definition of multiset coefficients to be extended by replacing n by an arbitrary number α (negative, real, or complex):

With this definition one has a generalization of the negative binomial formula (with one of the variables set to 1), which justifies calling the negative binomial coefficients:

This
Taylor series formula is valid for all complex numbers *α* and *X* with |*X*| < 1. It can also be interpreted as an
identity of
formal power series in *X*, where it actually can serve as definition of arbitrary powers of series with constant coefficient equal to 1; the point is that with this definition all identities hold that one expects for
exponentiation, notably

and formulas such as these can be used to prove identities for the multiset coefficients.

If α is a nonpositive integer n, then all terms with *k* > −*n* are zero, and the infinite series becomes a finite sum. However, for other values of α, including positive integers and
rational numbers, the series is infinite.

Multisets have various applications.^{
[7]} They are becoming fundamental in
combinatorics.^{
[17]}^{
[18]}^{
[19]}^{
[20]} Multisets have become an important tool in the theory of
relational databases, which often uses the synonym *bag*.^{
[21]}^{
[22]}^{
[23]} For instance, multisets are often used to implement relations in database systems. In particular, a table (without a primary key) works as a multiset, because it can have multiple identical records. Similarly,
SQL operates on multisets and return identical records. For instance, consider "SELECT name from Student". In the case that there are multiple records with name "Sara" in the student table, all of them are shown. That means the result of an SQL query is a multiset; if the result were instead a set, the repetitive records in the result set would have been eliminated. Another application of multisets is in modeling
multigraphs. In multigraphs there can be multiple edges between any two given
vertices. As such, the entity that shows edges is a multiset, and not a set.

There are also other applications. For instance,
Richard Rado used multisets as a device to investigate the properties of families of sets. He wrote, "The notion of a set takes no account of multiple occurrence of any one of its members, and yet it is just this kind of information which is frequently of importance. We need only think of the set of roots of a polynomial *f* (*x*) or the
spectrum of a
linear operator."^{
[5]}^{: 328–329 }

Different generalizations of multisets have been introduced, studied and applied to solving problems.

- Real-valued multisets (in which multiplicity of an element can be any
real number)
^{ [24]}^{ [25]} - Fuzzy multisets
^{ [26]} - Rough multisets
^{ [27]} - Hybrid sets
^{ [28]} - Multisets whose multiplicity is any real-valued
step function
^{ [29]} - Soft multisets
^{ [30]} - Soft fuzzy multisets
^{ [31]} - Named sets (unification of all generalizations of sets)
^{ [32]}^{ [33]}^{ [34]}^{ [35]}

- Frequency (statistics) as multiplicity analog
- Quasi-sets
- Set theory
- Learning materials related to Partitions of multisets at Wikiversity

**^**The formula (

) does not work for*n*+*k*−1*k**n*= 0 (where necessarily also*k*= 0) if viewed as an ordinary binomial coefficient since it evaluates to (

), however the formula−1 0 *n*(*n*+1)(*n*+2)...(*n*+*k*−1)/*k*! does work in this case because the numerator is an empty product giving 1/0! = 1. However (

) does make sense for*n*+*k*−1*k**n*=*k*= 0 if interpreted as a generalized binomial coefficient; indeed (

) seen as a generalized binomial coefficient equals the extreme right-hand side of the above equation.*n*+*k*−1*k*

**^**Cantor, Georg; Jourdain, Philip E.B. (Translator) (1895). "beiträge zur begründung der transfiniten Mengenlehre" [contributions to the founding of the theory of transfinite numbers].*Mathematische Annalen*(in German). New York Dover Publications (1954 English translation). xlvi, xlix: 481–512, 207–246. Archived from the original on 2011-06-10.By a set (Menge) we are to understand any collection into a whole (Zusammenfassung zu einem Gansen) M of definite and

**separate**objects m (p.85)**^**Hein, James L. (2003).*Discrete mathematics*. Jones & Bartlett Publishers. pp. 29–30. ISBN 0-7637-2210-3.- ^
^{a}^{b}^{c}Knuth, Donald E. (1998).*Seminumerical Algorithms*. The Art of Computer Programming. Vol. 2 (3rd ed.). Addison Wesley. ISBN 0-201-89684-2. **^**Blizard, Wayne D (1989). "Multiset theory".*Notre Dame Journal of Formal Logic*.**30**(1): 36–66. doi: 10.1305/ndjfl/1093634995.- ^
^{a}^{b}^{c}^{d}^{e}Blizard, Wayne D. (1991). "The Development of Multiset Theory".*Modern Logic*.**1**(4): 319–352. **^**Rulifson, J. F.; Derkson, J. A.; Waldinger, R. J. (November 1972).*QA4: A Procedural Calculus for Intuitive Reasoning*(Technical report). SRI International. 73.- ^
^{a}^{b}Singh, D.; Ibrahim, A. M.; Yohanna, T.; Singh, J. N. (2007). "An overview of the applications of multisets".*Novi Sad Journal of Mathematics*.**37**(2): 73–92. **^**Angelelli, I. (1965). "Leibniz's misunderstanding of Nizolius' notion of 'multitudo'".*Notre Dame Journal of Formal Logic*(6): 319–322.**^**Kircher, Athanasius (1650).*Musurgia Universalis*. Rome: Corbelletti.**^**Prestet, Jean (1675).*Elemens des Mathematiques*. Paris: André Pralard.**^**Wallis, John (1685).*A treatise of algebra*. London: John Playford.**^**Dedekind, Richard (1888).*Was sind und was sollen die Zahlen?*. Braunschweig: Vieweg. p. 114.- ^
^{a}^{b}Syropoulos, Apostolos (2000). "Mathematics of multisets". In Calude, Cristian; Paun, Gheorghe; Rozenberg, Grzegorz; Salomaa, Arto (eds.).*Multiset Processing, Mathematical, Computer Science, and Molecular Computing Points of View [Workshop on Multiset Processing, WMP 2000, Curtea de Arges, Romania, August 21–25, 2000]*. Lecture Notes in Computer Science. Vol. 2235. Springer. pp. 347–358. doi: 10.1007/3-540-45523-X_17. **^**Whitney, H. (1933). "Characteristic Functions and the Algebra of Logic".*Annals of Mathematics*.**34**(3): 405–414. doi: 10.2307/1968168. JSTOR 1968168.**^**Monro, G. P. (1987). "The Concept of Multiset".*Zeitschrift für Mathematische Logik und Grundlagen der Mathematik*.**33**(2): 171–178. doi: 10.1002/malq.19870330212.**^**Cf., for instance, Richard Brualdi,*Introductory Combinatorics*, Pearson.**^**Aigner, M. (1979).*Combinatorial Theory*. New York/Berlin: Springer Verlag.**^**Anderson, I. (1987).*Combinatorics of Finite Sets*. Oxford: Clarendon Press. ISBN 978-0-19-853367-2.**^**Stanley, Richard P. (1997).*Enumerative Combinatorics*. Vol. 1. Cambridge University Press. ISBN 0-521-55309-1.**^**Stanley, Richard P. (1999).*Enumerative Combinatorics*. Vol. 2. Cambridge University Press. ISBN 0-521-56069-1.**^**Grumbach, S.; Milo, T (1996). "Towards tractable algebras for bags".*Journal of Computer and System Sciences*.**52**(3): 570–588. doi: 10.1006/jcss.1996.0042.**^**Libkin, L.; Wong, L. (1994). "Some properties of query languages for bags".*Proceedings of the Workshop on Database Programming Languages*. Springer Verlag. pp. 97–114.**^**Libkin, L.; Wong, L. (1995). "On representation and querying incomplete information in databases with bags".*Information Processing Letters*.**56**(4): 209–214. doi: 10.1016/0020-0190(95)00154-5.**^**Blizard, Wayne D. (1989). "Real-valued Multisets and Fuzzy Sets".*Fuzzy Sets and Systems*.**33**: 77–97. doi: 10.1016/0165-0114(89)90218-2.**^**Blizard, Wayne D. (1990). "Negative Membership".*Notre Dame Journal of Formal Logic*.**31**(1): 346–368. doi: 10.1305/ndjfl/1093635499. S2CID 42766971.**^**Yager, R. R. (1986). "On the Theory of Bags".*International Journal of General Systems*.**13**: 23–37. doi: 10.1080/03081078608934952.**^**Grzymala-Busse, J. (1987). "Learning from examples based on rough multisets".*Proceedings of the 2nd International Symposium on Methodologies for Intelligent Systems*. Charlotte, North Carolina. pp. 325–332.`{{ cite book}}`

: CS1 maint: location missing publisher ( link)**^**Loeb, D. (1992). "Sets with a negative numbers of elements".*Advances in Mathematics*.**91**: 64–74. doi: 10.1016/0001-8708(92)90011-9.**^**Miyamoto, S. (2001). "Fuzzy Multisets and Their Generalizations".*Multiset Processing*. Lecture Notes in Computer Science. Vol. 2235. pp. 225–235. doi: 10.1007/3-540-45523-X_11. ISBN 978-3-540-43063-6.**^**Alkhazaleh, S.; Salleh, A. R.; Hassan, N. (2011). "Soft Multisets Theory".*Applied Mathematical Sciences*.**5**(72): 3561–3573.**^**Alkhazaleh, S.; Salleh, A. R. (2012). "Fuzzy Soft Multiset Theory".*Abstract and Applied Analysis*.**2012**: 1–20. doi: 10.1155/2012/350603.**^**Burgin, Mark (1990). "Theory of Named Sets as a Foundational Basis for Mathematics".*Structures in Mathematical Theories*. San Sebastian. pp. 417–420.**^**Burgin, Mark (1992). "On the concept of a multiset in cybernetics".*Cybernetics and System Analysis*.**3**: 165–167.**^**Burgin, Mark (2004). "Unified Foundations of Mathematics". arXiv: math/0403186.**^**Burgin, Mark (2011).*Theory of Named Sets*. Mathematics Research Developments. Nova Science Pub Inc. ISBN 978-1-61122-788-8.