Dual number: Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
en>Rgdboer
m mv ref inline, lk Dual quaternion in lede, lk Exponential mapping
en>Quondum
Algebraic properties: Removal of unnecessary qualifier "nonzero" when describing the zero divisors
Line 1: Line 1:
In [[logic]], [[mathematics]], and [[computer science]], the '''arity''' {{IPAc-en|audio=en-us-arity.ogg|ˈ|æ|r|ɨ|t|i}} of a [[function (mathematics)|function]] or [[operation (mathematics)|operation]] is the number of [[argument of a function|arguments]] or [[operand]]s the function or operation accepts. The arity of a [[relation (mathematics)|relation]] (or [[predicate (mathematical logic)|predicate]]) is the dimension of the [[domain of a function|domain]] in the corresponding [[Cartesian product]]. (A function of arity ''n'' thus has arity ''n''+1 considered as a relation.) The term springs from words like unary, binary, ternary, etc. Unary functions or predicates may be also called "monadic"; similarly, binary functions may be called "dyadic".
My name is Melisa Cleland. I life in Limoges (France).<br><br>my site; [http://Innotomsk.ru/tag/service%20dog%20training%20las%20vegas/ hollywood dog training school]
 
In mathematics arity may also be named ''rank'',<ref name="Hazewinkel2001">{{cite book|author=[[Michiel Hazewinkel]]|title=Encyclopaedia of Mathematics, Supplement III|url=http://books.google.com/books?id=47YC2h295JUC&pg=PA3|year=2001|publisher=Springer|isbn=978-1-4020-0198-7|page=3}}</ref><ref name="Schechter1997">{{cite book|author=Eric Schechter|title=Handbook of Analysis and Its Foundations|url=http://books.google.com/books?id=eqUv3Bcd56EC&pg=PA356|year=1997|publisher=Academic Press|isbn=978-0-12-622760-4|page=356}}</ref> but this word can have many other meanings in mathematics. In logic and philosophy, arity is also called ''adicity'' and ''degree''.<ref name="DetlefsenBacon1999">{{cite book|author1=Michael Detlefsen|author2=David Charles McCarty|author3=John B. Bacon|title=Logic from A to Z|url=http://books.google.com/books?id=pc3E4Xdf2GgC&pg=PP17|year=1999|publisher=Routeledge|isbn=978-0-415-21375-2|page=7}}</ref><ref name="CocchiarellaFreund2008">{{cite book|author1=Nino B. Cocchiarella|author2=Max A. Freund|title=Modal Logic: An Introduction to its Syntax and Semantics|url=http://books.google.com/books?id=zLmxqytfLhgC&pg=PA121|year=2008|publisher=Oxford University Press|isbn=978-0-19-536658-7|page=121}}</ref> In [[linguistics]], arity is usually named ''[[valency (linguistics)|valency]]''.<ref name="Crystal2008">{{cite book|author=David Crystal|title=Dictionary of Linguistics and Phonetics|year=2008|publisher=John Wiley & Sons|isbn=978-1-405-15296-9|page=507|edition=6th}}</ref>
 
In [[computer programming]], there is often a [[Syntax (programming languages)|syntactical]] distinction between [[Operator (programming)|operators]] and [[Function (computer science)|functions]]; syntactical operators usually have arity 0, 1, or 2.  Functions vary widely in the number of arguments, though large numbers can become unwieldy. Some programming languages also offer support for [[variadic functions]], i.e. functions syntactically accepting a variable number of arguments.
 
==Examples==
{{Expand section|more math and logic examples|date=March 2012}}
The term "arity" is rarely employed in everyday usage. For example, rather than saying "the arity of the [[addition]] operation is 2" or "addition is an operation of arity 2" one usually says "addition is a binary operation".
In general, the naming of functions or operators with a given arity follows a convention similar to the one used for ''n''-based [[numeral system]]s such as [[Binary numeral system|binary]] and [[hexadecimal]]. One combines a [[Latin]] prefix with the -ary ending; for example:
* A nullary function takes no arguments.
* A [[unary operation|unary function]] takes one argument.
* A [[binary operation|binary function]] takes two arguments.
* A [[ternary operation|ternary function]] takes three arguments.
* An ''n''-ary function takes ''n'' arguments.
 
===Nullary===
Sometimes it is useful to consider a [[constant (mathematics)|constant]] to be an operation of arity 0, and hence call it ''nullary''.
 
Also, in non-[[functional programming]], a function without arguments can be meaningful and not necessarily constant (due to [[side effect (computer science)|side effect]]s). Often, such functions have in fact some ''hidden input'' which might be [[global variable]]s, including the whole state of the system (time, free memory, ...). The latter are important examples which usually also exist in "purely" functional programming languages.
 
===Unary===
Examples of [[unary operator]]s in mathematics and in programming include the unary minus and plus, the increment and decrement operators in [[C (programming language)|C]]-style languages (not in logical languages), and the [[factorial]], [[Multiplicative inverse|reciprocal]], [[floor function|floor]], [[ceiling function|ceiling]], [[fractional part]], [[sign (mathematics)|sign]], [[absolute value]], [[complex conjugate]], and [[Norm (mathematics)|norm]] functions in mathematics. The [[two's complement]], [[Reference (computer science)|address reference]] and the [[logical NOT]] operators are examples of unary operators in math and programming. According to [[Willard Van Orman Quine|Quine]], a more suitable term is "singulary".<ref>{{Citation
  | last = Quine
  | first = W. V. O.
  | title = Mathematical logic
  | year = 1940
  | place = Cambridge, MA
  | publisher = Harvard University Press
  | page=13
}}</ref>
 
All functions in [[lambda calculus]] and in some [[functional programming language]]s (especially those descended from [[ML (programming language)|ML]]) are technically unary, but see [[#n-ary|n-ary]] below.
 
===Binary===
Most operators encountered in programming are of the [[binary operation|binary]] form. For both programming and mathematics these can be the [[multiplication operator]], the addition operator, the division operator. Logical predicates such as ''OR'', ''[[exclusive or|XOR]]'', ''AND'', ''IMP'' are typically used as binary operators with two distinct operands.
 
===Ternary===
From [[C (programming language)|C]], [[C++]], [[C Sharp (programming language)|C#]], [[Java (programming language)|Java]], [[Perl]] and variants comes the [[ternary operator]] <code>[[?:]]</code>, which is a so-called [[conditional operator]], taking three parameters.
[[Forth (programming language)|Forth]] also contains a ternary operator, <code>*/</code>, which multiplies the first two (one-cell) numbers, dividing by the third, with the intermediate result being a double cell number. This is used when the intermediate result would overflow a single cell.
[[Python (programming language)|Python]] has a ternary conditional statement, <code>x if C else y</code>.
The [[dc (computer program)|dc calculator]] has several ternary operators, such as <tt>|</tt>, which will pop three values from the stack and efficiently compute <math>x^y \mod z</math> with arbitrary precision.
Additionally, many [[assembly language]] instructions are ternary or higher, such as <tt>MOV&nbsp;%AX,&nbsp;(%BX,%CX)</tt>, which will load (MOV) into register <tt>AX</tt> the contents of a calculated memory location that is the sum (parenthesis) of the registers <tt>BX</tt> and <tt>CX</tt>.
<!-- examples section needs complete rewrite, with links and subsection on math, logic and programming -->
 
===''n''-ary===
From a mathematical point of view, a function of ''n'' arguments can always be considered as a function of one single argument which is an element of some [[product space]]. However, it may be convenient for notation to consider ''n''-ary functions, as for example [[multilinear map]]s (which are not linear maps on the product space, if ''n''≠1).
 
The same is true for programming languages, where functions taking several arguments could always be defined as functions taking a single argument of some [[object composition|composite type]] such as a [[tuple]], or in languages with [[higher-order function]]s, by [[currying]].
 
=== Variable arity===
In computer science, a function accepting a variable number of arguments is called ''[[variadic function|variadic]]''. In logic and philosophy, predicates or relations accepting a variable number of arguments are called ''[[multigrade predicate|multigrade]]'', ''[[anadic predicate|anadic]]'', or ''[[variably polyadic predicate|variably polyadic]]''.<ref>{{Cite journal | doi = 10.1093/mind/113.452.609 | last1 = Oliver | first1 = Alex | year = 2004 | title = Multigrade Predicates | url = | journal = Mind | volume = 113 | issue = | pages = 609–681 }}</ref>
 
==Other names==
* ''Nullary'' means 0-ary.
* ''[[Unary operation|Unary]]'' means 1-ary.
* ''[[Binary operation|Binary]]'' means 2-ary.
* ''[[Ternary operation|Ternary]]'' means 3-ary.
* ''Quaternary'' means 4-ary.
* ''Quinary'' means 5-ary.
* ''Senary'' means  6-ary.
* ''Septenary'' means 7-ary.
* ''Octary'' means 8-ary.
* ''Nonary'' means 9-ary.
* ''Polyadic'', ''multary'' and ''multiary'' mean 2 or more operands (or parameters).
* ''n''-''ary'' means ''n'' operands (or parameters), but is often used as a synonym of "polyadic".
 
An alternative nomenclature is derived in a similar fashion from the corresponding [[Greek language|Greek]] roots; for example, ''niladic'' (or ''medadic''), ''monadic'', ''dyadic'', ''triadic'', ''polyadic'', and so on.  Thence derive the alternative terms ''adicity'' and ''adinity'' for the Latin-derived ''arity''.
 
These words are often used to describe anything related to that number (e.g., [[undenary chess]] is a chess variant with an 11&times;11 board, or the [[Millenary Petition]] of 1603).
 
==See also==
{{Portal|Mathematics|Logic}}
<div style="column-count:2;-moz-column-count:2;-webkit-column-count:2">
*[[Logic of relatives]]
*[[Binary relation]]
*[[Triadic relation]]
*[[Theory of relations]]
*[[Signature (logic)]]
*[[Parameter]]
*[[Variadic]]
*[[Valency (linguistics)|Valency]]
*[[n-ary code|''n''-ary code]]
*[[n-ary group|''n''-ary group]]
</div>
 
==References==
{{Reflist}}
 
==External links==
A monograph available free online:
* Burris, Stanley N., and H.P. Sankappanavar, H. P., 1981. ''[http://www.thoralf.uwaterloo.ca/htdocs/ualg.html A Course in Universal Algebra.]''  Springer-Verlag. ISBN 3-540-90578-2. Especially pp.&nbsp;22–24.
 
[[Category:Abstract algebra]]
[[Category:Universal algebra]]
 
[[cs:Operace (matematika)#Arita operace]]

Revision as of 23:10, 15 February 2014

My name is Melisa Cleland. I life in Limoges (France).

my site; hollywood dog training school