How to untellrat?



Barton Willis wrote:

> To remove a tellrat fact, the function untellrat needs the kernel. How is
> a user to know the kernel? 

I think tellrat adds algebraic integers to the base field. This means 
solutions of polynomial equations with integer coeffs and monic higher order 
term. This is perhaps not explained clearly in the doc
niobe% maxima
(%i1) tellrat(2*y^2 -3*y +1);

Minimal polynomial must be monic
 -- an error. To debug this try: debugmode(true);
(%i2) tellrat(y^2 -3*y+1);
                                  2
(%o2)                           [y  - 3 y + 1]
(%i3) ratsimp(y^4+5*y^3 +1);
                                  4      3
(%o3)                            y  + 5 y  + 1
(%i4) algebraic:true;
(%o4)                                true
(%i5) ratsimp(y^4+5*y^3 +1);
(%o5)                              61 y - 22

So we have added the algebraic integer y which means that polynomials in y
are simplified (by writing repeatedly y^2=...) to first order. Conversely
it is natural to apply untellrat to the same algebraic integer y which
WILL become transcendental again. 

It seems that tellrat discovers itself its variables which however implies
choices if there are several variables.

(%i9) tellrat(y^2 -3*y+z^3);
                                  3    2
(%o9)                           [z  + y  - 3 y]
(%i10) ratsimp(y^5+z^5);
                                      2   2    5
(%o10)                        (3 y - y ) z  + y

So it has clearly chosen to say that z is an algebraic integer over the 
field obtained by adjoining the transcendental y to the rationals. I think
that says what is the "kernel". 
  

-- 
Michel Talon