Opened 11 years ago
Closed 11 years ago
#7271 closed defect (fixed)
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 | Merged in: | sage-4.3.1.alpha0 |
Authors: | Martin Albrecht | Reviewers: | Mike Hansen |
Report Upstream: | N/A | Work issues: | |
Branch: | Commit: | ||
Dependencies: | Stopgaps: |
Description (last modified by )
- implement var()
- implemented new functions required by PolyBoRi?
- fixed a few things in MPolynomialSystem
Attachments (2)
Change History (18)
comment:1 Changed 11 years ago by
- Status changed from new to needs_review
comment:2 Changed 11 years ago by
comment:3 Changed 11 years ago by
Because that's what PolyBoRi? expects internally.
comment:4 Changed 11 years ago by
Can you explain in a bit more detail? How is PolyBoRi? using that method?
comment:5 Changed 11 years ago by
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.
comment:6 Changed 11 years ago by
I just received word that this will be changed in PolyBoRi?.
comment:7 Changed 11 years ago by
- 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.
comment:8 Changed 11 years ago by
- Description modified (diff)
- Status changed from needs_work to needs_review
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 11 years ago by
comment:9 Changed 11 years ago by
Mike, I reversed the iterator change in the latest patch. Can you review it?
comment:10 Changed 11 years ago by
I am attaching a new deps file to this ticket, to address
http://groups.google.com/group/sage-devel/browse_thread/thread/122f067d8947148d/
Changed 11 years ago by
comment:11 Changed 11 years ago by
The only thing changed in the deps file (which isn't under revision control) is that PolyBoRi? now depends on M4RI
comment:12 Changed 11 years ago by
- 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.
comment:13 Changed 11 years ago by
comment:14 Changed 11 years ago by
- Report Upstream set to N/A
Hi, I was wondering if I someone could review this ticket now that the M4RI issues are resolved?
comment:15 Changed 11 years ago by
- Reviewers set to Mike Hansen
- Status changed from needs_review to positive_review
The patch looks good. I'll add it first thing after 4.3, which should hopefully be out in the next day or two.
comment:16 Changed 11 years ago by
- Merged in set to sage-4.3.1.alpha0
- Resolution set to fixed
- Status changed from positive_review to closed
Why does variables() return an iterator? It returns a tuple for pretty much everything else in Sage. See #7077