Applying operations to whole sets of values simultaneously
In computer science, array programming refers to solutions that allow the application of operations to an entire set of values at once. Such solutions are commonly used in scientific and engineering settings.
Modern programming languages that support array programming (also known as vector or multidimensional languages) have been engineered specifically to generalize operations on scalars to apply transparently to vectors, matrices, and higher-dimensional arrays. These include APL, J, Fortran, MATLAB, Analytica, Octave, R, Cilk Plus, Julia, Perl Data Language (PDL). In these languages, an operation that operates on entire arrays can be called a vectorized operation,[1] regardless of whether it is executed on a vector processor, which implements vector instructions. Array programming primitives concisely express broad ideas about data manipulation. The level of concision can be dramatic in certain cases: it is not uncommon[example needed] to find array programming language one-liners that require several pages of object-oriented code.
^Stéfan van der Walt; S. Chris Colbert & Gaël Varoquaux (2011). "The NumPy array: a structure for efficient numerical computation". Computing in Science and Engineering. 13 (2). IEEE: 22–30. arXiv:1102.1523. Bibcode:2011CSE....13b..22V. doi:10.1109/mcse.2011.37. S2CID 16907816.
In computer science, arrayprogramming refers to solutions that allow the application of operations to an entire set of values at once. Such solutions...
programming. (MMI also offered a similar family called HAL, or "hard array logic", which were like PAL devices except that they were mask-programmed at...
concepts: Arrayprogramming, using matrix algebra notation in programs (not the same as array processing) Array slicing, the extraction of sub-arrays of an...
A programmable logic array (PLA) is a kind of programmable logic device used to implement combinational logic circuits. The PLA has a set of programmable...
abstractions of objects that can message other agents. Clojure F# GOAL SARL Arrayprogramming (also termed vector or multidimensional) languages generalize operations...
abbreviation of "MATrix LABoratory") is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB...
standard libraries in many modern mainstream programming languages. Dynamic arrays overcome a limit of static arrays, which have a fixed capacity that needs...
The syntax of the C programming language is the set of rules governing writing of software in C. It is designed to allow for programs that are extremely...
/ˈnʌmpaɪ/ NUM-py) is a library for the Python programming language, adding support for large, multi-dimensional arrays and matrices, along with a large collection...
directly addressed arrays, binary search trees, or other more specialized structures. Many programming languages include associative arrays as primitive data...
Nial (from "Nested Interactive Array Language") is a high-level arrayprogramming language developed from about 1981 by Mike Jenkins of Queen's University...
In computer programming, array slicing is an operation that extracts a subset of elements from an array and packages them as another array, possibly in...
interchanged. The resulting objects are called symmetric tensors. Arrayprogramming languages may have this pattern built in. For example, in APL the...