Related papers: Twofolds in C and C++
In the early days of computing, severe memory constraints made it necessary to use lower floating-point precision. As hardware capabilities have advanced, modern systems, particularly in computational statistics and scientific computing,…
I will present a way to implement graph algorithms which is different from traditional methods. This work was motivated by the belief that some ideas from software engineering should be applied to graph algorithms. Re-usability of software…
Autonomic computing has been proposed recently as a way to address the difficult management of applications whose complexity is constantly increasing. Autonomous applications will have to be especially flexible and be able to monitor…
We present solidfmm, a highly optimised C++ library for the solid harmonics as they are needed in fast multipole methods. The library provides efficient, vectorised implementations of the translation operations M2M, M2L, and L2L, and is…
We give an introduction to the C++ library GiNaC, which extends the C++ language by new objects and methods for the representation and manipulation of arbitrary symbolic expressions.
Multipoint polynomial evaluation and interpolation are fundamental for modern symbolic and numerical computing. The known algorithms solve both problems over any field of constants in nearly linear arithmetic time, but the cost grows to…
This paper introduces real time inverse arithmetic coding and user interfaces based thereupon. The main idea is that information-efficient data entry can be achieved by ensuring that each input's associated display space and ease of…
Support for arithmetic in multiple precisions and number formats is becoming increasingly common in emerging high-performance architectures. From a computational scientist's perspective, our goal is to determine how and where we can safely…
We consider two $d \geq 2$ conformal field theories (CFTs) glued together along a codimension one conformal interface. The conformal anomaly of such a system contains both bulk and interface contributions. In a curved-space setup, we…
We present a, hopefully, elementary mathematical treatment of the computational aspects of congruent numbers, such that an amateur could understand the problem and perform their own calculations.
We propose a new instruction (FPADDRE) that computes the round-off error in floating-point addition. We explain how this instruction benefits high-precision arithmetic operations in applications where double precision is not sufficient.…
In this paper, we introduce Continuation Passing C (CPC), a programming language for concurrent systems in which native and cooperative threads are unified and presented to the programmer as a single abstraction. The CPC compiler uses a…
Owing to the continued use of C (and C++), spatial safety violations (e.g., buffer overflows) still constitute one of today's most dangerous and prevalent security vulnerabilities. To combat these violations, Checked C extends C with…
Many applications require randomly sampling bipartite graphs with fixed degrees, or randomly sampling incidence matrices with fixed row and column sums. Although several sampling algorithms exist, the ``curveball'' algorithm is the most…
These course notes are about computing modular forms and some of their arithmetic properties. Their aim is to explain and prove the modular symbols algorithm in as elementary and as explicit terms as possible, and to enable the devoted…
We introduce an alternative approach for constrained mathematical programming problems. It rests on two main aspects: an efficient way to compute optimal solutions for unconstrained problems, and multipliers regarded as variables for a…
Multiscale mixed methods based on non-overlapping domain decompositions can efficiently handle the solution of significant subsurface flow problems in very heterogeneous formations of interest to the industry, especially when implemented on…
I give a brief overview of fault-tolerant quantum computation, with an emphasis on recent work and open questions.
Complexity bounds for many problems on matrices with univariate polynomial entries have been improved in the last few years. Still, for most related algorithms, efficient implementations are not available, which leaves open the question of…
This introduction to arithmetic coding is divided in two parts. The first explains how and why arithmetic coding works. We start presenting it in very general terms, so that its simplicity is not lost under layers of implementation details.…