Related papers: The basic principles and the structure and algorit…
In many areas of applied geometric/numeric computational mathematics, including geo-mapping, computer vision, computer graphics, finite element analysis, medical imaging, geometric design, and solid modeling, one has to compute incidences,…
We present a systematic, algebraically based, design methodology for efficient implementation of computer programs optimized over multiple levels of the processor/memory and network hierarchy. Using a common formalism to describe the…
For a software system, its architecture is typically defined as the fundamental organization of the system incorporated by its components, their relationships to one another and their environment, and the principles governing their design.…
This paper proposes new derivations of three well-known sorting algorithms, in their functional formulation. The approach we use is based on three main ingredients: first, the algorithms are derived from a simpler algorithm, i.e. the…
Symbolic mathematical computing systems have served as a canary in the coal mine of software systems for more than sixty years. They have introduced or have been early adopters of programming language ideas such ideas as dynamic memory…
This is an introductory review on the basic principles of quantum computation. Various important quantum logic gates and algorithms based on them are introduced. Quantum teleportation and decoherence are discussed briefly. Some problems,…
Hyperdimensional (HD) computing is a set of neurally inspired methods for obtaining high-dimensional, low-precision, distributed representations of data. These representations can be combined with simple, neurally plausible algorithms to…
Quantum computing, leveraging quantum phenomena like superposition and entanglement, is emerging as a transformative force in computing technology, promising unparalleled computational speed and efficiency crucial for engineering…
I give an introduction to algorithmic uses of the principle of inclusion-exclusion. The presentation is intended to be be concrete and accessible, at the expense of generality and comprehensiveness.
The nature of distributed computation has often been described in terms of the component operations of universal computation: information storage, transfer and modification. We review the first complete framework that quantifies each of…
The mid-1990s saw the design of programming languages for software architectures, which define the high-level aspects of software systems including how code components were composed to form full systems. Our paper "Abstractions for Software…
Large, complex, multi-scale, multi-physics simulation codes, running on high performance com-puting (HPC) platforms, have become essential to advancing science and engineering. These codes simulate multi-scale, multi-physics phenomena with…
A numerical method to build an orthonormal basis of properly symmetrized hyperspherical harmonic functions is developed. As a part of it, refined algorithms for calculating the transformation coefficients between hyperspherical harmonics…
We describe some "unrestricted" algorithms which are useful for the computation of elementary and special functions when the precision required is not known in advance. Several general classes of algorithms are identified and illustrated by…
This essay recounts my personal journey towards a deeper understanding of the mathematical foundations of algorithmic music composition. I do not spend much time on specific mathematical algorithms used by composers; rather, I focus on…
This article is a survey on the topic of polynomial amoebas. We review results of papers written on the topic with an emphasis on its computational aspects. Polynomial amoebas have numerous applications in various domains of mathematics and…
A multitude of different probabilistic programming languages exists today, all extending a traditional programming language with primitives to support modeling of complex, structured probability distributions. Each of these languages…
A software architecture defines the blueprints of a large computational system, and is thus a crucial part of the design and development effort. This task has been explored extensively in the context of mobile robots, resulting in a…
We develop a collection of numerical algorithms which connect ideas from polyhedral geometry and algebraic geometry. The first algorithm we develop functions as a numerical oracle for the Newton polytope of a hypersurface and is based on…
Computability theory is traditionally conceived as the theoretical basis of informatics. Nevertheless, numerous proposals transcend computability theory, in particular by emphasizing interaction of modules, or components, parts,…