
In
mathematics
Mathematics is a field of study that discovers and organizes methods, Mathematical theory, theories and theorems that are developed and Mathematical proof, proved for the needs of empirical sciences and mathematics itself. There are many ar ...
and
computer science
Computer science is the study of computation, information, and automation. Computer science spans Theoretical computer science, theoretical disciplines (such as algorithms, theory of computation, and information theory) to Applied science, ...
, a canonical, normal, or standard form of a
mathematical object
A mathematical object is an abstract concept arising in mathematics. Typically, a mathematical object can be a value that can be assigned to a Glossary of mathematical symbols, symbol, and therefore can be involved in formulas. Commonly encounter ...
is a standard way of presenting that object as a
mathematical expression
In mathematics, an expression is a written arrangement of symbols following the context-dependent, syntactic conventions of mathematical notation. Symbols can denote numbers, variables, operations, and functions. Other symbols include punct ...
. Often, it is one which provides the simplest representation of an object and allows it to be identified in a unique way. The distinction between "canonical" and "normal" forms varies from subfield to 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 mathematics, the natural numbers are the numbers 0, 1, 2, 3, and so on, possibly excluding 0. Some start counting with 0, defining the natural numbers as the non-negative integers , while others start with 1, defining them as the positiv ...
in
decimal representation
A decimal representation of a non-negative real number is its expression as a sequence of symbols consisting of decimal digits traditionally written with a single separator:
r = b_k b_\cdots b_0.a_1a_2\cdots
Here is the decimal separator, ...
is a finite sequence of digits that does not begin with zero. More generally, for a class of objects on which an
equivalence relation
In mathematics, an equivalence relation is a binary relation that is reflexive, symmetric, and transitive. The equipollence relation between line segments in geometry is a common example of an equivalence relation. A simpler example is equ ...
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.
*The
row echelon form is a canonical form, when one considers as equivalent a matrix and its left product by an
invertible matrix
In linear algebra, an invertible matrix (''non-singular'', ''non-degenarate'' or ''regular'') is a square matrix that has an inverse. In other words, if some other matrix is multiplied by the invertible matrix, the result can be multiplied by a ...
.
In computer science, and more specifically in
computer algebra
In mathematics and computer science, computer algebra, also called symbolic computation or algebraic computation, is a scientific area that refers to the study and development of algorithms and software for manipulating expression (mathematics), ...
, 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 (with
canonicalization
In computer science, canonicalization (sometimes standardization or Normalization (statistics), normalization) is a process for converting data that has more than one possible representation into a "standard", "normal", or canonical form. This ...
being the process through which a representation is put into its canonical form). Thus, the equality of two objects can easily be tested by testing the equality of their canonical forms.
Despite this advantage, canonical forms frequently depend on arbitrary choices (like ordering the variables), which introduce 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
In mathematics, differential forms provide a unified approach to define integrands over curves, surfaces, solids, and higher-dimensional manifolds. The modern notion of differential forms was pioneered by Élie Cartan. It has many applications ...
that is defined in a natural (canonical) way.
Definition
Given a set ''S'' of objects with an
equivalence relation
In mathematics, an equivalence relation is a binary relation that is reflexive, symmetric, and transitive. The equipollence relation between line segments in geometry is a common example of an equivalence relation. A simpler example is equ ...
''R on S'', 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 equality on their canonical forms.
A canonical form thus provides a
classification theorem and more, in that it not only classifies every class, but also gives a distinguished (canonical)
representative for each object in the class.
Formally, a canonicalization with respect to an equivalence relation ''R'' on a set ''S'' is a mapping ''c'':''S''→''S'' such that for all ''s'', ''s''
1, ''s''
2 ∈ ''S'':
#''c''(''s'') = ''c''(''c''(''s'')) (
idempotence),
#''s''
1 ''R'' ''s''
2 if and only if ''c''(''s''
1) = ''c''(''s''
2) (decisiveness), and
#''s'' ''R'' ''c''(''s'') (representativeness).
Property 3 is redundant; it follows by applying 2 to 1.
In practical terms, it is often advantageous 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
In mathematics, modular arithmetic is a system of arithmetic operations for integers, other than the usual ones from elementary arithmetic, where numbers "wrap around" when reaching a certain value, called the modulus. The modern approach to mo ...
, 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, such as allowing for reordering of terms (if there is no natural ordering on 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 ''x''
2 + ''x'' + 30 than ''x'' + 30 + ''x''
2, although the two forms define the same polynomial. By contrast, the existence of
Jordan canonical form for a matrix is a deep theorem.
History
According to
OED and
LSJ, the term ''
canonical'' stems from the
Ancient Greek
Ancient Greek (, ; ) includes the forms of the Greek language used in ancient Greece and the classical antiquity, ancient world from around 1500 BC to 300 BC. It is often roughly divided into the following periods: Mycenaean Greek (), Greek ...
word ''kanonikós'' (''
κανονικός'', "regular, according to rule") from ''kanṓn'' (''
κᾰνών'', "rod, rule"). The sense of
norm,
standard, or
archetype
The concept of an archetype ( ) appears in areas relating to behavior, historical psychology, philosophy and literary analysis.
An archetype can be any of the following:
# a statement, pattern of behavior, prototype, "first" form, or a main mo ...
has been used in many disciplines. Mathematical usage is attested in a 1738 letter from
Logan. The German term ''kanonische Form'' is attested in a 1846 paper by
Eisenstein, later the same year
Richelot uses the term ''Normalform'' in a paper, and in 1851
Sylvester
Sylvester or Silvester is a name derived from the Latin adjective ''silvestris'' meaning "wooded" or "wild", which derives from the noun ''silva'' meaning "woodland". Classical Latin spells this with ''i''. In Classical Latin, ''y'' represented a ...
writes:
In the same period, usage is attested by
Hesse
Hesse or Hessen ( ), officially the State of Hesse (), is a States of Germany, state in Germany. Its capital city is Wiesbaden, and the largest urban area is Frankfurt, which is also the country's principal financial centre. Two other major hist ...
("Normalform"),
Hermite ("forme canonique"),
Borchardt ("forme canonique"), and
Cayley ("canonical form").
In 1865, the
Dictionary of Science, Literature and Art defines canonical form as:
Examples
Note: in this section, "
up to Two Mathematical object, mathematical objects and are called "equal up to an equivalence relation "
* if and are related by , that is,
* if holds, that is,
* if the equivalence classes of and with respect to are equal.
This figure of speech ...
" 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.
Large number notation
Standard form is used by many mathematicians and scientists to write extremely
large numbers in a more concise and understandable way, the most prominent of which being the
scientific notation
Scientific notation is a way of expressing numbers that are too large or too small to be conveniently written in decimal form, since to do so would require writing out an inconveniently long string of digits. It may be referred to as scientif ...
.
Number theory
*
Canonical representation of a positive integer
*The canonical form of a
continued fraction for representing a number is the
simple continued fraction
A simple or regular continued fraction is a continued fraction with numerators all equal one, and denominators built from a sequence \ of integer numbers. The sequence can be finite or infinite, resulting in a finite (or terminated) continued fr ...
Linear algebra
Algebra
Geometry
In
analytic geometry
In mathematics, analytic geometry, also known as coordinate geometry or Cartesian geometry, is the study of geometry using a coordinate system. This contrasts with synthetic geometry.
Analytic geometry is used in physics and engineering, and als ...
:
*The equation of a line: ''Ax'' + ''By'' = ''C'', with ''A
2'' + ''B''
2 = 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 mathematics, a linear equation is an equation that may be put in the form
a_1x_1+\ldots+a_nx_n+b=0, where x_1,\ldots,x_n are the variables (or unknowns), and b,a_1,\ldots,a_n are the coefficients, which are often real numbers. The coeffici ...
in
point-slope and
slope-intercept form.
Convex polyhedra can be put into
canonical form
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. Often, it is one which provides the simplest representation of an obje ...
such that:
*All faces are flat,
*All edges are tangent to the unit sphere, and
*The centroid of the polyhedron is at the origin.
Integrable systems
Every differentiable
manifold
In mathematics, a manifold is a topological space that locally resembles Euclidean space near each point. More precisely, an n-dimensional manifold, or ''n-manifold'' for short, is a topological space with the property that each point has a N ...
has a
cotangent bundle. That bundle can always be endowed with a certain
differential form
In mathematics, differential forms provide a unified approach to define integrands over curves, surfaces, solids, and higher-dimensional manifolds. The modern notion of differential forms was pioneered by Élie Cartan. It has many applications ...
, called the
canonical one-form
In mathematics, the tautological one-form is a special 1-form defined on the cotangent bundle T^Q of a manifold Q. In physics, it is used to create a correspondence between the velocity of a point in a mechanical system and its momentum, thus pro ...
. This form gives the cotangent bundle the structure of a
symplectic manifold
In differential geometry, a subject of mathematics, a symplectic manifold is a smooth manifold, M , equipped with a closed nondegenerate differential 2-form \omega , called the symplectic form. The study of symplectic manifolds is called sy ...
, and allows vector fields on the manifold to be integrated by means of the
Euler-Lagrange equations, or by means of
Hamiltonian mechanics
In physics, Hamiltonian mechanics is a reformulation of Lagrangian mechanics that emerged in 1833. Introduced by Sir William Rowan Hamilton, Hamiltonian mechanics replaces (generalized) velocities \dot q^i used in Lagrangian mechanics with (gener ...
. Such systems of integrable
differential equations are called
integrable systems.
Dynamical systems
The study of
dynamical systems
In mathematics, a dynamical system is a system in which a Function (mathematics), function describes the time dependence of a Point (geometry), point in an ambient space, such as in a parametric curve. Examples include the mathematical models ...
overlaps with that of
integrable systems; there one has the idea of a
normal form (dynamical systems).
Three dimensional geometry
In the study of manifolds in three dimensions, one has the
first fundamental form
In differential geometry, the first fundamental form is the inner product on the tangent space of a surface in three-dimensional Euclidean space which is induced canonically from the dot product of . It permits the calculation of curvature and ...
, the
second fundamental form and the
third fundamental form.
Functional analysis
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
Set theory
*
Cantor normal form of an
ordinal number
In set theory, an ordinal number, or ordinal, is a generalization of ordinal numerals (first, second, th, etc.) aimed to extend enumeration to infinite sets.
A finite set can be enumerated by successively labeling each element with the leas ...
Game theory
*
Normal form game
Proof theory
*
Normal form (natural deduction)
Rewriting systems
The symbolic manipulation of a formula from one form to another is called a "rewriting" of that formula. One can study the abstract properties of rewriting generic formulas, by studying the collection of rules by which formulas can be validly manipulated. These are the "rewriting rules"—an integral part of an
abstract rewriting system. A common question is whether it is possible to bring some generic expression to a single, common form, the normal form. If different sequences of rewrites still result in the same form, then that form can be termed a normal form, with the rewrite being called a confluent. It is not always possible to obtain a normal form.
Lambda calculus
*A lambda term is in
beta normal form In lambda calculus, a term is in beta normal form if no '' beta reduction'' is possible. A term is in beta-eta normal form if neither a beta reduction nor an '' eta reduction'' is possible. A term is in head normal form if there is no ''beta-redex ...
if no beta reduction is possible;
lambda calculus
In mathematical logic, the lambda calculus (also written as ''λ''-calculus) is a formal system for expressing computability, computation based on function Abstraction (computer science), abstraction and function application, application using var ...
is a particular case of an abstract rewriting system. In the untyped lambda calculus, for example, the term
does not have a normal form. In the typed lambda calculus, every well-formed term can be rewritten to its normal form.
Graph theory
In
graph theory
In mathematics and computer science, graph theory is the study of ''graph (discrete mathematics), graphs'', which are mathematical structures used to model pairwise relations between objects. A graph in this context is made up of ''Vertex (graph ...
, a branch of mathematics, graph canonization is the problem of finding a canonical form of a given graph ''G''. A canonical form is a
labeled graph Canon(''G'') that is
isomorphic
In mathematics, an isomorphism is a structure-preserving mapping or morphism 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 the ...
to ''G'', such that every graph that is isomorphic to ''G'' has the same canonical form as ''G''. Thus, from a solution to the graph canonization problem, one could also solve the problem of
graph isomorphism
In graph theory, an isomorphism of graphs ''G'' and ''H'' is a bijection between the vertex sets of ''G'' and ''H''
: f \colon V(G) \to V(H)
such that any two vertices ''u'' and ''v'' of ''G'' are adjacent in ''G'' if and only if f(u) and f(v) a ...
: to test whether two graphs ''G'' and ''H'' are isomorphic, compute their canonical forms Canon(''G'') and Canon(''H''), and test whether these two canonical forms are identical.
Computing
In
computing
Computing is any goal-oriented activity requiring, benefiting from, or creating computer, computing machinery. It includes the study and experimentation of algorithmic processes, and the development of both computer hardware, hardware and softw ...
, the reduction of data to any kind of canonical form is commonly called ''data normalization''.
For instance,
database normalization
Database normalization is the process of structuring a relational database in accordance with a series of so-called '' normal forms'' in order to reduce data redundancy and improve data integrity. It was first proposed by British computer scien ...
is the process of organizing the
fields and
tables of a
relational database
A relational database (RDB) is a database based on the relational model of data, as proposed by E. F. Codd in 1970.
A Relational Database Management System (RDBMS) is a type of database management system that stores data in a structured for ...
to minimize
redundancy and dependency.
In the field of
software security
Application security (short AppSec) includes all tasks that introduce a secure software development life cycle to development teams. Its final goal is to improve security practices and, through that, to find, fix and preferably prevent security is ...
, a common
vulnerability
Vulnerability refers to "the quality or state of being exposed to the possibility of being attacked or harmed, either physically or emotionally." The understanding of social and environmental vulnerability, as a methodological approach, involves ...
is unchecked malicious input (see ''
Code injection''). The mitigation for this problem is proper
input validation
In computing, data validation or input validation is the process of ensuring data has undergone data cleansing to confirm it has data quality, that is, that it is both correct and useful. It uses routines, often called "validation rules", "valida ...
. Before input validation is performed, the input is usually normalized by eliminating encoding (e.g.,
HTML encoding) and reducing the input data to a single common
character set
Character encoding is the process of assigning numbers to graphical characters, especially the written characters of human language, allowing them to be stored, transmitted, and transformed using computers. The numerical values that make up a c ...
.
Other forms of data, typically associated with
signal processing
Signal processing is an electrical engineering subfield that focuses on analyzing, modifying and synthesizing ''signals'', such as audio signal processing, sound, image processing, images, Scalar potential, potential fields, Seismic tomograph ...
(including
audio and
imaging
Imaging is the representation or reproduction of an object's form; especially a visual representation (i.e., the formation of an image).
Imaging technology is the application of materials and methods to create, preserve, or duplicate images.
...
) or
machine learning
Machine learning (ML) is a field of study in artificial intelligence concerned with the development and study of Computational statistics, statistical algorithms that can learn from data and generalise to unseen data, and thus perform Task ( ...
, can be normalized in order to provide a limited range of values.
In
content management
Content management (CM) are a set of processes and technologies that support the collection, managing, and publishing of information in any form or medium. When stored and accessed via computers, this information may be more specifically referre ...
, the concept of a
single source of truth (SSOT) is applicable, just as it is in
database normalization
Database normalization is the process of structuring a relational database in accordance with a series of so-called '' normal forms'' in order to reduce data redundancy and improve data integrity. It was first proposed by British computer scien ...
generally and in
software development
Software development is the process of designing and Implementation, implementing a software solution to Computer user satisfaction, satisfy a User (computing), user. The process is more encompassing than Computer programming, programming, wri ...
. Competent
content management system
A content management system (CMS) is computer software used to manage the creation and modification of digital content ( content management).''Managing Enterprise Content: A Unified Content Strategy''. Ann Rockley, Pamela Kostur, Steve Manning. New ...
s provide logical ways of obtaining it, such as
transclusion.
See also
*
Canonicalization
In computer science, canonicalization (sometimes standardization or Normalization (statistics), normalization) is a process for converting data that has more than one possible representation into a "standard", "normal", or canonical form. This ...
*
Canonical basis
*
Canonical class
*
Normalization (disambiguation)
*
Standardization
Standardization (American English) or standardisation (British English) is the process of implementing and developing technical standards based on the consensus of different parties that include firms, users, interest groups, standards organiza ...
Notes
References
*.
*{{citation , last=Hansen , first=Vagn Lundsgaard , title = Functional Analysis: Entering Hilbert Space , date=2006 , publisher=World Scientific Publishing , isbn=981-256-563-9.
Algebra
Concepts in logic
Mathematical terminology
Formalism (deductive)