Canonical form

Last updated
Algorithmic anagram test using multisets as canonical forms: The strings "madam curie" and "radium came" are given as C arrays. Each one is converted into a canonical form by sorting. Since both sorted strings literally agree, the original strings were anagrams of each other. Anagram canonical svg.svg
Algorithmic anagram test using multisets as canonical forms: The strings "madam curie" and "radium came" are given as C arrays. Each one is converted into a canonical form by sorting. Since both sorted strings literally agree, the original strings were anagrams of each other.

In mathematics and computer science, a canonical, normal, or standardform 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 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. [1]

Contents

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:

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 (with canonicalization being the process through which a representation is put into its canonical form). [2] 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 that is defined in a natural (canonical) way.

Definition

Given a set S of objects with an equivalence relation 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:SS such that for all s, s1, s2S:

  1. c(s) = c(c(s))   (idempotence),
  2. s1Rs2 if and only if c(s1) = c(s2)   (decisiveness), and
  3. sRc(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, 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 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.

History

According to OED and LSJ, the term canonical stems from the Ancient Greek word kanonikós ( κανονικός , "regular, according to rule") from kanṓn ( κᾰνών , "rod, rule"). The sense of norm, standard, or archetype has been used in many disciplines. Mathematical usage is attested in a 1738 letter from Logan. [3] The German term kanonische Form is attested in a 1846 paper by Eisenstein, [4] later the same year Richelot uses the term Normalform in a paper, [5] and in 1851 Sylvester writes: [6]

"I now proceed to [...] the mode of reducing Algebraical Functions to their simplest and most symmetrical, or as my admirable friend M. Hermite well proposes to call them, their Canonical forms."

In the same period, usage is attested by Hesse ("Normalform"), [7] Hermite ("forme canonique"), [8] Borchardt ("forme canonique"), [9] and Cayley ("canonical form"). [10]

In 1865, the Dictionary of Science, Literature and Art defines canonical form as:

"In Mathematics, denotes a form, usually the simplest or most symmetrical, to which, without loss of generality, all functions of the same class can be reduced."

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.

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. [11]

Number theory

Linear algebra

ObjectsA is equivalent to B if:Normal formNotes
Normal matrices over the complex numbers for some unitary matrix U Diagonal matrices (up to reordering)This is the Spectral theorem
Matrices over the complex numbers for some unitary matrices U and VDiagonal matrices with real positive entries (in descending order) Singular value decomposition
Matrices over an algebraically closed field for some invertible matrix P Jordan normal form (up to reordering of blocks)
Matrices over an algebraically closed field for some invertible matrix P Weyr canonical form (up to reordering of blocks)
Matrices over a field for some invertible matrix P Frobenius normal form
Matrices over a principal ideal domain for some invertible matrices P and Q Smith normal form The equivalence is the same as allowing invertible elementary row and column transformations
Matrices over the integers for some unimodular matrix U Hermite normal form
Matrices over the integers modulo n Howell normal form
Finite-dimensional vector spaces over a field KA and B are isomorphic as vector spaces, n a non-negative integer

Algebra

ObjectsA is equivalent to B if:Normal form
Finitely generated R-modules with R a principal ideal domain A and B are isomorphic as R-modules Primary decomposition (up to reordering) or invariant factor decomposition

Geometry

In analytic geometry:

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.

Convex polyhedra can be put into canonical form such that:

Integrable systems

Every differentiable manifold has a cotangent bundle. That bundle can always be endowed with a certain differential form, called the canonical one-form. This form gives the cotangent bundle the structure of a symplectic manifold, and allows vector fields on the manifold to be integrated by means of the Euler-Lagrange equations, or by means of Hamiltonian mechanics. Such systems of integrable differential equations are called integrable systems.

Dynamical systems

The study of dynamical systems 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, the second fundamental form and the third fundamental form.

Functional analysis

ObjectsA is equivalent to B if:Normal form
Hilbert spaces If A and B are both Hilbert spaces of infinite dimension, then A and B are isometrically isomorphic. sequence spaces (up to exchanging the index set I with another index set of the same cardinality)
Commutative C*-algebras with unitA and B are isomorphic as C*-algebrasThe algebra of continuous functions on a compact Hausdorff space, up to homeomorphism of the base space.

Classical logic

Set theory

Game theory

Proof theory

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

Graph theory

In graph theory, 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 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: 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, the reduction of data to any kind of canonical form is commonly called data normalization.

For instance, database normalization is the process of organizing the fields and tables of a relational database to minimize redundancy and dependency. [13]

In the field of software security, a common vulnerability is unchecked malicious input (see Code injection ). The mitigation for this problem is proper input validation. 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.

Other forms of data, typically associated with signal processing (including audio and imaging) or machine learning, can be normalized in order to provide a limited range of values.

In content management, the concept of a single source of truth (SSOT) is applicable, just as it is in database normalization generally and in software development. Competent content management systems provide logical ways of obtaining it, such as transclusion.

See also

Notes

  1. In some occasions, the term "canonical" and "normal" can also be used interchangeably, as in Jordan canonical form and Jordan normal form (see Jordan normal form on MathWorks).
  2. The term 'canonization' is sometimes incorrectly used for this.
  3. Letter from James Logan to William Jones, Correspondence of Scientific Men of the Seventeenth Century. University Press. 1841. ISBN   978-1-02-008678-6.
  4. "Journal für die reine und angewandte Mathematik 1846". de Gruyter.
  5. Journal für die reine und angewandte Mathematik 1846. de Gruyter.
  6. "The Cambridge and Dublin mathematical journal 1851". Macmillan.
  7. Hesse, Otto (1865). "Vorlesungen aus der analytischen Geometrie der geraden Linie, des Punktes und des Kreises in der Ebene" (in German). Teubner.
  8. "The Cambridge and Dublin mathematical journal 1854". 1854.
  9. "Journal für die reine und angewandte Mathematik, 1854". de Gruyter.
  10. Cayley, Arthur (1889). The Collected Mathematical Papers. University. ISBN   978-1-4181-8586-2.
  11. "Big Numbers and Scientific Notation". Teaching Quantitative Literacy. Retrieved 2019-11-20.
  12. Ziegler, Günter M. (1995), Lectures on Polytopes, Graduate Texts in Mathematics, vol. 152, Springer-Verlag, pp. 117–118, ISBN   0-387-94365-X
  13. "Description of the database normalization basics". support.microsoft.com. Retrieved 2019-11-20.

Related Research Articles

<span class="mw-page-title-main">Equivalence relation</span> Mathematical concept for comparing objects

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 equality. Any number is equal to itself (reflexive). If , then (symmetric). If and , then (transitive).

<span class="mw-page-title-main">Equivalence class</span> Mathematical concept

In mathematics, when the elements of some set have a notion of equivalence, then one may naturally split the set into equivalence classes. These equivalence classes are constructed so that elements and belong to the same equivalence class if, and only if, they are equivalent.

<span class="mw-page-title-main">Isomorphism</span> Inversible mapping (mathematics)

In mathematics, an isomorphism is a structure-preserving mapping 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 them. The word is derived from Ancient Greek ἴσος (isos) 'equal' and μορφή (morphe) 'form, shape'.

<span class="mw-page-title-main">Equality (mathematics)</span> Basic notion of sameness in mathematics

In mathematics, equality is a relationship between two quantities or expressions, stating that they have the same value, or represent the same mathematical object. Equality between A and B is written A = B, and pronounced "A equals B". In this equality, A and B are distinguished by calling them left-hand side (LHS), and right-hand side (RHS). Two objects that are not equal are said to be distinct.

<span class="mw-page-title-main">Geodesic</span> Straight path on a curved surface or a Riemannian manifold

In geometry, a geodesic is a curve representing in some sense the shortest path (arc) between two points in a surface, or more generally in a Riemannian manifold. The term also has meaning in any differentiable manifold with a connection. It is a generalization of the notion of a "straight line".

Discrete mathematics is the study of mathematical structures that are fundamentally discrete rather than continuous. In contrast to real numbers that have the property of varying "smoothly", the objects studied in discrete mathematics – such as integers, graphs, and statements in logic – do not vary smoothly in this way, but have distinct, separated values. Discrete mathematics, therefore, excludes topics in "continuous mathematics" such as calculus and analysis.

In mathematics, computer science, and logic, rewriting covers a wide range of methods of replacing subterms of a formula with other terms. Such methods may be achieved by rewriting systems. In their most basic form, they consist of a set of objects, plus relations on how to transform those objects.

In mathematics, a duality translates concepts, theorems or mathematical structures into other concepts, theorems or structures in a one-to-one fashion, often by means of an involution operation: if the dual of A is B, then the dual of B is A. In other cases the dual of the dual – the double dual or bidual – is not necessarily identical to the original. Such involutions sometimes have fixed points, so that the dual of A is A itself. For example, Desargues' theorem is self-dual in this sense under the standard duality in projective geometry.

The Knuth–Bendix completion algorithm is a semi-decision algorithm for transforming a set of equations into a confluent term rewriting system. When the algorithm succeeds, it effectively solves the word problem for the specified algebra.

In mathematics and the foundations of quantum mechanics, the projective Hilbert space or ray space of a complex Hilbert space is the set of equivalence classes of non-zero vectors , for the equivalence relation on given by

In differential geometry, a field in mathematics, a Poisson manifold is a smooth manifold endowed with a Poisson structure. The notion of Poisson manifold generalises that of symplectic manifold, which in turn generalises the phase space from Hamiltonian mechanics.

<span class="mw-page-title-main">Confluence (abstract rewriting)</span>

In computer science and mathematics, confluence is a property of rewriting systems, describing which terms in such a system can be rewritten in more than one way, to yield the same result. This article describes the properties in the most abstract setting of an abstract rewriting system.

In computational mathematics, a word problem is the problem of deciding whether two given expressions are equivalent with respect to a set of rewriting identities. A prototypical example is the word problem for groups, but there are many other instances as well. A deep result of computational theory is that answering this question is in many important cases undecidable.

In mathematics, a classification theorem answers the classification problem: "What are the objects of a given type, up to some equivalence?". It gives a non-redundant enumeration: each object is equivalent to exactly one class.

In abstract rewriting, an object is in normal form if it cannot be rewritten any further, i.e. it is irreducible. Depending on the rewriting system, an object may rewrite to several normal forms or none at all. Many properties of rewriting systems relate to normal forms.

In mathematics, in the theory of rewriting systems, Newman's lemma, also commonly called the diamond lemma, states that a terminating abstract rewriting system (ARS), that is, one in which there are no infinite reduction sequences, is confluent if it is locally confluent. In fact a terminating ARS is confluent precisely when it is locally confluent.

<span class="mw-page-title-main">Computer algebra</span> Scientific area at the interface between computer science and mathematics

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 mathematical expressions and other mathematical objects. Although computer algebra could be considered a subfield of scientific computing, they are generally considered as distinct fields because scientific computing is usually based on numerical computation with approximate floating point numbers, while symbolic computation emphasizes exact computation with expressions containing variables that have no given value and are manipulated as symbols.

In mathematical logic and theoretical computer science, an abstract rewriting system is a formalism that captures the quintessential notion and properties of rewriting systems. In its simplest form, an ARS is simply a set together with a binary relation, traditionally denoted with ; this definition can be further refined if we index (label) subsets of the binary relation. Despite its simplicity, an ARS is sufficient to describe important properties of rewriting systems like normal forms, termination, and various notions of confluence.

In mathematical logic, a term denotes a mathematical object while a formula denotes a mathematical fact. In particular, terms appear as components of a formula. This is analogous to natural language, where a noun phrase refers to an object and a whole sentence refers to a fact.

In computer science, algebraic semantics is a form of axiomatic semantics based on algebraic laws for describing and reasoning about program specifications in a formal manner.

References