Development Computer Mathematics

Also see the theses at RISC Linz supervised by Wolfgang Schreiner.

=Current Call for Students' Projects (Computer Math), English, German=

The tasks below primarily concern a re-engineering of the elementary functions of algebra systems for a 'singel stepping mode' currently under construction also by producers of commercial algebra systems. ISAC, however, goes far beyond their goals as a 'transparent system' -- see ISACs conception.

ISAC's features lead to flexible systems which will advance into science education. For instance, the first Figure shows a problem solution of an engineer for a Z Transform in Sig- nalprocessing,



and the second Figure shows the same calculation in stepwise constructing a partial fraction decomposition.



For the developer within the tasks below is important to know, that he needs not to consider user-interactions (this is done by ISACs method interpreter and dialog component), and he needs not to bother with 'programming': all math knowledge within ISAC is described in the high-order language of the theoremprover Isabelle, which gives formulae very close to traditional mathematical notation for: theorems, problem(-types like types of equations with specific predicates), methods (solving types of problems).

Interest in programming with SML is a prerequisite. See the preliminary documentation of the ISAC-interfaces for math developers.

=Open Projects=

Algebraic Simplification for various domains
is a basic feature in Computer Algebra and in engineering applications, which actually ``simplifies´´ terms:

$$\frac{2 * a + 3 * b}{b * c} + \frac{3 * c + a}{a * c} - \frac{2 * a ^ 2 + 3 * b * c}{a * b * c} = \frac{4}{c}$$

ISAC's simplifier already works partially for integer terms and rational terms, and cancellation of multivariate polynomials is under construction at RISC already.

The goal of this task is to embed cancellation into ISAC's simplifier, to extend the simplifier to complex numbers and to develop specific simplifiers for the equation solver.

Equation solving
is another basic feature known from Computer Algebra; in a TP environment, however, more precision is requested: we want to be sure to get all solutions of an equation. And equation solving shall be re-engineered for stepwise construction of solutions.

ISAC can solve some specific equations presently. But ISAC has a (still!) unique feature of "automated problem refinement": a hierarchy of equation types is searched (beginning with problem hierarchy > equation > univariate) for the type appropriate for a particular equation to solve.

The goal of this task is to generalise ISAC’s equation solver to all elementary univariate equations over the reals and to univariate equations over complex terms.

Integration for single stepping systems
Integration, as the “inverse problem” of differentiation, has evolved to general algorithms which immediately switch to complex fields; these algorithms are implemented in Computer Algebra as black boxes.

This task will open these black boxes for educational purposes; thus the first collection of respective algorithms shall be as elementary as possible. Elementary algorithms, however, are not that general; so this task will arrange the algorithms in a hierarchy of integral types, which can be used for automated refinement analogous to ISAC ’s equation solver.

This sub-project does the first step for integration within 3 tasks:


 * 1) identify classes of integrals which can be solved by elementary methods (e.g. partial fractions) and implement them in ISAC
 * 2) assemble the classes in a hierarchical structure and implement them according to ISAC's problem refinement mechanism
 * 3) investigate how state-of-the-art techniques of integration can contribute to assign certain integrals to the classes identified and implemented, and how these techniques can provide other kinds of elementary explanations.

Prerequisites: Interest to do some SML coding required for implementation in collaboration with the isac-team.

[1] Risch, R.H., The Problem of Integration in Finite Terms. Transactions of the American Mathematical Society 139: p.167-189, 1969.

[2] Bronstein, M., Symbolic Integration I. Springer-Verlag. Berlin Heidelberg

See also here.

Stepwise solving of equational systems
State-of-the-art in solving polynomial equation systems is the Buchberger algorithm [1]. Respective Groebner bases [2] are implemented in Isabelle: Isabelle aims at verification of correctness, while ISAC aims at stepwise construction of solutions. So, [3] states

lemma fixes x::"'a::{idom,number_ring}" shows $$x^2\cdot y = x^2 \land x\cdot y^2 = y^2 \Longleftrightarrow x=1 \land y=1 \;\lor\; x=0 \land y=0$$ by algebra

i.e. the solution is given "by magic" and proven correct. ISAC aims at modeling stepwise construction of the solution as done generally in science education and during the "white box phase" in math education.

This sub-project does the first step towards ISAC's aims within 4 tasks:


 * 1) implement the Buchberger algorithm in ISAC's TP-based programming language
 * 2) identify classes of equational systems which can be solved by elementary methods (e.g. cut a circle with a straight line) and implement them in isac by use of an existing tool box for rewrite orders
 * 3) assemble the classes in a hierarchical structure and implement them according to isac's problem refinement mechanism
 * 4) investigate how Groebner bases can contribute to assign certain equational systems to the classes identified and implemented, and how the Buchberger algorithms can provide other kinds of elementary explanations [4].

Prerequisites: Interest to do some SML coding required for implementation in collaboration with the isac-team.

[1] Buchberger, B., Theoretical Basis for the Reduction of Polynomials to Canonical Forms. ACM SIGSAM Bull. 10 (3): 19-29. ACM. 1976 [2] http://isabelle.in.tum.de/dist/library/HOL/Groebner_Basis.html [3] http://isabelle.in.tum.de/dist/library/HOL/ex/Groebner_Examples.html

[4] Middeldorp, A. and Starcevic M., A Rewrite Approach to Polynomial Ideal Theory. report CS-R9160, CWI, Amsterdam, 1991

See also here.

Tool set of rewrite orders
Tasks in symbolic computation require various "normal forms", for instance, learning differentiaton would be easier if terms are given in different orders:

* $$\frac{d}{da} (b^5\cdot x^2\;\;\;\;\ + b\cdot x\cdot a + \sqrt{2\cdot b}\cdot a^2)$$

* $$\frac{d}{db} (a^2\cdot \sqrt{2\cdot b} + a\cdot x\cdot b + x^2\cdot b^5\;\;\;\; )$$

or identification of types of equations

* $$ solve \;(a + (5\cdot b)\cdot x + (4\cdot c)\cdot x^2 = 0, x)$$

or collect monoms to polynomial normal forms

* $$2\cdot (b\cdot x) + 3\cdot (b\cdot x) \;\longrightarrow\; (2 + 3)\cdot (b\cdot x) \;\longrightarrow\; 5\cdot (b\cdot x) \;\longrightarrow\; 5\cdot b\cdot x$$

etc. Such normal forms are most elegantly obtained by ordered rewriting. Rewriting also has the advantage to generate steps of a calculation justified by rewrite rules.

The task of this project is to provide a tool set of rewrite orders (or "reduction orders") and apply it to specified term rewriting systems (AC rewriting systems) in ISAC's simplifiers and equation solvers. ISAC, www.ist.tugraz.at/isac, is an experimental single stepping system which preliminarily orders terms using SML-code directly.

Prerequisites: Basic knowledge in rewriting and some Standard ML

Algebraic simplification of radical expressions
Major parts in algebraic simplification are accomplished by rewriting. However, specific parts require specific techniques of symbolic computation. For instance, canceling multivariate rational expressions requires "Hensel lifting" [1].

The task of this thesis is to implement the "Caviness-Fateman algorithm" [2] for simplifying radical expressions, i.e. roots and potencies with rational exponents into ISAC's simplifiers. An additional challenge is to investigate if the technique of "reverse rewriting" introduced in [1] can be extended to this topic.

Simplification of radical expressions will significantly extend the applicability of ISAC as a "transparent single stepping system for applied mathematics" (www.ist.tugraz.at/isac) to education.

Prerequisites: Basic knowledge in rewriting and some Standard ML.

[1] Karnel, S., Groesste gemeinsame Teiler in Polynomringen und Implementierung im isac-Projekt, Graz University of Technology, Institute of Mathematics, 2002. [2] Buchberger, B. and Loos, R., Algebraic Simplification. In: Computer Algebra - Symbolic and Algebraic Computation, p.11-44, Springer, 1982.

Facelifting for the results of simplification
The normalforms resulting from simplification are not that simple, the naive user would expect. Algebra Systems, thus, append a phase of rewriting coming closer to the naive expectations. Analogous term rewriting sets shall be designed and implemented for ISACs rewriter.

Algebraic and transcendental equations
This topic requires the design of the hierarchy (integrated into the existing hierarchy of polynomial and rational equations), i.e. appropriate normal forms, patterns and predicates for the preconditions; it includes the implementation of the respective problem types together with methods solving them.

=Postponed projects=

Floating point numbers
will be introduced to Isabelle as a new datatype; this topic includes the numeric computation features, and addresses the approximative nature of floating point numbers (when they represent reals) following hints given by John Harrison. This task requires some knowledge of SML.

Symbolic computation on complex numbers
Complex numbers are already implemented in Isabelle 2003; because ISAC employs its own 'single stepping' rewrite engine, these numbers need to be integrated into the respective simplifiers.

Factorization
in multivariate polynomial rings, plus application for equation solving.

Problem-types for calculus
provide for a knowledge widely used application domain in engineering. This knowledge will comprise the stuff taught at (technical) high-schools.

This list is not at all exhaustive !!!

=Projects under construction or finished=

Cancellation of multivariate rationals (Finished 2002, 2nd attempt under construction)
Simplification of rationals involves cancellation, which requires some generalization of Euclids algorithm, and can not be done by rewriting. In order to still realize ISAC working stepwise transparenty, a novel kind of 'reverse rewriting' has to be implemented.

Simplification of integers and rationals (Finished 2003)
Building upon the 'cancellation of rationals' canonical simplifiers over multivariate integer terms and rational terms are to be designed. The simplifiers are to be implemented for ISACs rewriter which offers ordered and conditional rewriting.

Elementary equation solving (Finished 2003)
By use of the simplifiers already implemented an equation solver for elementary equations has to be designed and implemented. The design of the types of equations has to follow those established in math courses, and also the algorithms for solving have to follow educational traditions (and not efficiency and generality).