104 research outputs found
Groebner.jl: A package for Gr\"obner bases computations in Julia
We introduce the Julia package Groebner.jl for computing Gr\"obner bases with
the F4 algorithm. Groebner.jl is an efficient, lightweight, portable,
thoroughly tested, and documented open-source software. The package works over
integers modulo a prime and over the rationals and supports various monomial
orderings. The implementation incorporates modern symbolic computation
techniques and leverages the Julia type system and tooling, which allows
Groebner.jl to be on par in performance with the leading computer algebra
systems. Our package is freely available at
https://github.com/sumiya11/Groebner.jl .Comment: 10 page
Computing periods of rational integrals
A period of a rational integral is the result of integrating, with respect to
one or several variables, a rational function over a closed path. This work
focuses particularly on periods depending on a parameter: in this case the
period under consideration satisfies a linear differential equation, the
Picard-Fuchs equation. I give a reduction algorithm that extends the
Griffiths-Dwork reduction and apply it to the computation of Picard-Fuchs
equations. The resulting algorithm is elementary and has been successfully
applied to problems that were previously out of reach.Comment: To appear in Math. comp. Supplementary material at
http://pierre.lairez.fr/supp/periods
Polynomial Invariants for Affine Programs
We exhibit an algorithm to compute the strongest polynomial (or algebraic)
invariants that hold at each location of a given affine program (i.e., a
program having only non-deterministic (as opposed to conditional) branching and
all of whose assignments are given by affine expressions). Our main tool is an
algebraic result of independent interest: given a finite set of rational square
matrices of the same dimension, we show how to compute the Zariski closure of
the semigroup that they generate
Highly Automated Formal Verification of Arithmetic Circuits
This dissertation investigates the problems of two distinctive formal verification techniques for verifying large scale multiplier circuits and proposes two approaches to overcome some of these problems. The first technique is equivalence checking based on recurrence relations, while the second one is the symbolic computation technique which is based on the theory of Gröbner bases. This investigation demonstrates that approaches based on symbolic computation have better scalability and more robustness than state-of-the-art equivalence checking techniques for verification of arithmetic circuits. According to this conclusion, the thesis leverages the symbolic computation technique to verify floating-point designs. It proposes a new algebraic equivalence checking, in contrast to classical combinational equivalence checking, the proposed technique is capable of checking the equivalence of two circuits which have different architectures of arithmetic units as well as control logic parts, e.g., floating-point multipliers
Towards Massively Parallel Computations in Algebraic Geometry
Introducing parallelism and exploring its use is still a fundamental challenge for the computer algebra community. In high-performance numerical simulation, on the other hand, transparent environments for distributed computing which follow the principle of separating coordination and computation have been a success story for many years. In this paper, we explore the potential of using this principle in the context of computer algebra. More precisely, we combine two well-established systems: The mathematics we are interested in is implemented in the computer algebra system Singular, whose focus is on polynomial computations, while the coordination is left to the workflow management system GPI-Space, which relies on Petri nets as its mathematical modeling language and has been successfully used for coordinating the parallel execution (autoparallelization) of academic codes as well as for commercial software in application areas such as seismic data processing. The result of our efforts is a major step towards a framework for massively parallel computations in the application areas of Singular, specifically in commutative algebra and algebraic geometry. As a first test case for this framework, we have modeled and implemented a hybrid smoothness test for algebraic varieties which combines ideas from Hironaka’s celebrated desingularization proof with the classical Jacobian criterion. Applying our implementation to two examples originating from current research in algebraic geometry, one of which cannot be handled by other means, we illustrate the behavior of the smoothness test within our framework and investigate how the computations scale up to 256 cores
- …