def __classcall_private__(cls, cartan_type, wt=None): r""" Normalize the input arguments to ensure unique representation. EXAMPLES:: sage: La = RootSystem(['A', 2]).weight_lattice().fundamental_weights() sage: RC = crystals.RiggedConfigurations(La[1]) sage: RC2 = crystals.RiggedConfigurations(['A', 2], La[1]) sage: RC is RC2 True """ if wt is None: wt = cartan_type cartan_type = wt.parent().cartan_type() else: cartan_type = CartanType(cartan_type) wt_lattice = cartan_type.root_system().weight_lattice() wt = wt_lattice(wt) if not cartan_type.is_simply_laced(): vct = cartan_type.as_folding() return CrystalOfNonSimplyLacedRC(vct, wt) return super(CrystalOfRiggedConfigurations, cls).__classcall__(cls, wt)
def __classcall_private__(cls, cartan_type): r""" Normalize the input arguments to ensure unique representation. EXAMPLES:: sage: RC1 = crystals.infinity.RiggedConfigurations(CartanType(['A',3])) sage: RC2 = crystals.infinity.RiggedConfigurations(['A',3]) sage: RC2 is RC1 True """ cartan_type = CartanType(cartan_type) if not cartan_type.is_simply_laced(): vct = cartan_type.as_folding() return InfinityCrystalOfNonSimplyLacedRC(vct) return super(InfinityCrystalOfRiggedConfigurations, cls).__classcall__(cls, cartan_type)
def __classcall_private__(cls, cartan_type): r""" Normalize the input arguments to ensure unique representation. EXAMPLES:: sage: RC1 = crystals.infinity.RiggedConfigurations(CartanType(['A',3])) sage: RC2 = crystals.infinity.RiggedConfigurations(['A',3]) sage: RC2 is RC1 True """ cartan_type = CartanType(cartan_type) if not cartan_type.is_simply_laced(): vct = cartan_type.as_folding() return InfinityCrystalOfNonSimplyLacedRC(vct) return super(InfinityCrystalOfRiggedConfigurations, cls).__classcall__(cls, cartan_type)