def __classcall_private__(cls, part, k): r""" Implements the shortcut ``Core(part, k)`` to ``Cores(k,l)(part)`` where `l` is the length of the core. TESTS:: sage: c = Core([2,1],4); c [2, 1] sage: c.parent() 4-Cores of length 3 sage: type(c) <class 'sage.combinat.core.Cores_length_with_category.element_class'> sage: Core([2,1],3) Traceback (most recent call last): ... ValueError: [2, 1] is not a 3-core """ if isinstance(part, cls): return part part = Partition(part) if not part.is_core(k): raise ValueError("%s is not a %s-core" % (part, k)) l = sum(part.k_boundary(k).row_lengths()) return Cores(k, l)(part)
def __init__(self, core, parent): """ TESTS:: sage: C = Cores(4,3) sage: c = C([2,1]); c [2, 1] sage: type(c) <class 'sage.combinat.core.Cores_length_with_category.element_class'> sage: c.parent() 4-Cores of length 3 sage: TestSuite(c).run() sage: C = Cores(3,3) sage: C([2,1]) Traceback (most recent call last): ... ValueError: [2, 1] is not a 3-core """ k = parent.k part = Partition(core) if not part.is_core(k): raise ValueError, "%s is not a %s-core"%(part, k) CombinatorialObject.__init__(self, core) Element.__init__(self, parent)
def __init__(self, core, parent): """ TESTS:: sage: C = Cores(4,3) sage: c = C([2,1]); c [2, 1] sage: type(c) <class 'sage.combinat.core.Cores_length_with_category.element_class'> sage: c.parent() 4-Cores of length 3 sage: TestSuite(c).run() sage: C = Cores(3,3) sage: C([2,1]) Traceback (most recent call last): ... ValueError: [2, 1] is not a 3-core """ k = parent.k part = Partition(core) if not part.is_core(k): raise ValueError, "%s is not a %s-core" % (part, k) CombinatorialObject.__init__(self, core) Element.__init__(self, parent)
def __classcall_private__(cls, part, k): r""" Implements the shortcut ``Core(part, k)`` to ``Cores(k,l)(part)`` where `l` is the length of the core. TESTS:: sage: c = Core([2,1],4); c [2, 1] sage: c.parent() 4-Cores of length 3 sage: type(c) <class 'sage.combinat.core.Cores_length_with_category.element_class'> sage: Core([2,1],3) Traceback (most recent call last): ... ValueError: [2, 1] is not a 3-core """ if isinstance(part, cls): return part part = Partition(part) if not part.is_core(k): raise ValueError, "%s is not a %s-core"%(part, k) l = sum(part.k_boundary(k).row_lengths()) return Cores(k, l)(part)