[Top] [Up] [Previous] [Next] [Index]

53 Additive Magmas

Sections

  1. (Near-)Additive Magma Categories
  2. (Near-)Additive Magma Generation
  3. Attributes and Properties for (Near-)Additive Magmas
  4. Operations for (Near-)Additive Magmas

This chapter deals with domains that are closed under addition +, which are called near-additive magmas in GAP. Together with the domains closed under multiplication *, (see Magmas), they are the basic algebraic structures. In many cases, the addition is commutative (see IsAdditivelyCommutative), the domain is called an additive magma then; every module (see Modules), vector space (see Vector Spaces), ring (see Rings), or field (see Fields and Division Rings) is an additive magma. In the cases of al (near-)additive magma-with-zero or (near-)additive magma-with-inverses, additional additive structure is present (see (Near-)Additive Magma Categories).

53.1 (Near-)Additive Magma Categories

  • IsNearAdditiveMagma( obj ) C

    A near-additive magma in GAP is a domain A with an associative but not necessarily commutative addition +: A ×A ® A.

  • IsNearAdditiveMagmaWithZero( obj ) C

    A near-additive magma-with-zero in GAP is a near-additive magma A with an operation 0* (or Zero) that yields the zero of A.

    So a near-additive magma-with-zero A does always contain a unique additively neutral element z, i.e., z + a = a = a + z holds for all a Î A (see AdditiveNeutralElement). This element z can be computed with the operation Zero (see Zero) as Zero( A ), and z is also equal to Zero( elm ) and to 0*elm for each element elm in A.

    Note that a near-additive magma containing a zero may not lie in the category IsNearAdditiveMagmaWithZero (see Domain Categories).

  • IsNearAdditiveGroup( obj ) C
  • IsNearAdditiveMagmaWithInverses( obj ) C

    A near-additive group in GAP is a near-additive magma-with-zero A with an operation -1*: A ® A that maps each element a of A to its additive inverse -1*a (or AdditiveInverse( a ), see AdditiveInverse).

    The addition + of A is assumed to be associative, so a near-additive group is not more than a near-additive magma-with-inverses. IsNearAdditiveMagmaWithInverses is just a synonym for IsNearAdditiveGroup, and can be used alternatively in all function names involving NearAdditiveGroup.

    Note that not every trivial near-additive magma is a near-additive magma-with-zero, but every trivial near-additive magma-with-zero is a near-additive group.

  • IsAdditiveMagma( obj ) C

    An additive magma in GAP is a domain A with an associative and commutative addition +: A ×A ® A, see IsNearAdditiveMagma and IsAdditivelyCommutative.

  • IsAdditiveMagmaWithZero( obj ) C

    An additive magma-with-zero in GAP is an additive magma A with an operation 0* (or Zero) that yields the zero of A.

    So an additive magma-with-zero A does always contain a unique additively neutral element z, i.e., z + a = a = a + z holds for all a Î A (see AdditiveNeutralElement). This element z can be computed with the operation Zero (see Zero) as Zero( A ), and z is also equal to Zero( elm ) and to 0*elm for each element elm in A.

    Note that an additive magma containing a zero may not lie in the category IsAdditiveMagmaWithZero (see Domain Categories).

  • IsAdditiveGroup( obj ) C
  • IsAdditiveMagmaWithInverses( obj ) C

    An additive group in GAP is an additive magma-with-zero A with an operation -1*: A ® A that maps each element a of A to its additive inverse -1*a (or AdditiveInverse( a ), see AdditiveInverse).

    The addition + of A is assumed to be commutative and associative, so an additive group is not more than an additive magma-with-inverses. IsAdditiveMagmaWithInverses is just a synonym for IsAdditiveGroup, and can be used alternatively in all function names involving AdditiveGroup.

    Note that not every trivial additive magma is an additive magma-with-zero, but every trivial additive magma-with-zero is an additive group.

    53.2 (Near-)Additive Magma Generation

  • NearAdditiveMagma( gens ) F
  • NearAdditiveMagma( Fam, gens ) F

    returns the (near-)additive magma A that is generated by the elements in the list gens, that is, the closure of gens under addition +. The family Fam of A can be entered as first argument; this is obligatory if gens is empty (and hence also A is empty).

  • NearAdditiveMagmaWithZero( gens ) F
  • NearAdditiveMagmaWithZero( Fam, gens ) F

    returns the (near-)additive magma-with-zero A that is generated by the elements in the list gens, that is, the closure of gens under addition + and Zero. The family Fam of A can be entered as first argument; this is obligatory if gens is empty (and hence A is trivial).

  • NearAdditiveGroup( gens ) F
  • NearAdditiveGroup( Fam, gens ) F

    returns the (near-)additive group A that is generated by the elements in the list gens, that is, the closure of gens under addition +, Zero, and AdditiveInverse. The family Fam of A can be entered as first argument; this is obligatory if gens is empty (and hence A is trivial).

    The underlying operations for which methods can be installed are the following.

  • NearAdditiveMagmaByGenerators( gens ) O
  • NearAdditiveMagmaByGenerators( Fam, gens ) O

  • NearAdditiveMagmaWithZeroByGenerators( gens ) O
  • NearAdditiveMagmaWithZeroByGenerators( Fam, gens ) O

  • NearAdditiveGroupByGenerators( gens ) O
  • NearAdditiveGroupByGenerators( Fam, gens ) O

    Substructures of an additive magma can be formed as follows.

  • SubnearAdditiveMagma( D, gens ) F
  • SubnearAdditiveMagmaNC( D, gens ) F

    SubadditiveMagma returns the near-additive magma generated by the elements in the list gens, with parent the domain D. SubadditiveMagmaNC does the same, except that it is not checked whether the elements of gens lie in D.

  • SubnearAdditiveMagmaWithZero( D, gens ) F
  • SubnearAdditiveMagmaWithZeroNC( D, gens ) F

    SubadditiveMagmaWithZero returns the near-additive magma-with-zero generated by the elements in the list gens, with parent the domain D. SubadditiveMagmaWithZeroNC does the same, except that it is not checked whether the elements of gens lie in D.

  • SubnearAdditiveGroup( D, gens ) F
  • SubnearAdditiveGroupNC( D, gens ) F

    SubadditiveGroup returns the near-additive group generated by the elements in the list gens, with parent the domain D. SubadditiveGroupNC does the same, except that it is not checked whether the elements of gens lie in D.

    53.3 Attributes and Properties for (Near-)Additive Magmas

  • IsAdditivelyCommutative( A ) P

    A near-additive magma A in GAP is additively commutative if for all elements a, b Î A the equality a + b = b + a holds.

    Note that the commutativity of the multiplication * in a multiplicative structure can be tested with IsCommutative, (see IsCommutative).

  • GeneratorsOfNearAdditiveMagma( A ) A
  • GeneratorsOfAdditiveMagma( A ) A

    is a list gens of elements of the near-additive magma A that generates A as a near-additive magma, that is, the closure of gens under addition is A.

  • GeneratorsOfNearAdditiveMagmaWithZero( A ) A
  • GeneratorsOfAdditiveMagmaWithZero( A ) A

    is a list gens of elements of the near-additive magma-with-zero A that generates A as a near-additive magma-with-zero, that is, the closure of gens under addition and Zero (see Zero) is A.

  • GeneratorsOfNearAdditiveGroup( A ) A
  • GeneratorsOfAdditiveGroup( A ) A

    is a list gens of elements of the near-additive group A that generates A as a near-additive group, that is, the closure of gens under addition, taking the zero element, and taking additive inverses (see AdditiveInverse) is A.

  • AdditiveNeutralElement( A ) A

    returns the element z in the near-additive magma A with the property that z + a = a = a + z holds for all a Î A , if such an element exists. Otherwise fail is returned.

    A near-additive magma that is not a near-additive magma-with-zero can have an additive neutral element z; in this case, z cannot be obtained as Zero( A ) or as 0*elm for an element elm in A, see Zero.

  • TrivialSubnearAdditiveMagmaWithZero( A ) A

    is the additive magma-with-zero that has the zero of the near-additive magma-with-zero A as only element.

    53.4 Operations for (Near-)Additive Magmas

  • ClosureNearAdditiveGroup( A, a ) O
  • ClosureNearAdditiveGroup( A, B ) O

    returns the closure of the near-additive magma A with the element a or the near-additive magma B, w.r.t. addition, taking the zero element, and taking additive inverses.

    [Top] [Up] [Previous] [Next] [Index]

    GAP 4 manual
    May 2002