Representing Elementary Functions in a CAS

208 Views Asked by At

I've looked through several books about computer algebra. They are surprisingly scarce about how to actually represent elementary functions.

Basically, as far as I understood elementary functions are roughly

$$\textbf{Quot}\left(\mathbb K[x, \exp x, \exp x^2 \log x, \ldots] \right)$$

that is rational functions over field $\mathbb K$, with variables (or kernels) $x$, $\exp x$, $\exp x^2$, $\log x$ and so on. Other function can be added.

However it doesn't seem possible to have a finite set of kernels to represent what is meant by elementary functions. For example it should contain all kernels of the form $\exp x^n$ or $\exp \exp \ldots \exp x$. And no way you can just enumerate an infinite set within a CAS.

Apparently the algebraic treatment of elementary functions lacks the notion of composition of functions.

How is composition introduced?

What is the algebraic treatment of elementary functions that can be fed to a computer?

2

There are 2 best solutions below

0
On BEST ANSWER

I've resolved the issue and my concerns in the FriCAS mailing list. I just thought one cannot define two types that would refer to each other, but I was wrong.

3
On

Typical problems such as integration and summation and solving differential and difference equations all take place in finitely-generated extensions of the constant field, so there is no need to explicitly represent such infinite sets (e.g. by using composition algebras).

For references to the theory behind the algorithms see for example Bronstein, Integration of transcendental functions, and Singer and van der Put, Galois theory of difference equations, and Bronstein, Petkovsek et. al on methods (going back to Ore) that unify the differential and difference ring cases.