In mathematics and computer science, a canonical, normal, or standard form of a
mathematical object is a standard way of presenting that object as a mathematical
expression. The distinction between "canonical" and "normal" forms varies by
subfield. In most fields, a canonical form specifies a unique representation
for every object, while a normal form simply specifies its form, without the
requirement of uniqueness. The canonical form of a positive integer
in decimal representation is a finite sequence of digits that does not begin
with zero. More generally, for a class of objects
on which an equivalence relation is defined, a canonical form consists in
the choice of a specific object in each class. For example, Jordan normal form
is a canonical form for matrix similarity, and the row echelon form is
a canonical form, when one consider as equivalent a matrix and its left product
by an invertible matrix. In computer science, and more
specifically in computer algebra, when representing mathematical objects in a
computer, there are usually many different ways to represent the same
object. In this context, a canonical form is a representation such that every
object has a unique representation. Thus, the equality of two objects can
easily be tested by testing the equality of their canonical forms. However
canonical forms frequently depend on arbitrary choices, and this introduces
difficulties for testing the equality of two objects resulting on independent
computations. Therefore, in computer algebra, normal form is a weaker notion:
A normal form is a representation such that zero is uniquely represented. This
allows testing for equality by putting the difference of two objects in normal
form. Canonical form can also mean a
differential form that is defined in a natural way.
In computer science, data that has more than one possible representation can
often be canonicalized into a completely unique representation called its
canonical form. Putting something into canonical form is canonicalization.
Definition Suppose we have some set S of objects,
with an equivalence relation. A canonical form is given by designating
some objects of S to be "in canonical form", such that every object under
consideration is equivalent to exactly one object in canonical form. In other
words, the canonical forms in S represent the equivalence classes, once
and only once. To test whether two objects are equivalent, it then suffices
to test their canonical forms for equality. A canonical form thus provides
a classification theorem and more, in that it not just classifies every class,
but gives a distinguished representative.
In practical terms, one wants to be able to recognize the canonical forms. There
is also a practical, algorithmic question to consider: how to pass from a
given object s in S to its canonical form s*? Canonical forms are generally
used to make operating with equivalence classes more effective. For example in
modular arithmetic, the canonical form for a residue class is usually taken as
the least non-negative integer in it. Operations on classes are carried out by
combining these representatives and then reducing the result to its least
non-negative residue. The uniqueness requirement is sometimes relaxed,
allowing the forms to be unique up to some finer equivalence relation, like
allowing reordering of terms. A canonical form may simply be a
convention, or a deep theorem. For example, polynomials are
conventionally written with the terms in descending powers: it is more usual to
write x2 + x + 30 than x + 30 + x2, although the two forms define the same
polynomial. By contrast, the existence of Jordan canonical form for a matrix is
a deep theorem. Examples
Note: in this section, "up to" some equivalence relation E means that the
canonical form is not unique in general, but that if one object has two different
canonical forms, they are E-equivalent. = Linear algebra=
= Classical logic= Negation normal form
Conjunctive normal form Disjunctive normal form
Algebraic normal form Prenex normal form
Skolem normal form Blake canonical form, also known as the
complete sum of prime implicants, the complete sum, or the disjunctive prime
form = Functional analysis=
= Number theory= canonical representation of a positive
integer canonical form of a continued fraction
= Algebra= = Geometry=
The equation of a line: Ax + By = C, with A2 + B2 = 1 and C ≥ 0
The equation of a circle: By contrast, there are alternative forms
for writing equations. For example, the equation of a line may be written as a
linear equation in point-slope and slope-intercept form.
= Mathematical notation= Standard form is used by many
mathematicians and scientists to write extremely large numbers in a more
concise and understandable way. = Set theory=
Cantor normal form of an ordinal number = Game theory=
Normal form game = Proof theory=
Normal form = Rewriting systems=
In an abstract rewriting system a normal form is an irreducible object.
= Lambda calculus= Beta normal form if no beta reduction is
possible; Lambda calculus is a particular case of an abstract rewriting
system. = Dynamical systems=
Normal form of a bifurcation = Graph theory=
= Differential forms= Canonical differential forms include the
canonical one-form and canonical symplectic form, important in the study
of Hamiltonian mechanics and symplectic manifolds.
= Computation= Data normalization
See also Canonical basis
Canonical class Normalization
Standardization Notes
^ The term 'canonization' is sometimes incorrectly used for this.
References Shilov, Georgi E., Silverman, Richard
A., ed., Linear Algebra, Dover, ISBN 0-486-63518-X .
Hansen, Vagn Lundsgaard, Functional Analysis: Entering Hilbert Space, World
Scientific Publishing, ISBN 981-256-563-9 .