Path: blob/master/sage/algebras/quaternion_algebra_element.py
4100 views
#######################################################################1# Backward compatible unpickle functions2#######################################################################34from quatalg.quaternion_algebra_element import (QuaternionAlgebraElement_generic,5QuaternionAlgebraElement_rational_field,6QuaternionAlgebraElement_number_field)78def unpickle_QuaternionAlgebraElement_generic_v0(*args):9"""10EXAMPLES::1112sage: K.<X> = QQ[]13sage: Q.<i,j,k> = QuaternionAlgebra(Frac(K), -5,-19); z = 2/3 + i*X - X^2*j + X^3*k14sage: f, t = z.__reduce__()15sage: import sage.algebras.quaternion_algebra_element16sage: sage.algebras.quaternion_algebra_element.unpickle_QuaternionAlgebraElement_generic_v0(*t)172/3 + X*i + (-X^2)*j + X^3*k18sage: sage.algebras.quaternion_algebra_element.unpickle_QuaternionAlgebraElement_generic_v0(*t) == z19True20"""21return QuaternionAlgebraElement_generic(*args)2223def unpickle_QuaternionAlgebraElement_rational_field_v0(*args):24"""25EXAMPLES::2627sage: Q.<i,j,k> = QuaternionAlgebra(-5,-19); a = 2/3 + i*5/7 - j*2/5 +19/228sage: f, t = a.__reduce__()29sage: import sage.algebras.quaternion_algebra_element30sage: sage.algebras.quaternion_algebra_element.unpickle_QuaternionAlgebraElement_rational_field_v0(*t)3161/6 + 5/7*i - 2/5*j32"""33return QuaternionAlgebraElement_rational_field(*args)3435def unpickle_QuaternionAlgebraElement_number_field_v0(*args):36"""37EXAMPLES::3839sage: K.<a> = QQ[2^(1/3)]; Q.<i,j,k> = QuaternionAlgebra(K, -3, a); z = i + j40sage: f, t = z.__reduce__()41sage: import sage.algebras.quaternion_algebra_element42sage: sage.algebras.quaternion_algebra_element.unpickle_QuaternionAlgebraElement_number_field_v0(*t)43i + j44sage: sage.algebras.quaternion_algebra_element.unpickle_QuaternionAlgebraElement_number_field_v0(*t) == z45True46"""47return QuaternionAlgebraElement_number_field(*args)484950