SYNAPS: A Library for Dedicated Applications in Symbolic Numeric Computing (original) (raw)

The Design of Core 2: A Library for Exact Numeric Computation in Geometry and Algebra

Lecture Notes in Computer Science, 2010

There is a growing interest in numeric-algebraic techniques in the computer algebra community as such techniques can speed up many applications. This paper is concerned with one such approach called Exact Numeric Computation (ENC). The ENC approach to algebraic number computation is based on iterative verified approximations, combined with constructive zero bounds. This paper describes Core 2, the latest version of the Core Library, a package designed for applications such as non-linear computational geometry. The adaptive complexity of ENC combined with filters makes such libraries practical. Core 2 smoothly integrates our algebraic ENC subsystem with transcendental functions with ε-accurate comparisons. This paper describes how the design of Core 2 addresses key software issues such as modularity, extensibility, efficiency in the a setting that combines algebraic and transcendental elements. Our redesign preserves the original goals of the Core Library, namely, to provide a simple and natural interface for ENC computation to support rapid prototyping and exploration. We present examples, experimental results, and timings for our new system, released as Core Library 2.0.

Exact symbolic–numeric computation of planar algebraic curves

Theoretical Computer Science, 2013

We present a novel certified and complete algorithm to compute arrangements of real planar algebraic curves. It provides a geometric-topological analysis of the decomposition of the plane induced by a finite number of algebraic curves in terms of a cylindrical algebraic decomposition. From a high-level perspective, the overall method splits into two main subroutines, namely an algorithm denoted Bisolve to isolate the real solutions of a zero-dimensional bivariate system, and an algorithm denoted GeoTop to analyze a single algebraic curve. Compared to existing approaches based on elimination techniques, we considerably improve the corresponding lifting steps in both subroutines. As a result, generic position of the input system is never assumed, and thus our algorithm never demands for any change of coordinates. In addition, we significantly limit the types of involved exact operations, that is, we only use resultant and gcd computations as purely symbolic operations. The latter results are achieved by combining techniques from different fields such as (modular) symbolic computation, numerical analysis and algebraic geometry. We have implemented our algorithms as prototypical contributions to the C++-project Cgal. They exploit graphics hardware to expedite the symbolic computations. We have also compared our implementation with the current reference implementations, that is, Lgp and Maple's Isolate for polynomial system solving, and Cgal's bivariate algebraic kernel for analyses and arrangement computations of algebraic curves. For various series of challenging instances, our exhaustive experiments show that the new implementations outperform the existing ones.

An environment for Symbolic and Numeric Computation

2000

We describe the environment for symbolic and numeric computations, called SYNAPS (Sym- bolic and Numeric APplicationS) and developed in C++. Its aim is to provide a coherent platform integrating many of the nowadays freely available software in scientific computing. The approach taken here is inspired by the recent paradigm of software developments called active library. In this paper, we explain

Gaalop 2.0-A Geometric Algebra Algorithm Compiler

In recent years, Geometric Algebra (GA) has become more and more popular in fields of science and engineering due to its potential for compact algorithms. However, the execution of GA algorithms and the related need for high computational power is still the limiting factor for these algorithms to be used in practice. Therefore, it would be desirable to automatically detect parts that can be calculated in parallel by a software tool. In this paper, we present Gaalop 2.0, a Geometric Algebra Algorithm Compiler, which takes as input the description of a GA algorithm, symbolically optimizes the output multivectors and compiles the optimized code into a target language source file such as C++, for instance. For each output multivector the code for the different coefficients is generated, which is finally adjusted to contain only basic arithmetic operations instead. This allows the optimized output to be compiled for parallel computing platforms like FPGAs, for instance.

Easy composition of symbolic computation software using SCSCP: A new Lingua Franca for symbolic computation

Journal of Symbolic Computation, 2013

We present the results of the first four years of the European research project SCIEnce -Symbolic Computation Infrastructure in Europe (http://www.symbolic-computation.org), which aims to provide key infrastructure for symbolic computation research. A primary outcome of the project is that we have developed a new way of combining computer algebra systems using the Symbolic Computation Software Composability Protocol (SCSCP), in which both protocol messages and data are encoded in the OpenMath format. We describe the SCSCP middleware and APIs, outline implementations for various Computer Algebra Systems (CAS), and show how SCSCPcompliant components may be combined to solve scientific problems that cannot be solved within a single CAS, or may be organised into a system for distributed parallel computations. Additionally, we present several domain-specific parallel skeletons that capture commonly used symbolic computations. To ease use and to maximise inter-operability, these skeletons themselves are provided as SCSCP services and take SCSCP services as arguments.

Survey of Symbolic Computations on the Grid

2005

Symbolic and algebraic computations are one of the fastest growing areas of scientific computing. In this paper we present an overview of the state-of-the-art in symbolic and algebraic computations on parallel and distributed computers and on grids. We give some background information, including typical application areas, and then give a list of past and on-going projects involving symbolic computations. We also attempt at concisely summarizing our findings. This article is based on the chapter on symbolic computations on grid that will appear in 2005 the book "Engineering the Grid: status and perspective", Editors Beniamino

Advances in Algebraic Geometric Computation

Algebraic curves and surfaces play an important and ever increasing role in com- puter aided geometric design, computer vision, and computer aided manufac- turing. Consequently, theoretical results need to be adapted to practical needs. We need ecient algorithms for generating, representing, manipulating, analyz- ing, rendering algebraic curves and surfaces. In the last years there has been dramatic progress in all areas of algebraic computation. In particular, the ap- plication of computer algebra to the design and analysis of algebraic curves and surfaces has been extremely successful. In this lecture we report on some of these developments. One interesting subproblem in algebraic geometric computation is the rational parame-trization of curves and surfaces. The tacnode curve defined by f(x;y) = 2x4 ¡ 3x2y + y4 ¡ 2y3 + y2 in the real plane has the rational parametrization