def wrapper(*args, **kwds): from sage.misc.superseded import experimental_warning experimental_warning( self.trac_number, 'This class/method/function is marked as ' 'experimental. It, its functionality or its ' 'interface might change without a ' 'formal deprecation.', self.stacklevel) return func(*args, **kwds)
def wrapper(*args, **kwds): from sage.misc.superseded import experimental_warning experimental_warning(self.trac_number, 'This class/method/function is marked as ' 'experimental. It, its functionality or its ' 'interface might change without a ' 'formal deprecation.', self.stacklevel) return func(*args, **kwds)
def wrapper(*args, **kwds): from sage.misc.superseded import experimental_warning if not wrapper._already_issued: experimental_warning( self.trac_number, "This class/method/function is marked as " "experimental. It, its functionality or its " "interface might change without a " "formal deprecation.", self.stacklevel, ) wrapper._already_issued = True return func(*args, **kwds)
def __init__(self, lie): r""" EXAMPLES:: sage: L = LieAlgebra(QQ, 3, 'x') sage: TestSuite(L.Hall()).run() """ experimental_warning(16823, "The Hall basis has not been fully proven correct," " but currently no bugs are known") FreeLieBasis_abstract.__init__(self, lie, "Hall") # Register the coercions Lyn = lie.Lyndon() Hom_HL = Hom(self, Lyn) Hom_LH = Hom(Lyn, self) LieAlgebraHomomorphism_im_gens(Hom_HL, Lyn.gens()).register_as_coercion() LieAlgebraHomomorphism_im_gens(Hom_LH, self.gens()).register_as_coercion()
def __init__(self, lie): r""" EXAMPLES:: sage: L = LieAlgebra(QQ, 3, 'x') sage: TestSuite(L.Hall()).run() """ experimental_warning(16823, "The Hall basis has not been fully proven correct," " but currently no bugs are known") FreeLieBasis_abstract.__init__(self, lie, "Hall") # Register the coercions Lyn = lie.Lyndon() Hom_HL = Hom(self, Lyn) Hom_LH = Hom(Lyn, self) LieAlgebraHomomorphism_im_gens(Hom_HL, Lyn.gens()).register_as_coercion() LieAlgebraHomomorphism_im_gens(Hom_LH, self.gens()).register_as_coercion()
from sage.structure.sequence import Sequence from sage.arith.misc import prod, integer_floor from sage.functions.log import log from sage.functions.other import sqrt from sage.rings.finite_rings import finite_field_base from sage.rings.number_field import number_field_base from sage.schemes.elliptic_curves.ell_generic import EllipticCurve_generic from sage.schemes.elliptic_curves.hom import EllipticCurveHom from sage.schemes.elliptic_curves.ell_curve_isogeny import EllipticCurveIsogeny from sage.schemes.elliptic_curves.weierstrass_morphism import WeierstrassIsomorphism from sage.misc.superseded import experimental_warning experimental_warning(32744, 'EllipticCurveHom_composite is experimental code.') #TODO: implement sparse strategies? (cf. the SIKE cryptosystem) def _eval_factored_isogeny(phis, P): """ This method pushes a point `P` through a given sequence ``phis`` of compatible isogenies. EXAMPLES:: sage: from sage.schemes.elliptic_curves import hom_composite sage: E = EllipticCurve(GF(419), [1,0]) sage: Q = E(21,8) sage: phis = []