Opened 11 years ago

Last modified 10 years ago

#435 assigned proposed feature

Extension polybori.lib

Reported by: dreyer Owned by: dreyer
Priority: minor Milestone: 3-1-5 and higher
Component: dontKnow Version: 3-1-4
Keywords: Cc: Max0791@…, sscherer90@…

Description (last modified by dreyer)

Maximilian Kammermeier and Susanne Scherer just finished polybori.lib for wrapping PolyBoRi via pyobjdect.), see attached. Now, PolyBoRi can be used in a very Singular-ish way:

  LIB "polybori.lib";

  ring r0=2,x(1..4),lp;
  poly f1=x(1)^2+2*x(2)*(x(3))-x(4)^3;
  poly f2=x(1)^2-x(3)*x(1);
  poly f3=x(2)+5-2*x(1);
  poly f4=x(1)*x(2)-x(3);
  ideal I=f1,f2,f3,f4;

  bideal bI = I;          // Convert to PolyBoRi data structues and add x(i)^2-x(i)
  bideal bRes = std(bI);  // actually calls PolyBoRi 

  ideal I2 = ideal(bRes); // convert back ...
  std(bRes[1..2]);        // ... or continue within PolyBoRi

This is the first shoot, so any comments are welcome!

Note: In addition to pyobject.so it needs the most recent development version of Singular as well as PolyBoRi installed in the search path of python or Singular.

Attachments (4)

polybori.lib (34.1 KB) - added by dreyer 11 years ago.
Singular Interface Library for PolyBoRi
polybori.tst (8.8 KB) - added by dreyer 11 years ago.
polybori.stat (328 bytes) - added by dreyer 11 years ago.
polybori.res.gz.uu (7.7 KB) - added by dreyer 11 years ago.

Download all attachments as: .zip

Change History (12)

comment:1 Changed 11 years ago by dreyer

Description: modified (diff)

Changed 11 years ago by dreyer

Attachment: polybori.lib added

Singular Interface Library for PolyBoRi

Changed 11 years ago by dreyer

Attachment: polybori.tst added

Changed 11 years ago by dreyer

Attachment: polybori.stat added

Changed 11 years ago by dreyer

Attachment: polybori.res.gz.uu added

comment:2 Changed 11 years ago by dreyer

Just added bideal concatenation.

comment:3 Changed 11 years ago by dreyer

Description: modified (diff)

comment:4 Changed 11 years ago by dreyer

Note: You can also avoid intermediate Singular polynomials as follows (useful for large Boolean polynomials):

LIB "polybori.lib";

ring r0=2,x(1..4),lp;
def x=bvar;

bpoly f1=x(1)+x(4);
bpoly f2=x(1)+x(3)*x(1);
bpoly f3=x(2)+1+x(1);
bpoly f4=x(1)*x(2)+x(3);
bideal bI=list(f1,f2,f3,f4);

std(bI);

comment:5 Changed 10 years ago by barakat

Resolution: wontfix
Status: newclosed

Thank you for your work. Is it OK to close the ticket?

comment:6 in reply to:  5 Changed 10 years ago by dreyer

Resolution: wontfix
Status: closedreopened

Replying to barakat:

Thank you for your work. Is it OK to close the ticket?

Well no, the LIB was not integrated into Singular yet, so this ticket must be kept as a reminder. But I can take over ownership.

According to Hans I've to add some How-To information, which I can do tomorrow.

comment:7 Changed 10 years ago by dreyer

Owner: changed from somebody to dreyer
Status: reopenednew

comment:8 Changed 10 years ago by dreyer

Status: newassigned

This was introduced to master here: https://github.com/Singular/Sources/pull/194

But it's still missing on spielwiese.

Note: See TracTickets for help on using tickets.