PACE.jl: Project on Algebraic Computations for Engineering
PACE.jl is a Julia package that brings together advanced tools for algebraic computations, with applications in control theory and robotics. It provides functionality for solving polynomial systems, by performing symbolic computations and/or employing interval arithmetic.
This package serves as a wrapper and integration point for several specialized packages, while also introducing its own functions. You can find the source code here.
Features and Included Packages
RS.jl
- Univariate Polynomial Isolation: Compute isolating intervals for the real roots of a polynomial.
- Implicit Function Plotting: Visualize implicit curves defined by polynomial equations.
MPFI.jl
- Multiple Precision Interval Arithmetic: A wrapper for the MPFI library for precise interval computations in Julia.
LACE.jl
- Newton's Method with Interval Arithmetic: Solve systems of equations using enhanced Newton algorithms with interval arithmetic.
- Kantorovich Uniqueness Test: Validate the uniqueness of solutions within specific intervals.
RationalUnivariateRepresentation.jl
- Rational Univariate Representation (RUR): Efficient RUR computation of zero-dimensional polynomial systems.
DiscriminantVariety.jl
Native Functions in PACE.jl
In addition to wrapping and integrating the above packages, PACE.jl introduces its own set of functions, particularly tailored for:
- Subresultant computations.
- Specialized tools for control theory and robotic kinematics.
Applications
PACE.jl is designed to address problems in:
- Control Theory (see the package PaceControl.jl)
- Robotics (see the package PaceRobots.jl)
Installation
Install PACE
and its dependencies by cloning the repository and adding it to your Julia environment:
using Pkg
Pkg.add(url="https://gitlab.inria.fr/pace/pace.jl.git")
Then, load the package into your Julia session:
using PACE