Thanks for the information; maybe some of your answer should be in the
user documentation.
As for a user determining the so called kernel, maybe something like this
works:
(%i2) tellrat(x^2 + x*y + z);
(%o2) [z+x*y+x^2]
(%i3) :lisp(print tellratlist)
(($Z 1 1 0 ((MPLUS RATSIMP) ((MTIMES RATSIMP) $X $Y) ((MEXPT RATSIMP) $X
2))))
(($Z 1 1 0 ((MPLUS RATSIMP) ((MTIMES RATSIMP) $X $Y) ((MEXPT RATSIMP) $X
2))))
(%i3) :lisp(defun $tellrat_kernel () (caar tellratlist))
$TELLRAT_KERNEL
(%i3) tellrat_kernel();
(%o3) z
(%i4) untellrat(tellrat_kernel());
(%o4) []
(%i5) ratsimp(x^2 + x*y + z);
(%o5) z+x*y+x^2
Hours ago, I found a better way to do what I wanted without tellrat.
--Barton
maxima-bounces at math.utexas.edu wrote on 03/18/2011 01:25:43 PM:
> [image removed]
>
> Re: [Maxima] How to untellrat?
>
> Michel Talon
>
> to:
>
> maxima
>
> 03/18/2011 01:26 PM
>
> Sent by:
>
> maxima-bounces at math.utexas.edu
>
> 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
>
> _______________________________________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima