**Functions take inputs, performs operations, and return an output** The concept of a **function** is vital to math, computer programming, and engineering - but it can easily be extrapolated to cover any aspect of life. A simple definition of "function" is a thing that provides a consistent output which is wholly dependent on the set of inputs it's given. # WIkipedia definition: `A function is a relation between sets that associates to every element of a first set exactly one element of the second set.` # Nomenclature & Terminology In all domains of use, functions are sometimes named and sometimes not. Mathematical functions can be referred to by their algorithm, such as: $ f(x) = 2x + 1 $ Well-known algorithms can be referred to by name: e.g. "The Quadratic Formula" ## Argument The inputs to the function. ## [[Domain and Range]] - **Domain** - the whole set of possible inputs for each argument. - **Range** - the whole set of possible outputs. ## Arity/Degree The number of arguments the function depends on to produce its result. ## Return The result of a function. Its output. # Mathematical Function In math, unlike in coding, the term "function" carries with it the constraint that a given input will [[Maps|map]] to **exactly** one output (or be undefined). ## Vertical Line Test The vertical line test is something you learn about in middle (?) school. You put a vertical line on a [[Line Plot]] and see if the vertical line crosses the line drawn by the calculator. If it crosses more than once, it's not a "function". # Business Function In business, the term "function" is sometimes used synonymously with the term "process", although they aren't the same. A business function produces a result, without necessarily implying the _method_ the result is arrived at. A business _process_ more often refers to a function and the method that implements it. [[Archimate]] includes "function" and "process" as separate [[Entity Definition|entities]] carrying distinct meanings. # Functional Modeling ## Mathematical Modeling You could say that [[Line Plot]]s are models of mathematical functions. ## Systems Design [[IDEF0]] was built to model decomposable functions. There are plenty of other ways you could model a function (e.g. [[UML]]). **** ## Source - [[Myself]] - Wikipedia ## Related - [[Maps]] - [[Pareto Principle]] - [[Pure Function]]