Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Canonical form
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Standard representation of a mathematical object}} {{for|"canonical form" in linguistics|Lemma (morphology)}} {{for|"canonical form" in Catholic matrimonial law|Marriage in the Catholic Church#Canonical form}} {{refimprove|date=December 2007}} [[File:Anagram canonical svg.svg|thumb|Algorithmic [[anagram]] test using [[multiset]]s as canonical forms: The strings "<samp>madam curie</samp>" and "<samp>radium came</samp>" are given as [[C (programming language)|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 '''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 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.<ref>In some occasions, the term "canonical" and "normal" can also be used interchangeably, as in Jordan canonical form and Jordan normal form (see [https://www.mathworks.com/help/symbolic/sym.jordan.html Jordan normal form on MathWorks]).</ref> 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]]. *The [[row echelon form]] is a canonical form, when one considers 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 (with [[canonicalization]] being the process through which a representation is put into its canonical form).<ref>The term 'canonization' is sometimes incorrectly used for this.</ref> 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.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)