Exemplo n.º 1
0
    def octants(self):
        assert self._degrees.is_finite()
        from sage.combinat.posets.posets import Poset

        def pocom(a, b):
            t1, e1, s1 = a
            t2, e2, s2 = b
            if (t1 in (t2, 0)) and (e1 in (e2, 0)) and (s1 in (s2, 0)):
                return True
            return False

        X = Poset(([(sgn(t), sgn(e), sgn(s)) for (t, e, s) in self._degrees], pocom))
        return [list(u) for u in X.maximal_elements()]