58.6 Operations for Special Kinds of Bases

  • IsCanonicalBasis( B ) P

    If the underlying free left module V of the basis B supports a canonical basis (see CanonicalBasis) then IsCanonicalBasis returns true if B is equal to the canonical basis of V, and false otherwise.

  • IsIntegralBasis( B ) P

    Let B be an S-basis of a field F, say, and let R and M be the rings of algebraic integers in S and F, respectively. IsIntegralBasis returns true if B is also an R-basis of M, and false otherwise.

  • IsNormalBasis( B ) P

    Let B be an S-basis of a field F, say. IsNormalBasis returns true if B is invariant under the Galois group (see GaloisGroup.field) of the field extension F / S, and false otherwise.

    gap> B:= CanonicalBasis( GaussianRationals );
    gap> IsIntegralBasis( B );  IsNormalBasis( B );
    true
    false
    

  • StructureConstantsTable( B ) A

    Let B be a basis of a free left module R, say, that is also a ring. In this case StructureConstantsTable returns a structure constants table T in sparse representation, as used for structure constants algebras (see Section Algebras of the GAP User's Tutorial).

    The coefficients w.r.t. B of the product of the i-th and j-th basis vector of B are stored in T[i][j] as a list of length 2; its first entry is the list of positions of nonzero coefficients, the second entry is the list of these coefficients themselves.

    The multiplication in an algebra A with vector space basis B with basis vectors [ v1, ¼, vn ] is determined by the so-called structure matrices Mk = [ mijk ]ij, 1 £ k £ n. The Mk are defined by vi vj = åk mi,j,k vk. Let a = [ a1, ¼, an ] and b = [ b1, ¼, bn ]. Then

    (
    å
    i 
    ai vi ) (
    å
    j 
    bj vj ) =
    å
    i,j 
    ai bj ( vi vj ) =
    å
    k 
    (
    å
    j 
    (
    å
    i 
    ai mi,j,k ) bj ) vk =
    å
    k 
    ( a Mk btr ) vk  .

    gap> A:= QuaternionAlgebra( Rationals );;
    gap> StructureConstantsTable( Basis( A ) );
    [ [ [ [ 1 ], [ 1 ] ], [ [ 2 ], [ 1 ] ], [ [ 3 ], [ 1 ] ], [ [ 4 ], [ 1 ] ] ], 
      [ [ [ 2 ], [ 1 ] ], [ [ 1 ], [ -1 ] ], [ [ 4 ], [ 1 ] ], [ [ 3 ], [ -1 ] ] ], 
      [ [ [ 3 ], [ 1 ] ], [ [ 4 ], [ -1 ] ], [ [ 1 ], [ -1 ] ], [ [ 2 ], [ 1 ] ] ], 
      [ [ [ 4 ], [ 1 ] ], [ [ 3 ], [ 1 ] ], [ [ 2 ], [ -1 ] ], [ [ 1 ], [ -1 ] ] ]
        , 0, 0 ]
    

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

    GAP 4 manual
    February 2000