Fast in-place accumulated bilinear formulae

07/24/2023
by   Jean-Guillaume Dumas, et al.
0

Bilinear operations are ubiquitous in computer science and in particular in computer algebra and symbolic computation. One of the most fundamental arithmetic operation is the multiplication, and when applied to, e.g., polynomials or matrices, its result is a bilinear function of its inputs. In terms of arithmetic operations, many sub-quadratic (resp. sub-cubic) algorithms were developed for these tasks. But these fast algorithms come at the expense of (potentially large) extra temporary space to perform the computation. On the contrary, classical, quadratic (resp. cubic) algorithms, when computed sequentially, quite often require very few (constant) extra registers. Further work then proposed simultaneously “fast” and “in-place” algorithms, for both matrix and polynomial operations We here propose algorithms to extend the latter line of work for accumulated algorithms arising from a bilinear formula. Indeed one of the main ingredient of the latter line of work is to use the (free) space of the output as intermediate storage. When the result has to be accumulated, i.e., if the output is also part of the input, this free space thus does not even exist. To be able to design accumulated in-place algorithm we thus relax the in-place model to allow algorithms to also modify their input, therefore to use them as intermediate storage for instance, provided that they are restored to their initial state after completion of the procedure. This is in fact a natural possibility in many programming environments. Furthermore, this restoration allows for recursive combinations of such procedures, as the (non concurrent) recursive calls will not mess-up the state of their callers. We propose here a generic technique transforming any bilinear algorithm into an in-place algorithm under this model. This then directly applies to polynomial and matrix multiplication algorithms, including fast ones.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/27/2023

In-place fast polynomial modular remainder

We consider the fast in-place computation of the Euclidean polynomial mo...
research
02/24/2020

Fast In-place Algorithms for Polynomial Operations: Division, Evaluation, Interpolation

We consider space-saving versions of several important operations on uni...
research
08/09/2020

Sparsifying the Operators of Fast Matrix Multiplication Algorithms

Fast matrix multiplication algorithms may be useful, provided that their...
research
01/04/2021

Some fast algorithms multiplying a matrix by its adjoint

We present a non-commutative algorithm for the multiplication of a 2 x 2...
research
12/30/2021

Fast algorithms for interpolation with L-splines for differential operators L of order 4 with constant coefficients

In the classical theory of cubic interpolation splines there exists an a...
research
05/17/2019

Randomization of Approximate Bilinear Computation for Matrix Multiplication

We present a method for randomizing a formula for bilinear computation o...
research
12/13/2019

The quadratic hull of a code and the geometric view on multiplication algorithms

We introduce the notion of quadratic hull of a linear code, and give som...

Please sign up or login with your details

Forgot password? Click here to reset