Hi!
I try to find out a solution by myself, but without result.
I have to call a singular function (vanishId) in the library
decodegb.lib. I write:

from sage.libs.singular.function import singular_function
from sage.libs.singular.function import lib as singular_lib
singular_lib('decodegb.lib')
singular_lib('matrix.lib')

vanish = singular_function('vanishId');
R=PolynomialRing(GF(11),['x%s'%p for p in range(0,17)],'degrevlex');
x=R.gens();

..
the main program write in sage
..

I have a list of lists, called points, and i eliminate duplicates
here:

provv=list();

for i in range(0,m-1):
    cont=0;
    for j in range(i+1,m-1):
        if points[j]==points[i]:
            j=m-1;
            cont=1;
        if cont==0:
            provv.append(points[i]);

Now i have to convert sage list of lists into singular list of columns
vectors ( because vanishId takes a list of columns vectors)

presing=list();
for i in range (0,len(provv)):
    presing.append(singular.matrix(1,17,provv[i]));


I set the ring to use ( also if i have declarated it before)

Rid = singular.ring(0, '(x(0..12))', 'dp')

I use it

Rid.set_ring();

I call the function

id=vanish(presing);


Traceback (click to the left of this block for traceback)
...
ValueError: Could not detect ring.

Traceback (most recent call last):    R=PolynomialRing(GF(11),['x%s'%p
for p in range(0,17)],'degrevlex');
  File "", line 1, in <module>

  File "/tmp/tmpJ3mx02/___code___.py", line 138, in <module>
    Rid.set_ring();id=vanish(presing);
  File "", line 1, in <module>

  File "function.pyx", line 1000, in
sage.libs.singular.function.SingularFunction.__call__ (sage/libs/
singular/function.cpp:9581)
  File "function.pyx", line 1092, in
sage.libs.singular.function.SingularFunction.common_ring (sage/libs/
singular/function.cpp:10067)
  File "function.pyx", line 1109, in
sage.libs.singular.function.SingularFunction.common_ring (sage/libs/
singular/function.cpp:10289)
ValueError: Could not detect ring.

If i try to call vanishId like this:


id=vanish(presing,ring=R);


raceback (most recent call last):    R=PolynomialRing(GF(11),['x%s'%p
for p in range(0,17)],'degrevlex');
  File "", line 1, in <module>

  File "/tmp/tmpO_XUc7/___code___.py", line 139, in <module>
    id=vanish(presing,ring=R);
  File "", line 1, in <module>

  File "function.pyx", line 1003, in
sage.libs.singular.function.SingularFunction.__call__ (sage/libs/
singular/function.cpp:9645)
  File "function.pyx", line 1155, in
sage.libs.singular.function.call_function (sage/libs/singular/
function.cpp:10617)
  File "function.pyx", line 348, in
sage.libs.singular.function.Converter.__init__ (sage/libs/singular/
function.cpp:4645)
  File "function.pyx", line 642, in
sage.libs.singular.function.Converter.append_list (sage/libs/singular/
function.cpp:7330)
  File "function.pyx", line 368, in
sage.libs.singular.function.Converter.__init__ (sage/libs/singular/
function.cpp:4877)
TypeError: unknown argument type '<class
'sage.interfaces.singular.SingularElement'>'

If i set the ring in "id=vanish(presing,ring=R);" like a singular ring
i recive:

TypeError: Argument 'ring' has incorrect type (expected
sage.rings.polynomial.multi_polynomial_libsingular.MPolynomialRing_libsingular,
got SingularElement)

I try everything! If someone know the truth post it!!!
Thanks
Best regards!
Andrea

-- 
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URL: http://www.sagemath.org

Reply via email to