263 research outputs found

    A Purely Functional Computer Algebra System Embedded in Haskell

    Full text link
    We demonstrate how methods in Functional Programming can be used to implement a computer algebra system. As a proof-of-concept, we present the computational-algebra package. It is a computer algebra system implemented as an embedded domain-specific language in Haskell, a purely functional programming language. Utilising methods in functional programming and prominent features of Haskell, this library achieves safety, composability, and correctness at the same time. To demonstrate the advantages of our approach, we have implemented advanced Gr\"{o}bner basis algorithms, such as Faug\`{e}re's F4F_4 and F5F_5, in a composable way.Comment: 16 pages, Accepted to CASC 201

    Partial Gröbner bases for multiobjective integer linear optimization

    Get PDF
    This paper presents a new methodology for solving multiobjective integer linear programs (MOILP) using tools from algebraic geometry. We introduce the concept of partial Gr¨obner basis for a family of multiobjective programs where the right-hand side varies. This new structure extends the notion of Gr¨obner basis for the single objective case to the case of multiple objectives, i.e., when there is a partial ordering instead of a total ordering over the feasible vectors. The main property of these bases is that the partial reduction of the integer elements in the kernel of the constraint matrix by the different blocks of the basis is zero. This property allows us to prove that this new construction is a test family for a family of multiobjective programs. An algorithm “´a la Buchberger” is developed to compute partial Gr¨obner bases, and two different approaches are derived, using this methodology, for computing the entire set of Pareto-optimal solutions of any MOILP problem. Some examples illustrate the application of the algorithm, and computational experiments are reported on several families of problems.Ministerio de Educación y Cienci

    Parallel and distributed Gr\"obner bases computation in JAS

    Full text link
    This paper considers parallel Gr\"obner bases algorithms on distributed memory parallel computers with multi-core compute nodes. We summarize three different Gr\"obner bases implementations: shared memory parallel, pure distributed memory parallel and distributed memory combined with shared memory parallelism. The last algorithm, called distributed hybrid, uses only one control communication channel between the master node and the worker nodes and keeps polynomials in shared memory on a node. The polynomials are transported asynchronous to the control-flow of the algorithm in a separate distributed data structure. The implementation is generic and works for all implemented (exact) fields. We present new performance measurements and discuss the performance of the algorithms.Comment: 14 pages, 8 tables, 13 figure
    corecore