Sous-sections

Other research Activities

Simplification in Computer Algebra Systems

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.

Conditional Expression

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.

References related to those activities

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.