#19595: Implement a check that a hyperplane arrangement is free
-------------------------------------+-------------------------------------
Reporter: tscrim | Owner: tscrim
Type: enhancement | Status: needs_review
Priority: major | Milestone: sage-7.0
Component: geometry | Resolution:
Keywords: free, hyperplane | Merged in:
arrangement | Reviewers:
Authors: Travis Scrimshaw | Work issues:
Report Upstream: N/A | Commit:
Branch: | b10a0c819f1b50869ba620be849bbd12d199c146
public/hyperplanes/check_free-19595| Stopgaps:
Dependencies: |
-------------------------------------+-------------------------------------
Comment (by tscrim):
Replying to [comment:11 mmarco]:
> Another question: is this granted to work for non crystalographic
arrangements?
Barakat and Cuntz say explicitly at the beginning of Section 6 "free
''central'' arrangement". So it works well beyond inversion arrangements.
Replying to [comment:10 mmarco]:
> I have just given a very quick look at the code, but it seems to me that
you are actually computing a free resolution of the logarithmic derivation
module. Or at least the first steps of it. Is that correct?
From some quick Googling (your paper no less) and my (relatively small)
understanding of this area of math, I believe so.
> If this is the case, maybe it would be worth doing so by using Singular,
which already has this implemented.
I am not surprised, but a lot of Singular does not seem to be (well)
exposed with good interface classes. (Actually, AFAIK this is the first
implementation of a not-necessarily-free module in Sage.) I came across
Singular's free resolution code after I had made this, but I was lazy.
This did what I wanted and I didn't want to figure out the Singular
interface and write the wrappers.
> Something like
> {{{
> sage: R.<x,y,z,t> = QQ[]
> sage: f = x^3 + y^3 +z^3+ t^3
> sage: I = f.jacobian_ideal()
> sage: IS = I._singular_()
> sage: res = IS.mres(0)
> sage: len(res)
> 4
> }}}
> should give you a minimal free resolution of the logarithmic derivation
module of every homogenous polynomial f, so it would be free iff
len(res)<=2 .
>
> For the non homogenous case, one might need to work a little bit with
the homogenization of the polynomial, but it can also be done.
>
> Could you please compare the timings of your code with the singular
method?
I am all but certain your code works faster when the arrangement is not
free. I could (should) optimize my code by doing a backtracking algorithm
too; at least that would make it a more fair comparison. On my next push,
I will include an option for both algorithms.
--
Ticket URL: <http://trac.sagemath.org/ticket/19595#comment:13>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.