On Mon, 3 Nov 2008, Bill Page wrote:
Thanks Martin, that was a very useful reference. Actually it turns out
that RealClosure is pretty cool.
Thank you Renaud!
(1) -> P:=p^3-p+1/10
3 1
(1) p - p + --
10
Type: Polynomial Fraction Integer
(2) -> S:=select(positive?,allRootsOf(P)$RealClosure(Fraction Integer))
(2) [%A36,%A37]
Type: List RealClosure Fraction Integer
Thank you Bill for showing how to use 'RealClosure' in this example. In fact,
I have been looking a pair of days on how to use it, but, because of the lack
of proper documentation the best that I could get was:
L:=allRootsOf(p^3 - p + 1/10)$RECLOS(FRAC INT)
[%A1,%A2,%A3]
Type: List RealClosure Fraction Integer
map(mainCharacterization,L)
1 1
[[- 4,0[,[0,-[,[-,1[]
2 2
Type: List Union(RightOpenIntervalRootCharacterization(RealClosure Fraction Inte
ger,SparseUnivariatePolynomial RealClosure Fraction Integer),"failed")
which it was not so far.
Now, my next question is about selecting the two real roots out of the four
produced by 'radicalSolve' here:
f:=(x^3+x^2-4*x-4)/(2*x^2+7*x-4)
fp:=differentiate(f,x)
radicalSolve(fp,x)
The problem is that
allRootsOf(fp)$RealClosure(Fraction Integer)
produces the typical cryptic message:
"There are 7 exposed and 0 unexposed library operations named..."
So, can these real roots be selected by a similar method?
Alejandro Jakubi
_______________________________________________
Axiom-math mailing list
Axiom-math@nongnu.org
http://lists.nongnu.org/mailman/listinfo/axiom-math