Hi all

> Well, we just need a resultant algorithm that doesn't go through
> Singular.  I'm planning to write such a thing as part of my
> cylindrical algebraic decomposition implementation sometime in the
> next few months.
>
> Carl

yes, I agree with that.

William, unfortunately I can't understand what the function "variety"
will help for. Basically, I just wanted to see if I could implement
the most basic algorithm for rational functions integration, and I
followed the link in the Pynac wiki. Probably, my mistake was to
introduce polynomials in this path, but that's the only place where I
found the "resultant()" function. Do you have any alternative
suggestion?

Carl, I took advantage of your suggestion, even though I assume I
can't still go through the whole process with the current gcd
capabilities in Pynac. But before than that, I'd like to point out
something strange I did notice, and maybe also Burcin can help with
that:

reset()
# P.<x,y,z> = PolynomialRing(QQ)
# P.<x,y,z> = GF(5)[]
P.<x,z> = QQ[]

A = 1
B = x^3 + x

tores = A - z*diff(B,x)
res = tores.resultant(B,x); factor(res)
res1 = res.univariate_polynomial()
sol1 = res1.roots(ring = QQbar)

with this code, I get the roots over QQbar, which is useful. Then I'd
like to move to the symbolic field and I do this:

var('x, zs', ns = 1)
from sage.symbolic.ring import NSR
As = NSR(A)
Bs = NSR(B)
Bs
     x^3 + x
Bs.diff(x)
     0

So, the derivative is not working. Which is the cause? It seems that
the "x" in Bs is not the "x" I declared, so the derivative gets 0 as a
result. Which is the reason?

Assuming to go on (manually for the moment), I do:
c1 = QQbar(sol1[0][0])
v1a = A - c1*(3*x^2 + 1)
Bs.gcd(v1a)

Traceback (click to the left for traceback)
...
RuntimeError: gcd: arguments must be polynomials over the rationals

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/notebook/sage_notebook/worksheets/admin/4/code/135.py",
line 9, in <module>
    Bs.gcd(v1a)
  File "/usr/local/sage/local/lib/python2.5/site-packages/
zope.interface-3.3.0-py2.5-linux-i686.egg/", line 1, in <module>

  File "expression.pyx", line 1624, in
sage.symbolic.expression.Expression.gcd (sage/symbolic/expression.cpp:
8608)
RuntimeError: gcd: arguments must be polynomials over the rationals

My point is: even though I could get the roots in QQbar (which are
exact), it seems that Pynac is not happy to work with QQbar
quantities, the only supported seems to be QQ pure rationals.

Moreover, I don't see this being the right way to do this, because
(for this particular problem: integration) I don't like having the
numerical representation of things like sqrt(5), even if the result is
still correct, so that

temp = QQbar(sqrt(5)); temp
2.236067977499790?

temp^2
5.000000000000000?

So, please tell me. Which should be the right way to try to approach
this indefinite integration problem? You can see that I'm not that
good in deep mathematical theory, but approaching the simplest problem
(that could be different from this one I'm looking at right now) is
fun :)

Regards

Maurizio
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to