Application
An application is the act of putting something into operation or use, or the thing so used. The term has multiple meanings across various fields, including mathematics and computing (such as function application and software programs), administrative and legal processes (like forms and requests), and specialized uses in cosmetics, materials, physics, and engineering. These contexts are explored in detail in the following sections.Mathematics and Computing
Function Application
In mathematics, a function is fundamentally a mapping that associates each element of a domain set with exactly one element in a codomain set, establishing a relation between inputs and outputs without assuming prior familiarity with advanced concepts.[1] This setup provides the foundation for understanding how values transform under specific rules, where the domain represents possible inputs and the codomain possible outputs, though the actual outputs form the image or range of the function.[1] Function application refers to the process of evaluating a function f at a specific input x from its domain, yielding the output f(x) in the codomain.[1] This act embodies the core idea of functions as rule-based transformations, where f(x) denotes the unique value assigned to x by f. In alternative notations, particularly in lambda calculus—a formal system for expressing computation through functions—application is written as (f\, x), emphasizing the juxtaposition of the function and its argument without parentheses for the operator itself.[2] For instance, consider the quadratic function defined by f(x) = x^2; applying it to x = 3 produces f(3) = 9.[1] In linear algebra, function application extends to linear transformations, such as a matrix A applied to a vector \mathbf{v}, resulting in A\mathbf{v}, which scales and rotates the vector according to the matrix's properties. The concept of function application traces its origins to the 19th century, building on earlier analytic traditions. Peter Gustav Lejeune Dirichlet formalized the modern notion of a function in 1837, defining it broadly as an arbitrary correspondence between values, including discontinuous cases, which expanded beyond Euler's earlier emphasis on analytic expressions.[3] This development occurred amid advancements in set theory by Georg Cantor and others, evolving into abstract algebra where functions are treated as set-theoretic relations.[3] Variations in function application include total and partial forms: a total function is defined for every element in its domain, ensuring complete applicability, while a partial function may be undefined for some inputs. Additionally, currying transforms a function of multiple arguments into a sequence of single-argument functions, facilitating higher-order applications; this technique, originating with Gottlob Frege's work and formalized by Moses Schönfinkel in 1924, enables composing functions in more modular ways.[4]Computational Applications
In computer science, the concept of application refers to the execution of operations or functions on data structures and inputs, forming the core of algorithmic processes and program behavior. This manifests in the step-by-step invocation of procedures that transform inputs into outputs, enabling efficient computation across various domains. Early theoretical foundations, such as Alan Turing's 1936 model of computation, incorporated application through a machine's transition function, where states and symbols are applied iteratively to simulate any algorithmic process on computable numbers.[5] Similarly, the development of Lisp in the 1960s by John McCarthy introduced applicative-order evaluation, where expressions are evaluated by applying functions to their arguments from left to right before substitution, emphasizing recursive application in symbolic computation.[6] In algorithms, application involves executing specific operations on data, such as filtering or partitioning elements to achieve desired outcomes. For instance, the quicksort algorithm, devised by C. A. R. Hoare in 1961, applies a partitioning function to an array by selecting a pivot and rearranging elements relative to it, recursively applying the process to subarrays until sorted. This repeated application of comparison and swap operations exemplifies how algorithmic efficiency relies on targeted function invocations, often achieving average-case time complexity of O(n log n). Programming paradigms further differentiate how applications occur: imperative languages like C++ employ explicit function calls that modify state through sequential instructions, whereas functional paradigms in languages like Haskell prioritize pure function applications with lazy evaluation, delaying computation until results are needed to compose transformations without side effects.[7] Key concepts in computational application include parameter passing mechanisms and recursion. Parameter passing by value creates a copy of the argument for the function, isolating changes within the invocation, as in C's default behavior, while pass-by-reference provides direct access to the original data via pointers or addresses, allowing modifications to persist, which is common in C++ for efficiency with large objects.[8] Recursion represents repeated self-application of a function, breaking problems into smaller instances until a base case halts the process, as seen in tree traversals or factorial computations, where each call applies the function to a reduced input.[9] Modern developments extend application to machine learning, particularly in neural networks where the forward pass applies weighted transformations and activation functions layer-by-layer to input datasets, propagating data from inputs to outputs to generate predictions.[10] In transformer models, introduced for sequence processing in 2017, post-2020 advancements like FlashAttention optimize the application of attention mechanisms by fusing operations into a single kernel, reducing memory access and enabling training on sequences up to 64k tokens with up to 3x speedups over standard implementations. These efficiencies highlight how refined application strategies continue to scale computational models for real-world data processing.Administrative and Legal Processes
Application Forms and Requests
An application form is a structured document, either written or digital, used by individuals or organizations to formally request permissions, approvals, or opportunities in administrative processes, such as employment, education, or public services. It collects essential details about the applicant's qualifications, intentions, and supporting evidence to enable systematic evaluation by the relevant authority.[11] These forms standardize information gathering, ensuring consistency in processing requests across bureaucratic systems.[12] Application forms originated in the expanding bureaucratic frameworks of the Industrial Revolution, where governments and institutions required organized documentation to handle increasing administrative demands from urbanization and economic growth. In the early United States, for example, the federal bureaucracy began with basic departments like State, Treasury, and War in 1789, evolving through patronage systems under presidents like Andrew Jackson, which emphasized structured hiring and record-keeping.[13] By the 20th century, standardization accelerated with the rise of merit-based civil service reforms, such as the Pendleton Act of 1883, and massive expansions during the [New Deal](/page/New Deal) era (1933–1945), when federal agencies adopted uniform forms to manage programs for millions of citizens, growing the workforce from about 500,000 to 3.5 million employees.[13] This period marked the widespread use of government-issued forms for benefits, licenses, and services, reflecting a shift toward efficient, rule-bound administration.[13] The submission process generally follows a sequence of steps: applicants first gather necessary documents and complete the form with required details; they then submit it through designated channels, such as mail, in-person delivery, or online portals; the receiving entity reviews the submission for completeness and eligibility; and finally, a decision is communicated, often with reasons for acceptance or rejection based on predefined criteria.[14] Since the 1990s, digital evolution has transformed this workflow, with the introduction of HTML 2.0's<form> tag in 1995 enabling web-based submissions that automate data entry and validation. Online portals, like federal job sites and educational platforms, emerged in the late 1990s, reducing paper use and allowing real-time tracking, though most processes still require verification steps to ensure accuracy.[15]
Common elements across application forms include fields for personal information (e.g., full name, address, contact details, and date of birth), a purpose statement outlining the request and qualifications, attachments for supporting evidence (such as identification or certifications), and a signature—either physical or electronic—to certify the truthfulness of the information and consent to any checks.[16] These components facilitate objective review, with acceptance depending on alignment with eligibility standards and rejection often stemming from incomplete submissions or unmet criteria.[11] Submitting false information can carry legal consequences, such as denial or penalties for misrepresentation.[11]
Representative examples illustrate these features in practice. College admission applications, like those via the Common Application platform, require self-reported transcripts, personal essays detailing experiences and goals, and recommendation letters to evaluate academic and extracurricular fit.[17] Visa applications to the U.S. Department of State demand a valid passport, completed DS-160 form, proof of financial support, travel itinerary, and evidence of ties to the home country (e.g., employment letters) to confirm intent to return after the visit.[18] Job applications, often submitted online through employer portals, include sections for employment history, skills, availability, and references to match candidates against role requirements.[16]