20 research outputs found

    A Rigorous Extension of the Schönhage-Strassen Integer Multiplication Algorithm Using Complex Interval Arithmetic

    Get PDF
    Multiplication of n-digit integers by long multiplication requires O(n^2) operations and can be time-consuming. In 1970 A. Schoenhage and V. Strassen published an algorithm capable of performing the task with only O(n log(n)) arithmetic operations over the complex field C; naturally, finite-precision approximations to C are used and rounding errors need to be accounted for. Overall, using variable-precision fixed-point numbers, this results in an O(n(log(n))^(2+Epsilon))-time algorithm. However, to make this algorithm more efficient and practical we need to make use of hardware-based floating-point numbers. How do we deal with rounding errors? and how do we determine the limits of the fixed-precision hardware? Our solution is to use interval arithmetic to guarantee the correctness of results and determine the hardware's limits. We examine the feasibility of this approach and are able to report that 75,000-digit base-256 integers can be handled using double-precision containment sets. This clearly demonstrates that our approach has practical potential; however, at this stage, our implementation does not yet compete with commercial ones, but we are able to demonstrate the feasibility of this technique

    Ball arithmetic

    No full text
    33 pagesThe Mathemagix project aims at the development of a ''computer analysis'' system, in which numerical computations can be done in a mathematically sound manner. A major challenge for such systems is to conceive algorithms which are both efficient, reliable and available at any working precision. In this paper, we survey several older and newer such algorithms. We mainly concentrate on the automatic and efficient computation of high quality error bounds, based on a variant of interval arithmetic which we like to call ''ball arithmetic''

    Implementation and Evaluation of Algorithmic Skeletons: Parallelisation of Computer Algebra Algorithms

    Get PDF
    This thesis presents design and implementation approaches for the parallel algorithms of computer algebra. We use algorithmic skeletons and also further approaches, like data parallel arithmetic and actors. We have implemented skeletons for divide and conquer algorithms and some special parallel loops, that we call ‘repeated computation with a possibility of premature termination’. We introduce in this thesis a rational data parallel arithmetic. We focus on parallel symbolic computation algorithms, for these algorithms our arithmetic provides a generic parallelisation approach. The implementation is carried out in Eden, a parallel functional programming language based on Haskell. This choice enables us to encode both the skeletons and the programs in the same language. Moreover, it allows us to refrain from using two different languages—one for the implementation and one for the interface—for our implementation of computer algebra algorithms. Further, this thesis presents methods for evaluation and estimation of parallel execution times. We partition the parallel execution time into two components. One of them accounts for the quality of the parallelisation, we call it the ‘parallel penalty’. The other is the sequential execution time. For the estimation, we predict both components separately, using statistical methods. This enables very confident estimations, although using drastically less measurement points than other methods. We have applied both our evaluation and estimation approaches to the parallel programs presented in this thesis. We haven also used existing estimation methods. We developed divide and conquer skeletons for the implementation of fast parallel multiplication. We have implemented the Karatsuba algorithm, Strassen’s matrix multiplication algorithm and the fast Fourier transform. The latter was used to implement polynomial convolution that leads to a further fast multiplication algorithm. Specially for our implementation of Strassen algorithm we have designed and implemented a divide and conquer skeleton basing on actors. We have implemented the parallel fast Fourier transform, and not only did we use new divide and conquer skeletons, but also developed a map-and-transpose skeleton. It enables good parallelisation of the Fourier transform. The parallelisation of Karatsuba multiplication shows a very good performance. We have analysed the parallel penalty of our programs and compared it to the serial fraction—an approach, known from literature. We also performed execution time estimations of our divide and conquer programs. This thesis presents a parallel map+reduce skeleton scheme. It allows us to combine the usual parallel map skeletons, like parMap, farm, workpool, with a premature termination property. We use this to implement the so-called ‘parallel repeated computation’, a special form of a speculative parallel loop. We have implemented two probabilistic primality tests: the Rabin–Miller test and the Jacobi sum test. We parallelised both with our approach. We analysed the task distribution and stated the fitting configurations of the Jacobi sum test. We have shown formally that the Jacobi sum test can be implemented in parallel. Subsequently, we parallelised it, analysed the load balancing issues, and produced an optimisation. The latter enabled a good implementation, as verified using the parallel penalty. We have also estimated the performance of the tests for further input sizes and numbers of processing elements. Parallelisation of the Jacobi sum test and our generic parallelisation scheme for the repeated computation is our original contribution. The data parallel arithmetic was defined not only for integers, which is already known, but also for rationals. We handled the common factors of the numerator or denominator of the fraction with the modulus in a novel manner. This is required to obtain a true multiple-residue arithmetic, a novel result of our research. Using these mathematical advances, we have parallelised the determinant computation using the Gauß elimination. As always, we have performed task distribution analysis and estimation of the parallel execution time of our implementation. A similar computation in Maple emphasised the potential of our approach. Data parallel arithmetic enables parallelisation of entire classes of computer algebra algorithms. Summarising, this thesis presents and thoroughly evaluates new and existing design decisions for high-level parallelisations of computer algebra algorithms

    Calcul analytique

    No full text
    Ce document correspond à un cours qui a été donné aux Journées Nationales du Calcul Formel à Luminy en novembre 2011. Pourquoi un cours sur le calcul analytique ? Traditionnellement, on choisit le calcul formel pour la beauté du calcul symbolique ! Or, les techniques du calcul formel admettent de nombreuses applications en analyse, et le calcul numérique peut parfois permettre une résolution plus efficace ou directe de problèmes en calcul formel. Toutefois, quand j'ai commencé à m'intéresser à des problèmes plus analytiques, il me manquait la culture nécessaire en analyse calculable et en arithmétique d'intervalles. Ce cours cherche à exposer les techniques les plus utiles de ces domaines, tout en gardant le lien avec le calcul formel en filigrane

    High-precision computation of uniform asymptotic expansions for special functions

    Get PDF
    In this dissertation, we investigate new methods to obtain uniform asymptotic expansions for the numerical evaluation of special functions to high-precision. We shall first present the theoretical and computational fundamental aspects required for the development and ultimately implementation of such methods. Applying some of these methods, we obtain efficient new convergent and uniform expansions for numerically evaluating the confluent hypergeometric functions and the Lerch transcendent at high-precision. In addition, we also investigate a new scheme of computation for the generalized exponential integral, obtaining on the fastest and most robust implementations in double-precision floating-point arithmetic. In this work, we aim to combine new developments in asymptotic analysis with fast and effective open-source implementations. These implementations are comparable and often faster than current open-source and commercial stateof-the-art software for the evaluation of special functions.Esta tesis presenta nuevos métodos para obtener expansiones uniformes asintóticas, para la evaluación numérica de funciones especiales en alta precisión. En primer lugar, se introducen fundamentos teóricos y de carácter computacional necesarios para el desarrollado y posterior implementación de tales métodos. Aplicando varios de dichos métodos, se obtienen nuevas expansiones uniformes convergentes para la evaluación numérica de las funciones hipergeométricas confluentes y de la función transcendental de Lerch. Por otro lado, se estudian nuevos esquemas de computo para evaluar la integral exponencial generalizada, desarrollando una de las implementaciones más eficientes y robustas en aritmética de punto flotante de doble precisión. En este trabajo, se combinan nuevos desarrollos en análisis asintótico con implementaciones rigurosas, distribuidas en código abierto. Las implementaciones resultantes son comparables, y en ocasiones superiores, a las soluciones comerciales y de código abierto actuales, que representan el estado de la técnica en el campo de la evaluación de funciones especiales

    High-precision computation of uniform asymptotic expansions for special functions

    Get PDF
    In this dissertation, we investigate new methods to obtain uniform asymptotic expansions for the numerical evaluation of special functions to high-precision. We shall first present the theoretical and computational fundamental aspects required for the development and ultimately implementation of such methods. Applying some of these methods, we obtain efficient new convergent and uniform expansions for numerically evaluating the confluent hypergeometric functions and the Lerch transcendent at high-precision. In addition, we also investigate a new scheme of computation for the generalized exponential integral, obtaining on the fastest and most robust implementations in double-precision floating-point arithmetic. In this work, we aim to combine new developments in asymptotic analysis with fast and effective open-source implementations. These implementations are comparable and often faster than current open-source and commercial stateof-the-art software for the evaluation of special functions.Esta tesis presenta nuevos métodos para obtener expansiones uniformes asintóticas, para la evaluación numérica de funciones especiales en alta precisión. En primer lugar, se introducen fundamentos teóricos y de carácter computacional necesarios para el desarrollado y posterior implementación de tales métodos. Aplicando varios de dichos métodos, se obtienen nuevas expansiones uniformes convergentes para la evaluación numérica de las funciones hipergeométricas confluentes y de la función transcendental de Lerch. Por otro lado, se estudian nuevos esquemas de computo para evaluar la integral exponencial generalizada, desarrollando una de las implementaciones más eficientes y robustas en aritmética de punto flotante de doble precisión. En este trabajo, se combinan nuevos desarrollos en análisis asintótico con implementaciones rigurosas, distribuidas en código abierto. Las implementaciones resultantes son comparables, y en ocasiones superiores, a las soluciones comerciales y de código abierto actuales, que representan el estado de la técnica en el campo de la evaluación de funciones especiales.Postprint (published version

    Algorithms for Galois group computations over multivariate function fields

    Get PDF
    In this thesis, two separate algorithms are described to determine the Galois group of a polynomial f defined over a function field of the form Q(w1,...,wa), both of which use Stauduhar’s method for polynomials over Q, with various techniques used to make them compatible for function fields as the base field. In particular, both algorithms construct the resolvent of f. The first algorithm uses a special form of Hensel lifting to express the roots as a multivariate power series of sufficient precision to determine the resolvent exactly. This precision is derived through the use of Newton polygons and by obtaining a bound on the size of the coefficients of the resolvent. The second algorithm constructs the resolvents of a set of specialisations of f, which are then interpolated. Computational complexity and timing of implementations in MAGMA for polynomials of degree up to 8 are compared and discussed

    Quantum Lattice Enumeration in Limited Depth

    Get PDF
    In 2018, Aono et al. (ASIACRYPT 2018) proposed to use quantum backtracking algorithms (Montanaro, TOC 2018; Ambainis and Kokainis, STOC 2017) to speedup lattice point enumeration. Quantum lattice sieving algorithms had already been proposed (Laarhoven et al., PQCRYPTO 2013), being shown to provide an asymptotic speedup over classical counterparts, but also to lose competitivity at relevant dimensions to cryptography if practical considerations on quantum computer architecture were taken into account (Albrecht et al., ASIACRYPT 2020). Aono et al.’s work argued that quantum walk speedups can be applied to lattice enumeration, achieving at least a quadratic asymptotic speedup à la Grover search while not requiring exponential amounts of quantum accessible classical memory, as it is the case for sieving. In this work, we explore how to lower bound the cost of using Aono et al.’s techniques on lattice enumeration with extreme cylinder pruning assuming a limit to the maximum depth that a quantum computation can achieve without decohering, with the objective of better understanding the practical applicability of quantum backtracking in lattice cryptanalysis

    Sparse Matrix Multiplication Kernels

    Get PDF

    Variants of LWE: Reductions, Attacks and a Construction

    Get PDF
    corecore