Sous-sections
During my thesis I studied the Simplification Process in Computer
Algebra Systems.
In classic computer algebra systems, simplification is weakly
parameterized. In fact if the form of a simplified expression does not
come up to the user's expectation, he can't change it easily. He must
define completely new operators.
We have defined a new class of simplifiers parameterized by equations,
rewriting rules and properties. But computer algebra consists of
simplification and evaluation. The user must control evaluation as
well as simplification, we introduce a parameterization for the
evaluator.
In order to take into account more accurate informations, we
introduced a new kind of information called formal type.
Evaluation and simplification processes are then controlled by a
typing mechanism.
In order for the interpreter to be customizable, we suggest to
separate the informations it uses from the processes that manage them.
We built a prototype of such an interpreter called Ulysse.
For my post-doctoral research, I worked with James H. Davenport at the
University of Bath (GB) in the Computing Group a team of the School of
Mathematical Sciences.
One of the main strengths of computer algebra is being able to solve a
family of problems with one computation. In order to express not only
one problem but a family of problems, one introduces some symbols
which are in fact the parameters common to all the problems of the
family.
The user must be able to understand in which way these parameters
affect the result when he looks at the results. Otherwise it may lead
to completely wrong calculus, which when used for numerical
applications bring nonsensical answers.
This is the case in most current Computer Algebra Systems we know
because the form of the answer is never explicitly conditioned by the
values of the parameters. The user is not even informed that the given
answer may be wrong in some cases. Then computer algebra systems can not be
entirely trust-able. This problem has been highlighted
in previous papers.
I have introduced multi-valued expressions called
conditional expressions, in which each potential value is
associated with a condition on some parameters. This is used, in
particular, to capture the situation in integration, where the form of
the answer can depend on whether certain quantities are positive,
negative or zero.
I have augmented Axiom with a new data type known as
ConditionalExpression
(abbreviated as CEX
), together
with various supporting structures and categories, notably EXC
(short for ExpressionCondition
) which is the type of the sign
conditions allowed on (real-valued) expressions.
- C. Faure.
- Objets conditionnels et objets inconnus.
Rapport de recherche 2298, INRIA, July 1994.
- J.H. Davenport and C. Faure
- The ``unknown'' in computer algebra.
Programmirovanie, 1:4-10, 1994.
- C. Faure
- Quelques aspects de la Simplification en Calcul Formel.
PhD thesis, Université de Nice Sophia-Antipolis, 1992.
- C. Faure, A. Galligo, J. Grimm, and L. Pottier
- The extensions of the sisyphe computer algebra system : ulysse
and athena.
In J. Fitch, editor, Design and Implementation of Symbolic
Computation Systems, volume 721 of LNCS, pages 44-55.
Springer-Verlag, 1992.
- C. Faure
- Towards a meta simplifier.
Rapport de recherche 1402, INRIA, April 1991.
- C. Faure
- A meta simplifier.
In Proc. of ISSAC, page 290. ACM Press, 1990.