#18133: Implement Orlik-Solomon algebra of an arrangement
-------------------------------------+-------------------------------------
Reporter: kcrisman | Owner:
Type: enhancement | Status: needs_review
Priority: major | Milestone: sage-6.10
Component: geometry | Resolution:
Keywords: hyperplane | Merged in:
arrangements | Reviewers:
Authors: Travis Scrimshaw, | Work issues:
William Slofstra | Commit:
Report Upstream: N/A | 241712977960b49fc83984c11d07462b045352cf
Branch: | Stopgaps:
public/algebras/orlik_solomon-18133|
Dependencies: |
-------------------------------------+-------------------------------------
Comment (by darij):
I didn't know that this algebra could be defined for any matroid! That's
really nice.
On the other hand, I'm afraid the code doesn't properly iterate the
reduction.
{{{
sage: M4 = matroids.CompleteGraphic(4)
sage: OS = M4.orlik_solomon_algebra(QQ)
sage: OS._reduce_broken_circuit(frozenset({2,3,4}))
OS{1, 3, 4} + OS{1, 2, 3} - OS{1, 2, 4}
}}}
The result is malformed: {1, 3, 4} itself contains a broken circuit, so
one of the monomials isn't actually a monomial. Now you could argue that
this is an underscored method and might do with malformed results if the
method calling it knows what it's doing, but first of all I'm not sure
whether the CombinatorialFreeModule framework will keep accepting such
monomials in the future, and second I cannot guarantee that the
multiplication as you implemented it still works with this implementation
of `_reduce_broken_circuit`.
The point is, reducing an element modulo the ideal J(M) is a multistep
process, as clearing out one broken circuit might create another. If you
do it until no more broken circuits remain, then I think your product is
correct (though I'll have to take another look).
Another issue is the `algebra_generators`: You're setting the `i`-th
generator to be `self.monomial(frozenset([i]))`, but this too might be
malformed. (For example, if `M` is a uniform matroid `U_{n,1} =
matroids.Uniform(1,n)`, then all basis elements are equal, which means
that they cannot be distinct basis elements.)
I think both of these issues can be fixed at once. Let me do it.
--
Ticket URL: <http://trac.sagemath.org/ticket/18133#comment:10>
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.