Live briefing
Everything about Array programming
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. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Array programmingA 5-minute orientation
- Skim a recent paper: A programmable diffractive deep neural network based on a digital-coding metasurface arrayInfluential work since 2022
- Pick up a classic book: Rapid prototyping of digital systemsThe most-reprinted book on the subject
- Read the landmark paper: Array programming with NumPyCited 26,085 times
- Go sideways: Hadamard product (matrices)A closely related topic
- Go sideways: Perl Data LanguageA closely related topic
📖 Definitions
Noun A programming paradigm where operations are applied to an entire set of values at once without the need for explicit loops.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
Array programming with NumPy
Co-array Fortran for parallel programming
Optimal array pattern synthesis using semidefinite programming
Robust supergain beamforming for circular array via second-order cone programming
A flexible array synthesis method using quadratic programming
Robust array interpolation using second-order cone programming
Programming of optical array logic 1: Image data processing
Efficient differentiable programming in a functional array-processing language
🆕 Influential since 2022
A programmable diffractive deep neural network based on a digital-coding metasurface array
Programming memristor arrays with arbitrarily high precision for analog computing
Self‐Powered Programming of Fibroblasts into Neurons via a Scalable Magnetoelastic Generator Array
An experimental study on local and global optima of linear antenna array synthesis by using the sequential least squares programming
A Novel Array Programming Scheme for Large Matrix Processing in Flash-Based Computing-in-Memory (CIM) With Ultrahigh Bit Density
📚 Books worth reading
Rapid prototyping of digital systemsJames O. Hamblen, James O. Hamblen · 1999
FPGA Based Embedded System Developer's GuideA. Arockia Bazil Raj · 2018
Practical FPGA programming in CDavid Pellerin, Scott Thibault · 2005
IEEE Symposium on FPGAs for Custom Computing MachinesIEEE Symposium on FPGAs for Custom Computing Machines (1996 Napa Valley, Calif.) · 1996
Reconfigurable computingMaya Gokhale, Paul S. Graham · 2005
FPGA Prototyping by SystemVerilog ExamplesPong P. Chu · 2018
Field-programmable custom computing technologyWayne Luk, Kenneth L. Pocek · 2000
Design of FPGA-Based Computing Systems with OpenCLHasitha Muthumala Waidyasooriya, Masanori Hariyama · 2017
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Hadamard product (matrices) In mathematics, the Hadamard product (also known as the element-wise product, entrywise product or Schur product) is a binary operation that takes in two…
- Perl Data Language Perl Data Language (abbreviated PDL) is a set of free software array programming extensions to the Perl programming language. PDL extends the data structures…
- Outer product In linear algebra, the outer product of two coordinate vectors is the matrix whose entries are all products of an element in the first vector with an element…
- Vectorization (mathematics) In mathematics, especially in linear algebra and matrix theory, the vectorization of a matrix is a linear transformation which converts the matrix into…
- Dot product In mathematics, the dot product is an algebraic operation that takes two equal-length sequences of numbers (usually coordinate vectors), and returns a…
- GNU Octave GNU Octave is a scientific programming language for scientific computing and numerical computation. Among other things, Octave can be used to solve linear…
- Row- and column-major order In computing, row-major order and column-major order are methods for storing multidimensional arrays in linear storage such as random access memory. The…
- Matrix multiplication In mathematics, specifically in linear algebra, matrix multiplication is a binary operation that produces a matrix from two matrices. For matrix multiplication…