Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  nonsolv.gi   Sprache: unbekannt

 
InstallGlobalFunction( ExtensionOfsl2BySoluble, 
        function( F, arg )
    local b, c12, c13, c23, T, L;
    
    if arg[1] = 1 then
        L := SolvableLieAlgebra( F, [3,1] );
    elif arg[1] = 2 then
        L := SolvableLieAlgebra( F, [3,2] );
    elif arg[1] = 3 then
        L := SolvableLieAlgebra( F, [3,3, arg[2]] );
    elif arg[1] = 4 then
        L := SolvableLieAlgebra( F, [3,4, arg[2]] );
    else
        Error( "Argument out of range." );
    fi;

        b := Basis( L );
    c12 := Coefficients( b, b[1]*b[2] );
    c13 := Coefficients( b, b[1]*b[3] );
    c23 := Coefficients( b, b[2]*b[3] );
    
    T:= EmptySCTable( 6, Zero(F), "antisymmetric" );
    SetEntrySCTable( T, 1, 2, [1,3] );
    SetEntrySCTable( T, 1, 3, [-2,1] );
    SetEntrySCTable( T, 2, 3, [2,2] );
    SetEntrySCTable( T, 4, 5, [c12[1], 4, c12[2], 5, c12[3], 6] );
    SetEntrySCTable( T, 4, 6, [c13[1], 4, c13[2], 5, c13[3], 6] );
    SetEntrySCTable( T, 5, 6, [c23[1], 4, c23[2], 5, c23[3], 6] );
    
    L := LieAlgebraByStructureConstants( F, T );
    SetName( L, Concatenation( "sl(2,", String( Size( F )), 
            ")+solv(", String( arg ), ")"));
    return L;
end ); 

InstallGlobalFunction( ExtensionOfW121BySoluble, 
        function( F, arg )
    local b, c12, c13, c23, T, L;
    
    # W(1,2)^{(1)} + 3-dim solvable.
    
    if arg[1] = 1 then
        L := SolvableLieAlgebra( F, [3,1] );
    elif arg[1] = 2 then
        L := SolvableLieAlgebra( F, [3,2] );
    elif arg[1] = 3 then
        L := SolvableLieAlgebra( F, [3,3, arg[2]] );
    elif arg[1] = 4 then
        L := SolvableLieAlgebra( F, [3,4, arg[2]] );
    else
        Error( "Argument out of range." );
    fi;
    
    b := Basis( L );
    c12 := Coefficients( b, b[1]*b[2] );
    c13 := Coefficients( b, b[1]*b[3] );
    c23 := Coefficients( b, b[2]*b[3] );
    
    T := EmptySCTable( 6, Zero(F), "antisymmetric" );
    SetEntrySCTable( T, 1, 2, [1,1] );
    SetEntrySCTable( T, 1, 3, [1,2] );
    SetEntrySCTable( T, 2, 3, [1,3] );
    SetEntrySCTable( T, 4, 5, [c12[1], 4, c12[2], 5, c12[3], 6] );
    SetEntrySCTable( T, 4, 6, [c13[1], 4, c13[2], 5, c13[3], 6] );
    SetEntrySCTable( T, 5, 6, [c23[1], 4, c23[2], 5, c23[3], 6] );
    
    L := LieAlgebraByStructureConstants( F, T );
    SetName( L, Concatenation( "W(1;2)^{(1)}+solv(", String( arg ), ")"));
    return L;
end );


InstallGlobalFunction( ExtensionOfW12ByAbelian, 
        function( F, a )
    
    local T, L;
    
    # W(1,2) semidirect abelian: 4 + |F| Lie algebras, depending
    # on the action of W(1,2) on the abelian.
    # only x^3d acts on the abelian non-trivially.
    
    if Characteristic( F ) <> 2 then
        Error( "The field must have characteristic 2" );
    fi;
    
    if a=0 then 
        
        # 1st Lie algebra. action of x^3d is trivial.
        
        T:= EmptySCTable( 6, Zero(F), "antisymmetric" );
        SetEntrySCTable( T, 1, 2, [1,1] );
        SetEntrySCTable( T, 1, 3, [1,2] );
        SetEntrySCTable( T, 2, 3, [1,3] );
        SetEntrySCTable( T, 1, 4, [1,3] );
        L := LieAlgebraByStructureConstants( F, T );
        SetName( L, Concatenation( "W(1;2)+GF(", String( Size( F )), ")+GF(", 
                String( Size( F )), ")" ));
        return L;
        
    elif a = 1 then
        
        # 2nd Lie algebra. action is [[0,1],[0,0]]
        
        T:= EmptySCTable( 6, Zero(F), "antisymmetric" );
        SetEntrySCTable( T, 1, 2, [1,1] );
        SetEntrySCTable( T, 1, 3, [1,2] );
        SetEntrySCTable( T, 2, 3, [1,3] );
        SetEntrySCTable( T, 1, 4, [1,3] );
        SetEntrySCTable( T, 4, 5, [1,6] );
        
        L := LieAlgebraByStructureConstants( F, T );
        SetName( L, Concatenation( "W(1;2):(GF(", String( Size( F )), ")+GF(", 
                String( Size( F )), "))(1)" ));
        return L;
        
    elif a = 2 then
        
        # 3rd Lie algebra. Action is identity
        
        T:= EmptySCTable( 6, Zero(F), "antisymmetric" );
        SetEntrySCTable( T, 1, 2, [1,1] );
        SetEntrySCTable( T, 1, 3, [1,2] );
        SetEntrySCTable( T, 2, 3, [1,3] );
        SetEntrySCTable( T, 1, 4, [1,3] );
        SetEntrySCTable( T, 4, 5, [1,5] );
        SetEntrySCTable( T, 4, 6, [1,6] );
        
        L := LieAlgebraByStructureConstants( F, T );
        SetName( L, Concatenation( "W(1;2):(GF(", 
                String( Size( F )), ")+GF(", 
                String( Size( F )), "))(2)" ));
        return L;
            
    elif a = 3 then
        
        # 4th Lie algebra. Action is [[1,1],[0,1]]
        
        T:= EmptySCTable( 6, Zero(F), "antisymmetric" );
        SetEntrySCTable( T, 1, 2, [1,1] );
        SetEntrySCTable( T, 1, 3, [1,2] );
        SetEntrySCTable( T, 2, 3, [1,3] );
        SetEntrySCTable( T, 1, 4, [1,3] );
        SetEntrySCTable( T, 4, 5, [1,5,1,6] );
        SetEntrySCTable( T, 4, 6, [1,6] );
        
        L := LieAlgebraByStructureConstants( F, T );
        SetName( L, Concatenation( "W(1;2):(GF(", 
                String( Size( F )), ")+GF(", 
                String( Size( F )), "))(3)" ));
        return L;
        
    elif a in F and a <> Zero( F ) then
        
        # Lie algebras. Action is [[0,a],[1,1]]
            
        T:= EmptySCTable( 6, Zero(F), "antisymmetric" );
        SetEntrySCTable( T, 1, 2, [1,1] );
        SetEntrySCTable( T, 1, 3, [1,2] );
        SetEntrySCTable( T, 2, 3, [1,3] );
        SetEntrySCTable( T, 1, 4, [1,3] );
        SetEntrySCTable( T, 4, 5, [a,6] );
        SetEntrySCTable( T, 4, 6, [1,5,1,6] );
        
        L := LieAlgebraByStructureConstants( F, T );
        SetName( L, Concatenation( "W(1;2):(GF(", 
                String( Size( F )), ")+GF(", 
                String( Size( F )), "))(", String( a ), ")" ));
        return L;
        
    else 
        Error( "Invalid parameters." );
    fi;
    
end );

InstallGlobalFunction( ExtensionOfsl2ByV2a, 
        function( F, a )
    
    local T, L;
    
    T:= EmptySCTable( 6, Zero(F), "antisymmetric" );
    SetEntrySCTable( T, 2, 1, [2,1] );
    SetEntrySCTable( T, 2, 3, [-2,3] );
    SetEntrySCTable( T, 1, 3, [1,2] );
    
    SetEntrySCTable( T, 4, 1, [-1,5] );
    SetEntrySCTable( T, 5, 1, [-1,6] );
    SetEntrySCTable( T, 6, 1, [-1,4] );
        
    
    SetEntrySCTable( T, 5, 2, [-2,5] );
    SetEntrySCTable( T, 6, 2, [-1,6] );
    
    SetEntrySCTable( T, 4, 3, [-a,6] );
    SetEntrySCTable( T, 5, 3, [-a,4] );
    SetEntrySCTable( T, 6, 3, [2-a,5] );
    L := LieAlgebraByStructureConstants( F, T );
    SetName( L, Concatenation( "sl(2,", String( Size( F )), 
            "):V(2,", String( a ), ")"));
    return L;
    
end );
    
    
InstallMethod( NonSolvableLieAlgebra,
        "for a finite field and a list of parameters",
        true,
        [ IsField and IsFinite, IsList ], 
        0,
        function( F, arg )
    
    local T, L, list, x, c, par, dim, pos, b, f, i, l, k, z;
    

    
    dim := arg[1];
    if Length( arg ) > 1 then
        pos := arg[2];
    fi;
    
    
    if dim > 6 then
        Error( "The complete list of non-solvable Lie algebras is only stored up to dimension 6" );
    fi;
    
    if dim <= 2 then
        Error( "The dimension must be at least 3" );
    elif dim = 3 then
        if Characteristic( F ) = 2 then
            # Strade's W(1;2)^{(1)}. Basis is {d, x1d, x2d}
            T:= EmptySCTable( 3, Zero(F), "antisymmetric" );
            SetEntrySCTable( T, 1, 2, [1,1] );
            SetEntrySCTable( T, 1, 3, [1,2] );
            SetEntrySCTable( T, 2, 3, [1,3] );
            L := LieAlgebraByStructureConstants( F, T ) ;
            L!.arg := arg;
            SetName( L, "W(1;2)^{(1)}" );
            return L;
        else
            # sl(2,F). Basis [[0,1],[0,0]],[[0,0],[0,1]],[[1,0],[0,-1]] 
            T:= EmptySCTable( 3, Zero(F), "antisymmetric" );
            SetEntrySCTable( T, 1, 2, [1,3] );
            SetEntrySCTable( T, 1, 3, [-2,1] );
            SetEntrySCTable( T, 2, 3, [2,2] );
            L := LieAlgebraByStructureConstants( F, T );
            SetName( L, Concatenation( "sl(2,", String( Size( F )), ")" ));
            L!.arg := arg;
            return L;
        fi;
    elif dim = 4 then
        if Characteristic( F ) = 2 then
            if not IsBound( pos ) then
                Error( "More than one Lie algebra exists. Give a second parameter." );
            fi;
            if pos = 2 then
                # W(1;2)^{(1)} + F. Basis {d,x1d,x2d,z}
                T:= EmptySCTable( 4, Zero(F), "antisymmetric" );
                SetEntrySCTable( T, 1, 2, [1,1] );
                SetEntrySCTable( T, 1, 3, [1,2] );
                SetEntrySCTable( T, 2, 3, [1,3] );
                L := LieAlgebraByStructureConstants( F, T );
                SetName( L, Concatenation( "W(1;2)^{(1)}+GF(",
                    String( Size( F )), ")" ));
                L!.arg := arg;
                return L;
                
            elif pos = 1 then
                # W(1;2). Basis {d,x1d,x2d,x3d}
                T:= EmptySCTable( 4, Zero(F), "antisymmetric" );
                SetEntrySCTable( T, 1, 2, [1,1] );
                SetEntrySCTable( T, 1, 3, [1,2] );
                SetEntrySCTable( T, 2, 3, [1,3] );
                SetEntrySCTable( T, 1, 4, [1,3] );
                L := LieAlgebraByStructureConstants( F, T );
                SetName( L, "W(1;2)" );
                L!.arg := arg;
                return L;
            else 
                Error( "Argument out of range." );
                
            fi;
        else
            # gl(2,F)
            T:= EmptySCTable( 4, Zero(F), "antisymmetric" );
            SetEntrySCTable( T, 1, 2, [1,2] );
            SetEntrySCTable( T, 1, 3, [-1,3] );
            SetEntrySCTable( T, 2, 3, [1,1,-1,4] );
            SetEntrySCTable( T, 2, 4, [1,2] );
            SetEntrySCTable( T, 3, 4, [-1,3] );
            L := LieAlgebraByStructureConstants( F, T );
            SetName( L, Concatenation( "gl(2,", String( Size( F )), ")" ));
            L!.arg := arg;
            return L;
        fi;
    elif dim = 5 then
        if Characteristic( F ) = 2 then
            if not IsBound( pos ) then
                Error( "More than one Lie algebra exists. Give a second parameter." );
            fi;
            if pos = 1 then
                # Der( W(1;2)^{(1)}. Basis {d,x1d,x2d,x3d,dd}
                
                T := EmptySCTable( 5, Zero(F), "antisymmetric" );
                SetEntrySCTable( T, 1, 2, [1,1] );
                SetEntrySCTable( T, 1, 3, [1,2] );
                SetEntrySCTable( T, 2, 3, [1,3] );
                SetEntrySCTable( T, 1, 4, [1,3] );
                SetEntrySCTable( T, 3, 5, [1,1] );
                SetEntrySCTable( T, 4, 5, [1,2] );
            
                L := LieAlgebraByStructureConstants( F, T );
                SetName( L, "Der(W(1;2)^{(1)})" );
                L!.arg := arg;
                return L;
                
            elif pos = 2 then
                if Length( arg ) < 3 then
                    Error( "This is a parametrized family." );
                fi;
                
                if not arg[3] in [0,1] then
                    Error( "Parameter is out of range" );
                fi;
                
                # W(1,2) + F (direct sum if arg[3] = 0, not direct otherwise)
                
                    
                    T:= EmptySCTable( 5, Zero(F), "antisymmetric" );
                    SetEntrySCTable( T, 1, 2, [1,1] );
                    SetEntrySCTable( T, 1, 3, [1,2] );
                    SetEntrySCTable( T, 2, 3, [1,3] );
                    SetEntrySCTable( T, 1, 4, [1,3] );
                    SetEntrySCTable( T, 4, 5, [arg[3],5] );
                    L := LieAlgebraByStructureConstants( F, T );
                    if arg[3] = 0 then
                        SetName( L, Concatenation( "W(1;2)+GF(", 
                                String( Size( F )), ")" ));
                    else
                        SetName( L, Concatenation( "W(1;2):GF(", 
                                String( Size( F )), ")" ));
                        L!.arg := arg;
                        return L;
                    fi;
                    L!.arg := arg;
                    return L;
                    
                elif pos = 3 then
                    
                    if Length( arg ) < 3 then
                        Error( "This is a parametrized family." );
                    fi;
                    
                    if not arg[3] in [0,1] then
                        Error( "Parameter is out of range" );
                    fi;
                    
                    # W(1,2)^{(1)} + 2-dim (abelian if arg[3]=0, 
                    # non-abelian if arg[3] = 1)
                    
                    T:= EmptySCTable( 5, Zero(F), "antisymmetric" );
                    SetEntrySCTable( T, 1, 2, [1,1] );
                    SetEntrySCTable( T, 1, 3, [1,2] );
                    SetEntrySCTable( T, 2, 3, [1,3] );
                    SetEntrySCTable( T, 4, 5, [arg[3],5] );
                    L := LieAlgebraByStructureConstants( F, T );
                    if arg[3] = 0 then
                        SetName( L, Concatenation( "W(1;2)^{(1)}+GF(", 
                                String( Size( F )), ")", 
                                "+GF(", String( Size( F )), ")" ));
                    else
                        SetName( L, "W(1;2)^{(1)}+<x1,x2|[x1,x2]=x2>" );
                    fi;
                    L!.arg := arg;
                    return L;
                else
                    Error( "Argument out of range." );
                fi;
            else
                if not IsBound( pos ) then
                    Error( "More than one Lie algebra exists. Give a second parameter." );
                fi;    
                if pos = 1 then
                    
                    if Length( arg ) < 3 then
                        Error( "This is a parametrized family." );
                    fi;
                    
                    if not arg[3] in [0,1] then
                        Error( "Parameter is out of range" );
                    fi;
                    
                    # sl(2,k) + Abelian
                    
                    T:= EmptySCTable( 5, Zero(F), "antisymmetric" );
                    SetEntrySCTable( T, 1, 2, [1,3] );
                    SetEntrySCTable( T, 1, 3, [-2,1] );
                    SetEntrySCTable( T, 2, 3, [2,2] );
                    SetEntrySCTable( T, 4, 5, [arg[3],5] );
                    L := LieAlgebraByStructureConstants( F, T );
                    if arg[3] = 0 then
                        SetName( L, Concatenation( "sl(2,", String( Size( F )), 
                                ")+GF(", String( Size( F )), ")+GF(", 
                                String( Size( F )), 
                                ")"));
                    else
                        SetName( L, Concatenation( "sl(2,", String( Size( F )), 
                                ")+<x1,x2|[x1,x2]=x2>" ));
                    fi;
                    L!.arg := arg;
                    return L;
                    
                elif pos = 2 then
                    
                    # sl(2,k) semidirect natural module
                    T:= EmptySCTable( 5, Zero(F), "antisymmetric" );
                    SetEntrySCTable( T, 1, 2, [1,3] );
                    SetEntrySCTable( T, 1, 3, [-2,1] );
                    SetEntrySCTable( T, 2, 3, [2,2] );
                    SetEntrySCTable( T, 4, 1, [1,5] );
                    SetEntrySCTable( T, 4, 3, [1,4] );
                    SetEntrySCTable( T, 5, 2, [1,4] );
                    SetEntrySCTable( T, 5, 3, [-1,5] );
                    L := LieAlgebraByStructureConstants( F, T );
                    SetName( L, Concatenation( "sl(2,", String( Size( F )), 
                            "):V(1)"));
                    L!.arg := arg;
                    return L;
                    
                # if char=3 then there is an additional one.
                    
                elif pos = 3 and  Characteristic( F ) = 3 then
                    T:= EmptySCTable( 5, Zero(F), "antisymmetric" );
                    SetEntrySCTable( T, 2, 1, [-1,1,1,5] );
                    SetEntrySCTable( T, 2, 3, [1,3] );
                    SetEntrySCTable( T, 1, 3, [1,2] );
                    SetEntrySCTable( T, 2, 4, [1,4] );
                    SetEntrySCTable( T, 2, 5, [-1,5] );
                    SetEntrySCTable( T, 1, 5, [1,4] );
                    SetEntrySCTable( T, 3, 4, [1,5] );
                    L := LieAlgebraByStructureConstants( F, T );
                    SetName( L, Concatenation( "sl(2,", String( Size( F )), 
                            ").V(1)"));
                    L!.arg := arg;
                    return L;
                                        
            # if char = 5 then W(1;1)
            
                elif pos = 3 and Characteristic( F ) = 5 then
                    T:= EmptySCTable( 5, Zero(F), "antisymmetric" );
                    SetEntrySCTable( T, 1, 2, [1,1] );
                    SetEntrySCTable( T, 1, 3, [1,2] );
                    SetEntrySCTable( T, 1, 4, [1,3] );
                    SetEntrySCTable( T, 1, 5, [1,4] );
                    SetEntrySCTable( T, 2, 3, [1,3] );
                    SetEntrySCTable( T, 2, 4, [2,4] );
                    SetEntrySCTable( T, 2, 5, [3,5] );
                    SetEntrySCTable( T, 3, 4, [2,5] );
                    L := LieAlgebraByStructureConstants( F, T );
                    SetName( L, "W(1;1)" );
                    L!.arg := arg;
                    return L;
                else
                    Error( "Argument out of range." );
                fi;
            fi;
        elif dim = 6 then
            if not IsBound( pos ) then
                Error( "More than one Lie algebra exists. Give a second parameter." );
            fi;
            if Characteristic( F ) = 2 then
                
            # radical zero-dim
                
                if pos = 1 then
                    
                # W(1,2)^{(1)}+W(1,2)^{(1)}
                    
                    T:= EmptySCTable( 6, Zero(F), "antisymmetric" );
                    SetEntrySCTable( T, 1, 2, [1,1] );
                    SetEntrySCTable( T, 1, 3, [1,2] );
                    SetEntrySCTable( T, 2, 3, [1,3] );
                    
                    SetEntrySCTable( T, 4, 5, [1,4] );
                    SetEntrySCTable( T, 4, 6, [1,5] );
                    SetEntrySCTable( T, 5, 6, [1,6] );
                    L := LieAlgebraByStructureConstants( F, T );
                    SetName( L, "W(1;2)^{(1)}+W(1;2)^{(1)}" );
                    L!.arg := arg;
                    return L;
                elif pos = 2 then
                    # W(1,2)^{(1)} x field extension of degree 2. 
                    # Basis={d,xd,x^2d,d x xi, xd x xi, x^2d x xi }
                    
                    T:= EmptySCTable( 6, Zero(F), "antisymmetric" );
                    x := Z( Size( F )^2 );
                    c := Coefficients( Basis( VectorSpace( F, 
                                 [ One( F ), x ])), x^2 );
                    
                    SetEntrySCTable( T, 1, 2, [1,1] );
                    SetEntrySCTable( T, 1, 3, [1,2] );
                    SetEntrySCTable( T, 2, 3, [1,3] );
                    
                    SetEntrySCTable( T, 1, 5, [1,4] );
                    SetEntrySCTable( T, 1, 6, [1,5] );
                    SetEntrySCTable( T, 2, 4, [1,4] );
                    SetEntrySCTable( T, 2, 6, [1,6] );
                    SetEntrySCTable( T, 3, 4, [1,5] );
                    SetEntrySCTable( T, 3, 5, [1,6] );
                    
                    SetEntrySCTable( T, 4, 5, [c[1],1,c[2],4] );
                    SetEntrySCTable( T, 4, 6, [c[1],2,c[2],5] );
                    SetEntrySCTable( T, 5, 6, [c[1],3,c[2],6] );
                    
                    L := LieAlgebraByStructureConstants( F, T );
                    SetName( L, Concatenation( "W(1;2)^{(1)}xGF(", 
                            String( Size( F )^2), ")" ));
                    L!.arg := arg;
                    return L;
                    
                elif pos = 3 then
                    if Length( arg ) < 3 then
                        Error( "This is a parametrized family." );
                    fi;
                    
                    # if arg[3] = 1 then
                    # Der(W(1;2)^{(1)}) + F. Basis {d,x1d,x2d,x3d,dd,z}
                    # otherwise
                    # Der( W(1;2)^{(1)} semidirect F. Basis {d,x1d,x2d,x3d,dd,u}
                    T:= EmptySCTable( 6, Zero(F), "antisymmetric" );
                    SetEntrySCTable( T, 1, 2, [1,1] );
                    SetEntrySCTable( T, 1, 3, [1,2] );
                    SetEntrySCTable( T, 2, 3, [1,3] );
                    SetEntrySCTable( T, 1, 4, [1,3] );
                    SetEntrySCTable( T, 3, 5, [1,1] );
                    SetEntrySCTable( T, 4, 5, [1,2] );
                    SetEntrySCTable( T, 5, 6, [arg[3],6] );
                    L := LieAlgebraByStructureConstants( F, T );
                    if arg[3] = 0 then
                        SetName( L, Concatenation( "Der(W(1;2)^{(1)})+GF(", 
                                String( Size( F )), ")" ));
                    else
                        SetName( L, Concatenation( "Der(W(1;2)^{(1)}):GF(", 
                                String( Size( F )), ")" ));
                    fi;
                    L!.arg := arg;
                    return L;
                                        
                # W(1,2) semidirect abelian: 4 + |F| Lie algebras, depending
                # on the action of W(1,2) on the abelian.
                # only x^3d acts on the abelian non-trivially.
                    
                elif pos = 4 then
                    if Length( arg ) >= 3 then
                        L := ExtensionOfW12ByAbelian( F, arg[3] );
                        L!.arg := arg;
                        return L;
                    else
                        Error( "This is a parametric family. Give an additional parameter." );
                    fi;
                    
                elif pos = 5 then 
                    
                    # W(1,2) semidirect non-abelian 
                    # two lie algebras
                    
                    # 1st Lie algebra. W(1;2) + non-abelian
                    
                    T:= EmptySCTable( 6, Zero(F), "antisymmetric" );
                    SetEntrySCTable( T, 1, 2, [1,1] );
                    SetEntrySCTable( T, 1, 3, [1,2] );
                    SetEntrySCTable( T, 2, 3, [1,3] );
                    SetEntrySCTable( T, 1, 4, [1,3] );
                    SetEntrySCTable( T, 5, 6, [1,6] );
                    
                    L := LieAlgebraByStructureConstants( F, T );
                    SetName( L, "W(1;2)+<x,y|[x,y]=y>" );
                    L!.arg := arg;
                    return L;
                    
                elif pos = 6 then            
                    # 3-dim radical
                    # W(1,2)^{(1)} + 3-dim solvable.
                    
                    if Length( arg ) >= 3 then
                        L := ExtensionOfW121BySoluble( F, 
                                     arg{[3..Length( arg )]} );
                        L!.arg := arg;
                        return L;
                    else
                        Error( "This is a parametric family. Give an additional parameter." );
                    fi;
                    
                elif pos = 7 then
                    
                # W(1,2)^{(1)} + O(1,2)/k
                    
                    T:= EmptySCTable( 6, Zero(F), "antisymmetric" );
                    SetEntrySCTable( T, 1, 2, [1,1] );
                    SetEntrySCTable( T, 1, 3, [1,2] );
                    SetEntrySCTable( T, 2, 3, [1,3] );
                    
                    SetEntrySCTable( T, 1, 5, [1,4] );
                    SetEntrySCTable( T, 1, 6, [1,5] );
                    SetEntrySCTable( T, 2, 4, [1,4] );
                    SetEntrySCTable( T, 2, 6, [1,6] );
                    SetEntrySCTable( T, 3, 4, [1,5] );
                    SetEntrySCTable( T, 3, 5, [1,6] );
                    
                    L := LieAlgebraByStructureConstants( F, T );
                    SetName( L, Concatenation( "W(1;2)^{(1)}:O(1;2)/GF(", 
                            String( Size( F )), ")"));
                    L!.arg := arg;
                    return L;
                    
                elif pos = 8 then
                    
                    # Non-split extension 0 -> O(1,2)/k -> L -> W(1,2)^{(1)} -> 0
                                        
                    T:= EmptySCTable( 6, Zero(F), "antisymmetric" );
                    SetEntrySCTable( T, 1, 2, [1,1,1,6] );
                    SetEntrySCTable( T, 2, 3, [1,3] );
                    SetEntrySCTable( T, 1, 3, [1,2] );
                    SetEntrySCTable( T, 2, 4, [1,4] );
                    SetEntrySCTable( T, 2, 6, [1,6] );
                    SetEntrySCTable( T, 1, 5, [1,4] );
                    SetEntrySCTable( T, 1, 6, [1,5] );
                    SetEntrySCTable( T, 3, 4, [1,5] );
                    SetEntrySCTable( T, 3, 5, [1,6] );
                    
                    L := LieAlgebraByStructureConstants( F, T );
                    SetName( L, Concatenation( "W(1;2)^{(1)}.O(1;2)/GF(", 
                            String( Size( F )), ")"));
                    L!.arg := arg;
                    return L;
                else
                    Error( "Argument out of range." );
                fi;
            
            else
                if not IsBound( pos ) then
                Error( "More than one Lie algebra exists. Give a second parameter." );
            fi;
                # The algebras from Theorem 5.2
                
                if pos = 1 then
                    
                    # sl(2,F) + sl(2,F)
                    
                    T:= EmptySCTable( 6, Zero(F), "antisymmetric" );
                    SetEntrySCTable( T, 1, 2, [1,3] );
                    SetEntrySCTable( T, 1, 3, [-2,1] );
                    SetEntrySCTable( T, 2, 3, [2,2] );
                    
                    SetEntrySCTable( T, 4, 5, [1,6] );
                    SetEntrySCTable( T, 4, 6, [-2,4] );
                    SetEntrySCTable( T, 5, 6, [2,5] );
                    
                    L := LieAlgebraByStructureConstants( F, T );
                    SetName( L,  Concatenation( "sl(2,", 
                            String( Size( F )), ")+sl(2,", String( Size( F )), ")"));
                    L!.arg := arg;
                    return L;
                    
                elif pos = 2 then
                    
                    # sl(2,F<x>) where F<x> is a quadratic extension
                    
                    L := NonSolvableLieAlgebra( GF( Size( F )^2 ), [3] );
                    b := ShallowCopy( Basis( L ));
                    Append( b, List( b, x->x*Z(Size( F )^2 )));
                    L := LieAlgebra( F, b );
                    Setter( IsFiniteDimensional )( L, true );
                    SetName( L, Concatenation( "sl(2,GF(", 
                            String( Size( F )^2 ), "))" ));
                    L!.arg := arg;
                    return L;
                
                    # The Lie algebras in Theorem 5.3
                    
                elif pos = 3 then
                    
                    # sl(2,F) + solvable
                    L := ExtensionOfsl2BySoluble( F, 
                                   arg{[3..Length( arg )]} );
                    L!.arg := arg;
                    return L;
                elif pos = 4 then
                    
                    # sl(2,F) semidirect V(1)+V(0)
                
                    T:= EmptySCTable( 6, Zero(F), "antisymmetric" );
                    SetEntrySCTable( T, 1, 2, [1,3] );
                    SetEntrySCTable( T, 1, 3, [-2,1] );
                    SetEntrySCTable( T, 2, 3, [2,2] );
                    
                    SetEntrySCTable( T, 4, 1, [1,5] );
                    SetEntrySCTable( T, 5, 2, [1,4] );
                    SetEntrySCTable( T, 4, 3, [1,4] );
                    SetEntrySCTable( T, 5, 3, [-1,5] );
                    
                    L := LieAlgebraByStructureConstants( F, T );
                    SetName( L, Concatenation( "sl(2,", String( Size( F )), 
                            "):(V(1)+V(0))" ));
                    L!.arg := arg;
                    return L;
                    
                elif pos = 5 then
                    
                    # sl(2,F) semidirect V(2)
                
                    T:= EmptySCTable( 6, Zero(F), "antisymmetric" );
                    SetEntrySCTable( T, 1, 2, [1,3] );
                    SetEntrySCTable( T, 1, 3, [-2,1] );
                    SetEntrySCTable( T, 2, 3, [2,2] );
                    
                    SetEntrySCTable( T, 4, 1, [2,5] );
                    SetEntrySCTable( T, 5, 1, [2,6] );
                    SetEntrySCTable( T, 5, 2, [1,4] );
                    SetEntrySCTable( T, 6, 2, [1,5] );
                    SetEntrySCTable( T, 4, 3, [2,4] );
                    SetEntrySCTable( T, 6, 3, [-2,6] );
                    L := LieAlgebraByStructureConstants( F, T );
                    SetName( L, Concatenation( "sl(2,", String( Size( F )), 
                            "):V(2)" ));
                    L!.arg := arg;
                    return L;
                    
                elif pos = 6 then
                    
                    # sl(2,F) semidirect Heisenberg
                
                    T:= EmptySCTable( 6, Zero(F), "antisymmetric" );
                    SetEntrySCTable( T, 1, 2, [1,3] );
                    SetEntrySCTable( T, 1, 3, [-2,1] );
                    SetEntrySCTable( T, 2, 3, [2,2] );
                    
                    SetEntrySCTable( T, 4, 1, [1,5] );
                    SetEntrySCTable( T, 5, 2, [1,4] );
                    SetEntrySCTable( T, 4, 3, [1,4] );
                    SetEntrySCTable( T, 5, 3, [-1,5] );
                    SetEntrySCTable( T, 4, 5, [1,6] );        
                    L := LieAlgebraByStructureConstants( F, T );
                    SetName( L, Concatenation( "sl(2,", String( Size( F )), 
                            "):H" ));
                    L!.arg := arg;
                    return L;
                    
                    elif pos = 7 then
                    
                        # sl(2,F) semidirect Rad( L ). Rad( L ) = Z(L)+V(1) and 
                        # Rad( L ) = <d,u,v> [d,u]=u, [d,v]=v;
                        
                        T:= EmptySCTable( 6, Zero(F), "antisymmetric" );
                        SetEntrySCTable( T, 1, 2, [1,3] );
                        SetEntrySCTable( T, 1, 3, [-2,1] );
                        SetEntrySCTable( T, 2, 3, [2,2] );
                        
                        SetEntrySCTable( T, 4, 1, [1,5] );
                        SetEntrySCTable( T, 5, 2, [1,4] );
                        SetEntrySCTable( T, 4, 3, [1,4] );
                        SetEntrySCTable( T, 5, 3, [-1,5] );
                        SetEntrySCTable( T, 6, 4, [1,4] );
                        SetEntrySCTable( T, 6, 5, [1,5] );
                        L := LieAlgebraByStructureConstants( F, T );
                        SetName( L, Concatenation( "sl(2,", String( Size( F )), 
                                "):<x,y,z|[x,y]=y,[x,z]=z>" ));
                        L!.arg := arg;
                        return L;
                        
                    elif pos = 8 and Characteristic( F ) = 3 then
                        
                        x := Indeterminate( F );
                        if Length( arg ) >= 3 then
                            if arg[3] = -1 then 
                                z := Zero( F );
                            else
                                z := Z(Size( F ))^arg[3];
                            fi;
                            f := Factors( x^3+x^2-z );
                            i := 1;
                            repeat
                                k := CoefficientsOfUnivariatePolynomial( 
                                             f[i] )[1];
                            until Degree( f[i] ) = 1;
                            l := k^3;
                            L := ExtensionOfsl2ByV2a( F, l );
                            L!.arg := arg;
                            return L;
                        else
                            Error( "This is a parametric family. Give a parameter" );
                        fi;
                    
                    elif pos = 9 and Characteristic( F ) = 3 then
                        
                        # W( 1, 1 ) semidirect O(1,1)
                        
                        T:= EmptySCTable( 6, Zero(F), "antisymmetric" );
                        SetEntrySCTable( T, 1, 2, [1,1] );
                        SetEntrySCTable( T, 1, 3, [1,2] );
                        SetEntrySCTable( T, 2, 3, [1,3] );
                        
                        SetEntrySCTable( T, 1, 5, [1,4] );
                        SetEntrySCTable( T, 1, 6, [1,5] );
                        SetEntrySCTable( T, 2, 5, [1,5]);
                        SetEntrySCTable( T, 2, 6, [2,6] );
                        SetEntrySCTable( T, 3, 5, [1,6] );
                        L := LieAlgebraByStructureConstants( F, T );
                        SetName( L, "W(1;1):O(1;1)" );
                        L!.arg := arg;
                        return L;
                        
                    elif pos = 10 and Characteristic( F ) = 3 then
                        
                        # W( 1, 1 ) semidirect O(1,1)* (the dual action)
                        
                        T:= EmptySCTable( 6, Zero(F), "antisymmetric" );
                        SetEntrySCTable( T, 1, 2, [-1,1] );
                        SetEntrySCTable( T, 1, 3, [-1,2] );
                        SetEntrySCTable( T, 2, 3, [-1,3] );
                        
                        SetEntrySCTable( T, 1, 4, [1,5] );
                        SetEntrySCTable( T, 1, 5, [1,6] );
                        SetEntrySCTable( T, 2, 5, [1,5] );
                        SetEntrySCTable( T, 2, 6, [2,6] );
                        SetEntrySCTable( T, 3, 6, [1,5] );
                        L := LieAlgebraByStructureConstants( F, T );
                        SetName( L, "W(1;1):O(1;1)*" );
                        L!.arg := arg;
                        return L;
                        
                    elif pos = 11 and Characteristic( F ) = 3 then
                        if Length( arg ) < 3 then
                            Error( "This is a parametrized family." );
                        fi;
                        # The algebras from Proposition 4.5
                        
                        # b=0 a=arg[3]
                    
                        T:= EmptySCTable( 6, Zero(F), "antisymmetric" );
                        SetEntrySCTable( T, 2, 1, [-1,1,1,5] );        
                        SetEntrySCTable( T, 2, 3, [1,3] );        
                        SetEntrySCTable( T, 1, 3, [1,2] );        
                        SetEntrySCTable( T, 2, 4, [1,4] );        
                        SetEntrySCTable( T, 2, 5, [-1,5] );        
                        SetEntrySCTable( T, 1, 5, [1,4] );        
                        SetEntrySCTable( T, 3, 4, [1,5] );        
                        SetEntrySCTable( T, 1, 4, [arg[3],6] );        
                        L := LieAlgebraByStructureConstants( F, T );
                        SetName( L, Concatenation( "sl(2,", String( Size( F )), 
                                ").H(", String( arg[3] ), ")" ));
                        L!.arg := arg;
                        return L;
                        
                    elif pos = 12 and Characteristic( F ) = 3 then
                        
                        # The two lie algebras from Theorem 5.4
                        
                        T:= EmptySCTable( 6, Zero(F), "antisymmetric" );
                        SetEntrySCTable( T, 2, 1, [-1,1,1,5] );        
                        SetEntrySCTable( T, 2, 3, [1,3] );        
                        SetEntrySCTable( T, 1, 3, [1,2] );        
                        SetEntrySCTable( T, 2, 4, [1,4] );        
                        SetEntrySCTable( T, 2, 5, [-1,5] );        
                        SetEntrySCTable( T, 1, 5, [1,4] );        
                        SetEntrySCTable( T, 3, 4, [1,5] );        
                        
                        SetEntrySCTable( T, 6, 1, [1,5] );        
                        L := LieAlgebraByStructureConstants( F, T );
                        SetName( L, Concatenation( "sl(2,", 
                                String( Size( F )), ").(", 
                                LieAlgDBField2String( F ), "+", 
                                LieAlgDBField2String( F ), "+", 
                                LieAlgDBField2String( F ), ")(1)"  ));
                        L!.arg := arg;
                        return L;
                        
                        # the other algebra
                        
                        elif pos = 13 and Characteristic( F ) = 3 then
                            
                            T:= EmptySCTable( 6, Zero(F), "antisymmetric" );
                            SetEntrySCTable( T, 2, 1, [-1,1,1,5] );        
                            SetEntrySCTable( T, 2, 3, [1,3] );        
                            SetEntrySCTable( T, 1, 3, [1,2] );        
                            SetEntrySCTable( T, 2, 4, [1,4] );        
                            SetEntrySCTable( T, 2, 5, [-1,5] );        
                            SetEntrySCTable( T, 1, 5, [1,4] );        
                            SetEntrySCTable( T, 3, 4, [1,5] );        
                            
                            SetEntrySCTable( T, 6, 3, [1,4] );        
                            L := LieAlgebraByStructureConstants( F, T );
                            SetName( L, Concatenation( "sl(2,", 
                                    String( Size( F )), ").(", 
                                    LieAlgDBField2String( F ), "+", 
                                    LieAlgDBField2String( F ), "+", 
                                    LieAlgDBField2String( F ), ")(2)"  ));
                            L!.arg := arg;
                            return L;
                            
                        elif pos = 8 and Characteristic( F ) = 5 then
                    
                        # W(1,1)+F
                            
                            T:= EmptySCTable( 6, Zero(F), "antisymmetric" );
                            SetEntrySCTable( T, 1, 2, [1,1] );
                            SetEntrySCTable( T, 1, 3, [1,2] );
                            SetEntrySCTable( T, 1, 4, [1,3] );
                            SetEntrySCTable( T, 1, 5, [1,4] );
                            SetEntrySCTable( T, 2, 3, [1,3] );
                            SetEntrySCTable( T, 2, 4, [2,4] );
                            SetEntrySCTable( T, 2, 5, [3,5] );
                            SetEntrySCTable( T, 3, 4, [2,5] );
                            L := LieAlgebraByStructureConstants( F, T );    
                            SetName( L, Concatenation( "W(1;1)+", 
                                    LieAlgDBField2String( F )));
                            L!.arg := arg;
                            return L;
                            
                        elif pos = 9 and Characteristic( F ) = 5 then
                            
                        # central, Frattini extension of W(1,1)
                            
                            T:= EmptySCTable( 6, Zero(F), "antisymmetric" );
                            SetEntrySCTable( T, 1, 2, [1,1] );
                            SetEntrySCTable( T, 1, 3, [1,2] );
                            SetEntrySCTable( T, 1, 4, [1,3] );
                            SetEntrySCTable( T, 1, 5, [1,4] );
                            SetEntrySCTable( T, 2, 3, [1,3] );
                            SetEntrySCTable( T, 2, 4, [2,4] );
                            SetEntrySCTable( T, 2, 5, [3,5] );
                            SetEntrySCTable( T, 3, 4, [2,5] );
                            SetEntrySCTable( T, 4, 5, [1,6] );
                            L := LieAlgebraByStructureConstants( F, T );    
                            SetName( L, Concatenation( "W(1;1).", 
                                    LieAlgDBField2String( F )));
                            L!.arg := arg;
                            return L;
                        else
                            Error( "Argument out of range." );
                        fi;
                        
                        
                    fi;
                else
                    return fail;
                fi;
                
            end );



BindGlobal( "VaughanLeeAlgebras", function( F, pars )
    local T;
    
    if not pars in [[7,1],[7,2],[8,1],[8,2],[9,1]] then
        Error( "Invalid parameters!" );
    fi;
    
    T := EmptySCTable( pars[1], 0, "antisymmetric" );
    
    if pars = [ 7, 1 ] then
        
        SetEntrySCTable( T, 1, 2, [1,3] );
        SetEntrySCTable( T, 1, 3, [1,4] );
        SetEntrySCTable( T, 1, 4, [1,5] );
        SetEntrySCTable( T, 1, 5, [1,6] );
        SetEntrySCTable( T, 1, 6, [1,7] );
        SetEntrySCTable( T, 1, 7, [1,1] );
        
        SetEntrySCTable( T, 2, 7, [1,2] );
        SetEntrySCTable( T, 3, 6, [1,2] );
        SetEntrySCTable( T, 4, 5, [1,2] );
        SetEntrySCTable( T, 4, 6, [1,3] );
        SetEntrySCTable( T, 4, 7, [1,4] );
        SetEntrySCTable( T, 6, 7, [1,6] );
        
        return LieAlgebraByStructureConstants( F, T );
        
    elif pars = [ 7, 2 ] then
        
        SetEntrySCTable( T, 1, 2, [1,3] );
        SetEntrySCTable( T, 1, 3, [1,1,1,4] );
        SetEntrySCTable( T, 1, 4, [1,5] );
        SetEntrySCTable( T, 1, 5, [1,6] );
        SetEntrySCTable( T, 1, 6, [1,7] );
        
        SetEntrySCTable( T, 2, 3, [1,2] );
        SetEntrySCTable( T, 2, 5, [1,2,1,4] );
        SetEntrySCTable( T, 2, 6, [1,5] );
        SetEntrySCTable( T, 2, 7, [1,1,1,4] );
        SetEntrySCTable( T, 3, 4, [1,2,1,4] );
        SetEntrySCTable( T, 3, 5, [1,3] );
        SetEntrySCTable( T, 3, 6, [1,1,1,4,1,6] );
        SetEntrySCTable( T, 3, 7, [1,5] );
        SetEntrySCTable( T, 4, 7, [1,6] );
        SetEntrySCTable( T, 5, 6, [1,6] );
        SetEntrySCTable( T, 5, 7, [1,7] );
        
        return LieAlgebraByStructureConstants( F, T );
        
    elif pars = [8,1] then
        
        SetEntrySCTable( T, 1, 3, [1,5] );
        SetEntrySCTable( T, 1, 4, [1,6] );
        SetEntrySCTable( T, 1, 7, [1,2] );
        SetEntrySCTable( T, 1, 8, [1,1] );
        SetEntrySCTable( T, 2, 3, [1,7] );
        SetEntrySCTable( T, 2, 4, [1,5,1,8] );
        SetEntrySCTable( T, 2, 5, [1,2] );
        SetEntrySCTable( T, 2, 6, [1,1] );
        SetEntrySCTable( T, 2, 8, [1,2] );
        SetEntrySCTable( T, 3, 6, [1,4] );
        SetEntrySCTable( T, 3, 8, [1,3] );
        SetEntrySCTable( T, 4, 5, [1,4] );
        SetEntrySCTable( T, 4, 7, [1,3] );
        SetEntrySCTable( T, 4, 8, [1,4] );
        SetEntrySCTable( T, 5, 6, [1,6] );
        SetEntrySCTable( T, 5, 7, [1,7] );
        SetEntrySCTable( T, 6, 7, [1,8] );
        
        return LieAlgebraByStructureConstants( F, T );
        
    elif pars = [ 8, 2 ] then
        
        SetEntrySCTable( T, 1, 2, [1,3] );
        SetEntrySCTable( T, 1, 3, [1,2,1,5] );
        SetEntrySCTable( T, 1, 4, [1,6] );
        SetEntrySCTable( T, 1, 5, [1,2] );
        SetEntrySCTable( T, 1, 6, [1,1,1,4,1,8] );
        SetEntrySCTable( T, 1, 8, [1,4] );
        SetEntrySCTable( T, 2, 3, [1,4] );
        SetEntrySCTable( T, 2, 4, [1,1] );
        SetEntrySCTable( T, 2, 5, [1,6] );
        SetEntrySCTable( T, 2, 6, [1,2,1,7] );
        SetEntrySCTable( T, 2, 7, [1,2,1,5] );
        SetEntrySCTable( T, 3, 4, [1,2,1,7] );
        SetEntrySCTable( T, 3, 5, [1,1,1,4,1,8] );
        SetEntrySCTable( T, 3, 6, [1,1] );
        SetEntrySCTable( T, 3, 7, [1,2,1,3] );
        SetEntrySCTable( T, 3, 8, [1,1] );
        SetEntrySCTable( T, 4, 5, [1,3] );
        SetEntrySCTable( T, 4, 6, [1,2,1,4] );
        SetEntrySCTable( T, 4, 7, [1,1,1,4,1,8] );
        SetEntrySCTable( T, 4, 8, [1,3] );
        SetEntrySCTable( T, 5, 6, [1,1,1,2,1,5] );
        SetEntrySCTable( T, 5, 7, [1,3] );
        SetEntrySCTable( T, 5, 8, [1,2,1,7] );
        SetEntrySCTable( T, 6, 7, [1,4,1,6] );
        SetEntrySCTable( T, 6, 8, [1,2,1,5] );
        SetEntrySCTable( T, 7, 8, [1,6] );
        
        return LieAlgebraByStructureConstants( F, T );
        
    elif pars = [ 9, 1 ] then
        
        SetEntrySCTable( T, 1, 2, [1,3] );
        SetEntrySCTable( T, 1, 3, [1,5] );
        SetEntrySCTable( T, 1, 5, [1,6] );
        SetEntrySCTable( T, 1, 6, [1,7] );
        SetEntrySCTable( T, 1, 7, [1,6,1,9] );
        SetEntrySCTable( T, 1, 9, [1,2] );
        SetEntrySCTable( T, 2, 3, [1,4] );
        SetEntrySCTable( T, 2, 4, [1,6] );
        SetEntrySCTable( T, 2, 6, [1,8] );
        SetEntrySCTable( T, 2, 8, [1,6,1,9] );
        SetEntrySCTable( T, 2, 9, [1,1] );
        SetEntrySCTable( T, 3, 4, [1,7] );
        SetEntrySCTable( T, 3, 5, [1,8] );
        SetEntrySCTable( T, 3, 7, [1,1,1,8] );
        SetEntrySCTable( T, 3, 8, [1,2,1,7] );
        SetEntrySCTable( T, 4, 5, [1,6,1,9] );
        SetEntrySCTable( T, 4, 6, [1,2,1,7] );
        SetEntrySCTable( T, 4, 7, [1,3,1,6,1,9] );
        SetEntrySCTable( T, 4, 9, [1,5] );
        SetEntrySCTable( T, 5, 6, [1,1,1,8] );
        SetEntrySCTable( T, 5, 8, [1,3,1,6,1,9] );
        SetEntrySCTable( T, 5, 9, [1,4] );
        SetEntrySCTable( T, 6, 7, [1,1,1,4,1,8] );
        SetEntrySCTable( T, 6, 8, [1,2,1,5,1,7] );
        SetEntrySCTable( T, 7, 8, [1,3,1,9] );
        SetEntrySCTable( T, 7, 9, [1,8] );
        SetEntrySCTable( T, 8, 9, [1,7] );            
        
        return LieAlgebraByStructureConstants( F, T );
    fi;
end );
    


InstallMethod( AllSimpleLieAlgebras,
        "for a finite field and a positive int",
        true,
        [ IsField and IsFinite, IsPosInt ], 
        0,
        function( F, dim )        
    
    
    
    if dim in [1,2,4] then 
        return [];
    elif dim = 3 then
        return AsList( AllNonSolvableLieAlgebras( F, dim ));
    elif dim = 5 and Characteristic( F ) = 5 then
        return [ NonSolvableLieAlgebra( F, [5,3] ) ];
    elif  dim = 5 and Characteristic( F ) <> 5 then 
        return [];
    elif dim = 6 then
        return [ NonSolvableLieAlgebra( F, [6,2] ) ];
    elif dim = 7 and F = GF(2) then
        return [ VaughanLeeAlgebras( GF(2), [7,1] ), 
                 VaughanLeeAlgebras( GF(2), [7,2] )];
    elif dim = 8 and F = GF(2) then
        return [ VaughanLeeAlgebras( GF(2), [8,1] ), 
                 VaughanLeeAlgebras( GF(2), [8,2] ) ];
    elif dim = 9 and F = GF( 2 ) then
        return [ VaughanLeeAlgebras( GF( 2 ), [ 9, 1 ] )];
    fi;      
    
    Error( "The list of simple Lie algebras is not available for these parameters." );
    
end );

[ Dauer der Verarbeitung: 0.33 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge