Lexicographical order

Lexicographical order

In mathematics, the lexicographic or lexicographical order, (also known as lexical order, dictionary order, alphabetical order or lexicographic(al) product), is a generalization of the way the alphabetical order of words is based on the alphabetical order of letters.

Contents

Definition

Given two partially ordered sets A and B, the lexicographical order on the Cartesian product A × B is defined as

(a,b) ≤ (a′,b′) if and only if a < a′ or (a = a′ and bb′).

The result is a partial order. If A and B are totally ordered, then the result is a total order as well.

More generally, one can define the lexicographic order on the Cartesian product of n ordered sets, on the Cartesian product of a countably infinite family of ordered sets, and on the union of such sets.

Motivation and uses

The name of the lexicographic order comes from its generalizing the order given to words in a dictionary: a sequence of letters (that is, a word)

a1a2 ... ak

appears in a dictionary before a sequence

b1b2 ... bk

if and only if the first ai, which is different from bi, comes before bi in the alphabet. That assumes both have the same length. What is usually done is to pad out the shorter word with symbols for 'blanks', and consider that a blank is a new minimum ('bottom') element.

For the purpose of dictionaries, etc., one may assume that all words have the same length, by adding blank spaces at the end, and considering the blank space as a special character that comes before any other letter in the alphabet. This also allows ordering phrases. See alphabetical order.

An important property of the lexicographical order is that it preserves well-orders, that is, if A and B are well-ordered sets, then the product set A × B with the lexicographical order is also well-ordered.

An important exploitation of lexicographical ordering is expressed in the ISO 8601 date formatting scheme, which expresses a date as YYYY-MM-DD. This date ordering lends itself to straightforward computerized sorting of dates such that the sorting algorithm does not need to treat the numeric parts of the date string any differently from a string of non-numeric characters, and the dates will be sorted into chronological order. Note, however, that for this to work, there must always be four digits for the year, two for the month, and two for the day, so for example single-digit days must be padded with a zero yielding '01', '02', ... , '09'.

Case of multiple products

Suppose


  \{ A_1, A_2, \cdots, A_n \}

is an n-tuple of sets, with respective total orderings


  \{ <_1, <_2, \cdots, <_n \}

The dictionary ordering


\ \ <^{d}

of


  A_1 \times A_2 \times \cdots \times A_n

is then


  (a_1, a_2, \dots, a_n) <^d (b_1,b_2, \dots, b_n) \iff
    (\exists\ m > 0) \  (\forall\ i < m) (a_i = b_i) \land (a_m <_m b_m)

That is, if one of the terms


 \ \   a_m <_m b_m

and all the preceding terms are equal.

Informally,


 \ \  a_1

represents the first letter,


 \ \  a_2

the second and so on when looking up a word in a dictionary, hence the name.

This could be more elegantly stated by recursively defining the ordering of any set


 \ \   C= A_j \times A_{j+1} \times \cdots \times A_k

represented by


 \ \   <^d (C)

This will satisfy


  a <^d (A_i) a'  \iff (a <_i a')

  (a,b) <^d (A_i \times B) (a',b') \iff
    a <^d (A_i) a' \lor ( a=a' \  \land \ b <^d (B) b')

where 
  B = A_{i+1} \times A_{i+2} \times \cdots \times A_n.

To put it more simply, compare the first terms. If they are equal, compare the second terms – and so on. The relationship between the first corresponding terms that are not equal determines the relationship between the entire elements.

Groups and vector spaces

If the component sets are ordered groups then the result is a non-Archimedean group, because e.g. n(0,1) < (1,0) for all n.

If the component sets are ordered vector spaces over R (in particular just R), then the result is also an ordered vector space.

Ordering of sequences of various lengths

Given a partially ordered set A, the above considerations allow to define naturally a lexicographical partial order < d over the free monoid A* formed by the set of all finite sequences of elements in A, with sequence concatenation as the monoid operation, as follows:

u < dv if
  • u is a prefix of v, or
  • u = wau' and v = wbv', where w is the longest common prefix of u and v, a and b are members of A such that a < b, and u' and v' are members of A*.

If < is a total order on A, then so is the lexicographic order <d on A*. If A is a finite and totally ordered alphabet, A* is the set of all words over A, and we retrieve the notion of dictionary ordering used in lexicography that gave its name to the lexicographic orderings. However, in general this is not a well-order, even though it is on the alphabet A; for instance, if A = {a, b}, the language {anb | n ≥ 0} has no least element: ... <d aab <d ab <d b. A well-order for strings, based on the lexicographical order, is the shortlex order.

Similarly we can also compare a finite and an infinite string, or two infinite strings.

Comparing strings of different lengths can also be modeled as comparing strings of infinite length by right-padding finite strings with blank spaces, if, as usual, the blank space is the least element of the alphabet (or, if it is originally not in the alphabet, adding it as least element).

Generalization

Consider the set of functions f from a well-ordered set X to a totally ordered set Y. For two such functions f and g, the order is determined by the values for the smallest x such that f(x) ≠ g(x).

If Y is also well-ordered and X is finite, then the resulting order is a well-order. As already shown above, if X is infinite this is in general not the case.

If X is infinite and Y has more than one element, then the resulting set YX is not a countable set, see also cardinal exponentiation.

Alternatively, consider the functions f from an inversely well-ordered X to a well-ordered Y with minimum 0, restricted to those that are non-zero at only a finite subset of X. The result is well-ordered. Correspondingly we can also consider a well-ordered X and apply lexicographical order where a higher x is a more significant position. This corresponds to exponentiation of ordinal numbers YX. If X and Y are countable then the resulting set is also countable.

Monomials

In algebra it is traditional to order terms in a polynomial, by ordering the monomials in the indeterminates. This is fundamental, to have a normal form. Such matters are typically left implicit in discussion between humans, but must of course be dealt with exactly in computer algebra. In practice one has an alphabet of indeterminates X, Y, ... and orders all monomials formed from them by a variant of lexicographical order. For example if one decides to order the alphabet by

X < Y < ...

and also to look at higher terms first, that means ordering

... < X3 < X2 < X

and also

X < Yk for all k.

There is some flexibility in ordering monomials, and this can be exploited in Gröbner basis theory.

Decimal fractions

For decimal fractions from the decimal point, a < b applies equivalently for the numerical order and the lexicographic order, provided that numbers with a recurring decimal 9 like .399999... are not included in the set of strings representing numbers. With that restriction there is an order-preserving bijection between the strings and the numbers.

Reverse lexicographic order

In a common variation of lexicographic order, one compares elements by reading from the right instead of from the left, i.e., the right-most component is the most significant, e.g. applied in a rhyming dictionary.

In the case of monomials one may sort the exponents downward, with the exponent of the first base variable as primary sort key, e.g.:

x2yz2 < xy3z2.

Alternatively, sorting may be done by the sum of the exponents, downward.

See also


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Look at other dictionaries:

  • Order — Contents 1 Ordinality 2 Philosophy 3 Science 4 Mathe …   Wikipedia

  • Order (sort) — An order is a way of sorting entries, also called elements, in a list. The mathematical concept of linear order is closely related.* Chronological order mdash; listing by time, earliest to latest. (first, next, then, etc.) * Lexicographical order …   Wikipedia

  • Total order — In set theory, a total order, linear order, simple order, or (non strict) ordering is a binary relation (here denoted by infix ≤) on some set X. The relation is transitive, antisymmetric, and total. A set paired with a total order is called a… …   Wikipedia

  • Monomial order — In mathematics, a monomial order is a total order on the set of all (monic) monomials in a given polynomial ring, satisfying the following two properties: If u < v and w is any other monomial, then uw<vw. In other words, the ordering… …   Wikipedia

  • Colexicographical order — In mathematics, the colexicographic or colex order, is a natural order structure of the Cartesian product of two or more ordered sets. It is similar in structure to the lexicographical order. Colexicographical ordering is used in the Kruskal… …   Wikipedia

  • Product order — In mathematics, given two ordered sets A and B, one can induce a partial ordering on the Cartesian product A × B. Given two pairs (a1,b1) and (a2,b2) in A × B, one sets (a1,b1) ≤ (a2,b2) if and only if a1 ≤ a2 and b1 ≤ b2. This ordering is called …   Wikipedia

  • Shortlex order — The shortlex (or radix, or length plus lexicographic) order is an ordering for ordered sets of objects, where the sequences are primarily sorted by cardinality (length) with the shortest sequences first, and sequences of the same length are… …   Wikipedia

  • Dominance order — Example of dominance ordering of partitions of n. Here, n = 6, nodes are partitions of 6, edges indicate that the upper node dominates the lower node. While this particular partial ordering is graded, this is not true for the dominance ordering… …   Wikipedia

  • On-Line Encyclopedia of Integer Sequences — URL oeis.org Created by Neil Sloane Launched 1996 ( …   Wikipedia

  • String (computer science) — In formal languages, which are used in mathematical logic and theoretical computer science, a string is a finite sequence of symbols that are chosen from a set or alphabet. In computer programming, a string is traditionally a sequence of… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”