Ticket #7271 (closed defect: fixed)

Opened 10 months ago

Last modified 8 months ago

some small polybori interface fixes

Reported by: malb Owned by: malb
Priority: minor Milestone: sage-4.3.1
Component: commutative algebra Keywords: polybori, crypto
Cc: burcin, PolyBoRi, drkirkby Author(s): Martin Albrecht
Report Upstream: N/A Reviewer(s): Mike Hansen
Merged in: sage-4.3.1.alpha0 Work issues:

Description (last modified by malb) (diff)

  • implement var()
  • implemented new functions required by PolyBoRi?
  • fixed a few things in MPolynomialSystem

Attachments

polybori_fixes.patch Download (13.6 KB) - added by malb 10 months ago.
deps Download (12.1 KB) - added by malb 10 months ago.

Change History

Changed 10 months ago by malb

  • status changed from new to needs_review

Changed 10 months ago by mhansen

Why does variables() return an iterator? It returns a tuple for pretty much everything else in Sage. See #7077

Changed 10 months ago by malb

Because that's what PolyBoRi? expects internally.

Changed 10 months ago by mhansen

Can you explain in a bit more detail? How is PolyBoRi? using that method?

Changed 10 months ago by malb

Hi Mike, sorry for being so brief earlier, I was in a rush.

PolyBoRi? calls this function from various functions which are called by the groebner_basis function. The ones I could find quickly are:

polybori-0.6/pyroot/polybori/rank.py:    return p.lex_lead().variables().next()
polybori-0.6/pyroot/polybori/ll.py:      return Monomial(v).variables().next().index()
polybori-0.6/testsuite/py/parsegat.py:    return p.lead().variables().next()

As you can see, it calls next() immediatly on the result of variables(). Right now, certain GB computations will fail with an AttributeError because of this.

Changed 10 months ago by malb

I just received word that this will be changed in PolyBoRi?.

Changed 10 months ago by PolyBoRi

  • status changed from needs_review to needs_work

 http://bitbucket.org/brickenstein/polybori/changeset/48fab65072e9/

 http://bitbucket.org/brickenstein/polybori/changeset/e238ae62b9e6/

Regarding parsegat, as you can see, I moved a corrected version between our repositories (similar one-liner). But there is no dependency on parsegat.py . The only funny thing about the recent versions of parsegat.py is that, you can see a poor mathetician trying to recognize patterns from bad encoded circuits. I still have nightmares from it.

Changed 10 months ago by malb

  • status changed from needs_work to needs_review
  • description modified (diff)

I prepared a new SPKG and a new patch.

The SPKG is available at:

 http://sage.math.washington.edu/home/malb/spkgs/polybori-0.6.3.r1647-20091028.spkg

Changed 10 months ago by malb

Changed 10 months ago by malb

Mike, I reversed the iterator change in the latest patch. Can you review it?

Changed 10 months ago by malb

I am attaching a new deps file to this ticket, to address

 http://groups.google.com/group/sage-devel/browse_thread/thread/122f067d8947148d/

Changed 10 months ago by malb

  • attachment deps Download added

Changed 10 months ago by malb

The only thing changed in the deps file (which isn't under revision control) is that PolyBoRi? now depends on M4RI

Changed 10 months ago by drkirkby

  • cc drkirkby added

There are several issues I am aware of with m4ri, which should perhaps be sorted out before code is added that depends on it.

#7171 - Although reported against HP-UX, this is more serious, as it is broken on Solaris too. #7037 - libm4ri thinks the C compiler is broken

I beleive the current version of PolyBoRi? might actually build with Sun's compiler, but this would stop that, if it has a dependancy which does not.

Changed 10 months ago by drkirkby

Oops, for some reason I was not aware of this ticket despite being CCed on it. Nor of #7375, which aims to address the issues in M4RI, so my comments are probably out of place. I will look at #7375 soon, but would be unable to review this ticket.

Dave

Changed 9 months ago by malb

  • upstream set to N/A

Hi, I was wondering if I someone could review this ticket now that the M4RI issues are resolved?

Changed 9 months ago by mhansen

  • status changed from needs_review to positive_review
  • reviewer set to Mike Hansen

The patch looks good. I'll add it first thing after 4.3, which should hopefully be out in the next day or two.

Changed 8 months ago by mhansen

  • status changed from positive_review to closed
  • resolution set to fixed
  • merged set to sage-4.3.1.alpha0
Note: See TracTickets for help on using tickets.