N-tuple

See also tuple (music) as in duple and triple.
In mathematics, a tuple is a finite sequence of objects (a list of a limited number of objects). (An infinite sequence is a family.) Tuples are used by mathematicians to describe mathematical objects that consist of certain components. For example, a directed graph is defined as a tuple (V, E) where V is the set of nodes and E is a subset of V × V that denotes the edges.

Names of tuples

A tuple of length n is usually described as an n-tuple. A 2-tuple is an ordered pair; a 3-tuple is a triple or triplet. The n can be any positive integer; thus one can for example say that a quaternion can be represented as a 4-tuple, and further constructed names are possible, such as octuple, but many mathematicians find it quicker to write "8-tuple", even if still pronouncing "octuple".

Formal definitions

The main properties that distinguish a tuple from, for example, a set are that (1) it can contain an object more than once and (2) the objects appear in a certain order. Note that (1) distinguishes it from an ordered set and (2) from a multiset. This is often formalized by giving the following rule for the identity of two n-tuples:
(a1, a2, ...,an) = (b1, b2, ..., bn) iff a1 = b1, a2 = b2 and so on.
Another way of formalizing tuples is by mapping them to more primitive constructs in set theory such as ordered pairs. For example, an n-tuple (with n > 2) can be defined as an ordered pair of its first entry and an (n−1)-tuple containing the remaining entries:
(a1, a2, ..., an) = (a1, (a2, ..., an))
Using the usual set-theoretic definition of an ordered pair and letting the empty set represent the empty tuple, this results in the following inductive definition:
  1. the 0-tuple (i.e. the empty tuple) is represented by ∅
  2. if x is an n-tuple then {{a}, {a, x}} is an (n + 1)-tuple.
Using this definition (1,2,2) would be
(1,(2,(2,()))) = (1,(2, {{2}, {2, ∅}} )) = (1, {{2}, {2, {{2}, {2, ∅}}}} ) = {{1}, {1, {{2}, {2, {{2}, {2, ∅}}}}}}
There is an important similarity here with the way Lisp originally used the ordered pair abstraction to inductively create all of its n-tuple and list structures:
  1. a special symbol NIL represents the empty list;
  2. if X is a list and A an arbitrary value then the pair (A, X) represents a list with the head (i.e. first element) A and the tail (i.e. the remainder of the list without the head) X.

Usage in computer science

In computer science (especially in programming languages and database theory such as the relational model) a tuple is usually defined as a finite function that maps field names to a certain value. Its purpose is the same as in mathematics, namely to indicate that a certain entity or object consists of certain components and/or has certain properties, but here these components are identified by a unique field name and not by a position, which often leads to a more user-friendly notation. A small example of a tuple would be:
( player : "Harry", score : 25 )
which is a function that maps the field name 'player' to the string "Harry" and the field name 'score' to the number 25. Note that the order of the components is not relevant, so the same tuple can also be written as:
( score : 25, player : "Harry" )
In the relational model such tuples are typically used to represent a single proposition, in this case that there exists a player named "Harry", and that he has a score of 25. In programming languages tuples are used to form data structures. For example, the following could be a structure that represents a node in a doubly linked list:
( value : 16, previous-node : 1174782, next-node : 1174791 )

 

<< PreviousWord BrowserNext >>
banks township, indiana county, pennsylvania
black lick, pennsylvania
entry shifting squeeze
black lick township, pennsylvania
blairsville, pennsylvania
brush valley township, pennsylvania
buffington township, pennsylvania
burrell township, indiana county, pennsylvania
canoe township, pennsylvania
center township, indiana county, pennsylvania
cherry tree, pennsylvania
cherryhill township, pennsylvania
chevy chase heights, pennsylvania
clymer, pennsylvania
commodore, pennsylvania
conemaugh township, indiana county, pennsylvania
creekside, pennsylvania
dicksonville, pennsylvania
east mahoning township, pennsylvania
east wheatfield township, pennsylvania
ernest, pennsylvania
glen campbell, pennsylvania
grant township, pennsylvania
green township, indiana county, pennsylvania
heilwood, pennsylvania
nordwestmecklenburg
william iii of the netherlands
homer city, pennsylvania
indiana, pennsylvania
jacksonville, pennsylvania
lucerne mines, pennsylvania
marion center, pennsylvania
montgomery township, indiana county, pennsylvania
north mahoning township, pennsylvania
pine township, indiana county, pennsylvania
plumville, pennsylvania
rayne township, pennsylvania
rossiter, pennsylvania
saltsburg, pennsylvania
shelocta, pennsylvania
smicksburg, pennsylvania
south mahoning township, pennsylvania
isaac rosenberg
laurence binyon