Formal sums¶
AUTHORS:
- David Harvey (2006-09-20): changed FormalSum not to derive from “list” anymore, because that breaks new Element interface
- Nick Alexander (2006-12-06): added test cases.
- William Stein (2006, 2009): wrote the first version in 2006, documented it in 2009.
- Volker Braun (2010-07-19): new-style coercions, documentation added. FormalSums now derives from UniqueRepresentation.
- FUNCTIONS:
FormalSums(ring)
– create the module of formal finite sums with- coefficients in the given ring.
FormalSum(list of pairs (coeff, number))
– create a formal sum
EXAMPLES:
sage: A = FormalSum([(1, 2/3)]); A
2/3
sage: B = FormalSum([(3, 1/5)]); B
3*1/5
sage: -B
-3*1/5
sage: A + B
3*1/5 + 2/3
sage: A - B
-3*1/5 + 2/3
sage: B*3
9*1/5
sage: 2*A
2*2/3
sage: list(2*A + A)
[(3, 2/3)]
TESTS:
sage: R = FormalSums(QQ)
sage: loads(dumps(R)) == R
True
sage: a = R(2/3) + R(-5/7); a
-5/7 + 2/3
sage: loads(dumps(a)) == a
True
-
class
sage.structure.formal_sum.
FormalSum
(x, parent=None, check=True, reduce=True)¶ Bases:
sage.structure.element.ModuleElement
A formal sum over a ring.
-
reduce
()¶ EXAMPLES:
sage: a = FormalSum([(-2,3), (2,3)], reduce=False); a -2*3 + 2*3 sage: a.reduce() sage: a 0
-
-
class
sage.structure.formal_sum.
FormalSums
¶ Bases:
sage.structure.unique_representation.UniqueRepresentation
,sage.modules.module.Module
The R-module of finite formal sums with coefficients in some ring R.
EXAMPLES:
sage: FormalSums() Abelian Group of all Formal Finite Sums over Integer Ring sage: FormalSums(ZZ) Abelian Group of all Formal Finite Sums over Integer Ring sage: FormalSums(GF(7)) Abelian Group of all Formal Finite Sums over Finite Field of size 7 sage: FormalSums(ZZ[sqrt(2)]) Abelian Group of all Formal Finite Sums over Order in Number Field in sqrt2 with defining polynomial x^2 - 2 sage: FormalSums(GF(9,'a')) Abelian Group of all Formal Finite Sums over Finite Field in a of size 3^2
TESTS:
sage: TestSuite(FormalSums(QQ)).run()
-
base_extend
(R)¶ EXAMPLES:
sage: F7 = FormalSums(ZZ).base_extend(GF(7)); F7 Abelian Group of all Formal Finite Sums over Finite Field of size 7
The following tests against a bug that was fixed at trac ticket #18795:
sage: isinstance(F7, F7.category().parent_class) True
-