by J. M. Boyle, T. J. Harmer and V. L. Winter

In E. Arge, A.M. Bruaset and H.P. Langtangen (eds.) *Modern Software Tools in Scientific Computing* pp 353-372, Birkhäuser, 1997

TAMPR stands for *Transformation Assisted Multiple Program Realisation System*. The TAMPR system, which has been in use since the seventies, is designed for the derivation of efficient
implementations from a specification through transformations,
in particular in the domain of numerical programming.

A TAMPR specification consists of a series of rewrite rules. The TAMPR rewrite engine applies rewrite rules exhaustively to reach a canonical form. The problem of non-termination caused by rules that are each others inverses is solved in TAMPR by organizing a large transformation into a sequence of consecutive canonicalizations under different sets of rewrite rules. Typically such a sequence starts with several preparatory steps that bring the program in the right form, followed by the pivotal step which achieves the actual transformation, followed by some post-processing.

In the paper this is illustrated with the transformation
from a polynomial in `y`

:

(x^2 + 2x + 1)y^2 + (x^2 - 9)y - (20x^2 + 18x - 18)to the equivalent polynomial in

`x`

(y^2 + y - 20)x^2 + (2y^2 - 18)x + (y^2 - 9y + 18)This is achieved by means of the following pipeline of canonicalizations:

sum-of-monomonials; x-commuted-to-right; like-powers-collected; x-factored-out(Note that the paper uses a different notation for this.) The

`sum-of-monomonials`

transforms the polynomial into
x^2y^2 + 2xy^2 + y^2 + x^2y -9y -20x^2 - 18x + 18By commuting the multiplications, the

`x-commuted-to-right`

canonical form is achieved:
y^2x^2 + 2y^2x + y^2 + yx^2 -9y -20x^2 - 18x + 18The

`like-powers-collected`

canonical form commutes
the additions to bring monomonials with the same power of $x$
together:
y^2x^2 + yx^2 - 20x^2 + 2y^2x - 18x + y^2 -9y + 18Finally, by factoring out the powers of

`x`

, the desired form is
reached.

EelcoVisser - 07 May 2001

CategoryReview, CategoryTransformation | Contributions by EelcoVisser

Revision: r1.1 - 06 May 2001 - 23:37 - EelcoVisser

Copyright © 1999-2020 by the contributing authors.
All material on this collaboration platform is the property of the contributing authors.

Ideas, requests, problems regarding TWiki? Send feedback

Ideas, requests, problems regarding TWiki? Send feedback