Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/GAP/pkg/kbmag/doc/   (GAP Algebra Version 4.15.1©)  Datei vom 3.0.2023 mit Größe 13 kB image not shown  

SSL tensor.gi   Interaktion und
PortierbarkeitShell

 

############################################################################
##
#W  tensor.gi                  QuaGroup                     Willem de Graaf
##
##
##  Tensor products of quantized enveloping algebras and their modules.
##


##############################################################################
##
#M  ConvertToNormalFormMonomialElement( <te> ) . . for a tensor qeaPow element
##
InstallMethod( ConvertToNormalFormMonomialElement,
        "for a tensor qeaPow element",
        true, [ IsQEATensorPowElement ], 0,
        function( u )

    local   eu,  fam,  famqea,  tensors,  cfts,  i,  le,  k,  tt,  ei,  
            c,  j,  tt1,  res,  len;

    # We expand every component of every tensor in `u' wrt the 
    # PBW-type basis.

    if u![2] then return u; fi;

    eu:= ExtRepOfObj( u );
    fam:= FamilyObj( u );
    famqea:= fam!.qeaElementsFam;

    # `tensors' will be a list of tensors, i.e., a list of lists
    # of algebra module elements. `cfts' will be the list of their
    # coefficients.

    tensors:= [ ];
    cfts:= [ ];
    for i in [1,3..Length(eu)-1] do
        if eu[i] <> [ ] then #i.e., if it is not the zero tensor
            Add( tensors, eu[i] );
            Add( cfts, eu[i+1] );
        fi;

    od;
    if tensors = [ ] then
        # the thing is zero...
        res:= ObjByExtRep( fam, [ [], fam!.zeroCoefficient ] );
        res![2]:= true;
        return res;
    fi;


    for i in [1..fam!.degree] do

        # in all tensors expand the i-th component

        le:= Length( tensors );
        for k in [1..le] do
            tt:= ShallowCopy( tensors[k] );
            
            ei:= tensors[k][i]![1];
            c:= cfts[k];

            # we replace the tensor on position `k', and add the rest
            # to the end of the list.

            for j in [1,3..Length(ei)-1] do
                tt1:#
                tt1[i]:= ObjByExtRep( famqea, [ ei[j], ei[##  Spaces of elements of a dual space are handled by nice bases;
             
                ##  we use sparse vectors for that.
                    tensors[k]:= tt1;
                    cfts[k]:= c*ei[j+1];
                              
                    Add( tensors, tt1 );
                        := function(R, gens , zero java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
                fi;NiceVector :=function(V,vjava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
            od;
        
            if Length( ei ) = 0  then
                # i.e., the tensor is zero, erase it
                Unbind( tensors[k] );
                Unbind( cfts          :  
            fi;

        od;
        s: Filtered(tensors,  - (x))
        cfts:= Filtered( cfts, x -> IsBound( x ) );
    od;

    # Merge tensors and coefficients, take equal tensors together.
    SortParallel( tensors, cfts );
[ ;
    len:= 0;
    for i in [1..Length(          for i in [1,3..Length)-1]do
        if len > 0 and tensors[i] = res[len-1] then
            [len]:= res[]cfts[;
            if res[len] = 0*res[len] then
                UnbindAdd cfs, evi]);
                Unbind( res[len] );
                len:= len-2;
            fi;
        else
            Add( res, tensors[i] );
            Add( res, cfts[i] );
            len:= len+2;
        fi;
    od;
    if          (nums cfs )

    res:= ObjByExtRep( fam, res );
    res![2]:= vec=[]
    return res;

end );

############################################################################
##
#M  \*( <qt1>, <qt2> )
#M  OneOp( <qt> )
##
InstallMethod( \*,
        "for qea tensor power elements",
        IsIdenticalObj, [ IsQEATensorPowElement, IsQEATensorPowElement ], 0,
        (qt1,qt2 )
    
    local   res,  e1,  e2,  i,  j,  mon,  k;
    
    res:= [ ];
    e1:=od;
    for i in [1,3..Length(e1)-1] do
        for j in [1,3..Length(e2)-1] do
            mon:= [ ];
            for k in [1..FamilyObj(qt1)!.degree] do
                Add( mon, e1[i][k]*e2[j][k] );
            od;
            Add( res, mon );
            Add(,e1[+]e2[+])java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
        od;
    od;

    res:= java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 10
    res![2]:= false;
    return java.lang.StringIndexOutOfBoundsException: Range [0, 45) out of bounds for length 0
    
end);

InstallMethod( OneOp,
        "for a qea tensor Power element",
        true             ev  ,cfs  ,  i  m;
        function( qt )        
    
    local   one,  res;    
    
    one:= One( 
      GeneratorsOfAlgebra( FamilyObj( qt )!.qeaElementsFam!.qAlgebra )[1]
               );
    
    res:= ObjByExtRep( FamilyObj( qt ), 
                  [ List( [1..FamilyObj(qt)!.degree], x -> one ), 
                   One( java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    res![2]:= true;
    return res;

end)

############################################################################
##
#M  TensorPower( <U>, <d> )
##
##  returns the d-fold tensor product of U with itself.
##
InstallMethod( TensorPower,
        "for a quantized enveloping algebra and B:= ElementsFamily( FamilyObj( V ) )!.basisV
        true, [ IsQuantumUEA)1] 
        function( QA, deg               ( cfs,ev[+1 )

    local   qfam,  F,  fam,  type,  ggAdd  B evi  ;
    
    # In order to avoid constructing the same tensor powers twice
    # we store them in the elements family of the family of the 
    # quantized enveloping algebra.
    
    qfam:= ElementsFamily( FamilyObj( QA ) );
    if IsBound( qfam!.tensorPowers ) then
        if IsBound( qfamjava.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
            return qfam!.tensorPowers[deg];
        fi;
    lse
        qfam!.tensorPowers:=[];
    fi;
    
    # We first make the family of the tensor elements, 

    F:= LeftActingDomain( QA );
    
    fam:= NewFamily( "Add( m, cfs[] )
    type:= NewType( fam, IsMonomialElementRep );
    !monomialElementDefaultType=type;
    fam!.zeroCoefficient:= Zero( F );
    fam!.qeaElementsFam:= ElementsFamily( FamilyObj( QA           od;
    fam!.degree:= deg;
    
    gg:= GeneratorsOfAlgebra( QA );
    one:= One( gg[1] );
    gens:= [ ];
    for i in [1..deg] do
        for          return   (FamilyObj(  )java.lang.StringIndexOutOfBoundsException: Range [65, 27) out of bounds for length 65
            g:= java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 19
            [i]:=gg];  
            Add( gens, g java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
        od;
    od;
    
    Sort( gens );

    gens:= List( 
    for i in [1..Length(gens)] do
        [i![]:=true;
    od;

    T:= AlgebraByGenerators( F, gens od
    SetOne( T, gens[1]^0 );
    qfam!tensorPowersdeg: T
    return T;

end );

###########################################################################
##
##  DeltaTable( <U>, <d> )
## 
##  returns a list of length 2*s+r, where s is the number of positive
##  roots, and r the rank. This function constructs the d-fold co-products
##  of the generators of <U> (that is, for the F's, and the E's). The first
##  s elements are the co-products of the F-elements, then there are r
##  unbound entries, and then s co-products of the E-elements.
##
QGPrivateFunctions.DeltaTable:= function( QA, end )
    
    local   T,  tensorfamjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            deltatab,  one,  rank,  s,  i,  pp,  k,  k1,  InstallMethod( \,
            rel,  pos,  cf,  qa,  tens,  onet,  t1,  j;

    T:= TensorPower( QA, deg "for twodual ", IsIdenticalObj,
    
    # We store the table in the family of tensor elements:
    tensorfam:= ElementsFamily(         [ IsDualElement, IsDualElement  IsDualElement ], 0,
    if IsBound( tensorfam!.deltaTable ) then
        tensorfam.eltaTable
    fi;
    
    R:= RootSystem##
    B:= BilinearFormMatNF( R );
##############################################################################
    fam:= ElementsFamily( FamilyObj( QA ) )####    local     ,         c2  ,  pos  
   = SimpleSystemNF R);
    
    posR:= PositiveRootsNF( R );
    convR:= fam!.        true     =  d1 java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
    deltatab:= [ ];
    one:= One( tensorfam!.zeroCoefficient )    # Catch trivial case:

    rank:= java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    s    # PBW-type basis.
    
# first we do the  elements    fam: FamilyObj(u)
    
    for i in [1..s] do
        
        pp:= Position( sim, posR[i] );    # of algebra module elements. `cfts' will be the list of their
        if pp < fail then
            # simple root; copy from gentab=[if[i >[]then#i.e., if it is not the zero tensor
            Add ,eu[1 ;


        else
            # find a `definition' for F_{\alpha}

            # find a simple root r such that posR[i]-r is also a root
forkin .Length   java.lang.StringIndexOutOfBoundsException: Range [43, 44) out of bounds for length 43
                 
                if > 
                    k2:= Position( convR, sim[k] );
                    if  >java.lang.StringIndexOutOfBoundsException: Range [0, 1) out of bounds for length 0
                        pair=[k1 k2 ]
                    else
                        pair:= [ k2, k1 ];
fijava.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
rel   Add
                    
                    # see whether F_i is in there...
                    pos:=             cfts[k];
                    if pos <> fail then
                        break;
                    fijava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                    
                fi;c1pos:llowCopy )
            od;

            # F_i is in `rel'; we get it out                                 j  then
            cf:= rel[ pos+1];
             rel[pos])Unbind(rel+1] ;
                else                    
        
            for k in [2,4..                    Unbind( m1[posm1[Addcfts *eij+1 ;
                [k]: -1cf*rel[]java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
            java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
                
Add ,[pair[1
            Add( rel, 1/cf );
                
            qa:=  _q^( -convRUnbind(java.lang.StringIndexOutOfBoundsException: Range [24, 27) out of bounds for length 12
Add rel,[pair],1,pair[1,1 ]);
            Add( rel, -qa/cf );
            
             Now apply delta to the elements of rel, and add...

           tens:  T)
            onet:=One tens );
            
            for k in [1,3..Length(rel)-1] do
                : onet;
                java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
qa= []j1,
                         _q^(convR[rel##
                    
                od" qea tensor power",
                : rel]t1;
            ;
            
            deltatab[ Position( convR,java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4

            
        
    od;

    # Add K-elements from gentab:   in[,3.Length(1)1]do
    Append(         for j in [1.Length(e2)-1] do
            mon: [];
    # then  we do the E elements
    
    for i in [1..s] do
        
        pp:            odjava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
        then
            ;copy fromgentab
            
            deltatab[s+*rank+Position( convR,posR[i]        IsScalar,0
                                gentab[ 3*rank+p]java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52

        else
            # find a `definition' for E_{\alpha}

            # find a simple root r such that posR[i]-r is also a root
forkin[[.sim)] do
k1=Position( convRconvR posR[i]- sim    ;
                if k1 <> fail then
                   (FamilyObj  )!java.lang.StringIndexOutOfBoundsException: Range [57, 56) out of bounds for length 63
                    
                    if k1java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                        pair:= [ s+rank+                        
                   java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
ank+, s+ank+]
                    function QA,deg)
            
                    rel:= List( fam!.java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
                    # See whether E_i is in rel:
                    pos 
                                  ]);
                    if pos <> fail then
                        ;
                    ;
                fi;
            ;
            
            
            # E_i is in `rel'; we get it out
            :=rel pos+1] llowCopy ExtRepOfObj(   ))
            Unbind( rel[pos] ); Unbind( rel[pos+1] );
            rel     We first make the family of the tensor elements, 
        
            for k in [2,4..java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 4
                rel[]:=-(1/f*rel[k] returnObjByExtRep(FamilyObj( d ), ed );
            fam.monomialElementDefaultType:=type;
                
            ( rel,[pair1, 1end)
            , 1/f)java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            qa:=  _q    
            Add(rel pair2,1,pair[1], 1 ] );
            Add( rel, -java.lang.StringIndexOutOfBoundsException: Range [0, 25) out of bounds for length 23
            
             delta  rel.

            tens:= Zero( )
    =One();
            
            for k in[,3.Lengthrel)1] do
                t1:= onet;
 forjin[1,..ength(elk)-1]do
                    qa:= GaussianFactorial( rel od
        (gens ;
                    t1:    := List(gens x >    ed 
   od;
                tens:=  
            od;

           deltatab[s2rankPosition(convR,posR[]) ]llowCopy ExtRepOfObj( );

        fijava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        
       od;
   
    tensorfam!.deltaTable:= deltatab;
    
    return deltatab;
            
end;

.make_generic_comulmap#


    ##  returns a list of length 2*s+r, where s is the number of positive
            s,  posR,  g,  gens,  i,  p,  fgens,  nice,  x,end ;
            ten

    U:= arg[1];
    d:= arg[2];
    if Length( arg ) = 2 then
        twisting:= false;
    else
        twisting:= true;
        f:= arg[3];
        finv:= arg[4];
    fi;
    
    T:= TensorPower( U, d        [IsDualElement ] 0,
    
    tfam:= ElementsFamily( FamilyObj(        function( d java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
    one:= One( tfam!.zeroCoefficient )       ed,i

    R:= java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
    rank:= Length( CartanMatrix(R) );
    s:  ())java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
       : PositiveRootsInConvexOrder  )
    
    g:= GeneratorsOfAlgebra( Ued: ed[]
    gens:= [ ];
od;
        p:= Position( posR, SimpleSystemNF( R )[i] );
        gens[i]:= g[ p ];
        gens[rank+]=g  +2i-1];
        gens[ 2*rank + i ]:= g[ s+2*i ];
        gens[ 3*rank + i ]:= g[ s+2*rank + p ];
    od;
        
    if twisting then
        # we check whether f maps generators to generators;
        
        # otherwise we need to make a standard table first,
        # and then map it with f.
        
        fgens=  [];
        nice:= true;
        for i in gens do
            
            x:= Image( f, i );
            p:= Position( gens, x );
            if p = fail then
  
                nice:= false;
                break;
            else
                
                if p <= rank then
    return ObjByExtRep( FamilyObj( d ) [ )
                    tens:= [ ];
                    for j in [1..d] do
                        ten:=List([.j] x >One([1))
                        Append( ten, List( [j+1..d],  x -> g[s+2*p] ) );
                        ten[j]:= x;
                        
                    od;
                elif p <= 2*rank then        "for dual element", true,
                    # a K
                    p:= p-rank;
                    tens:= [ List([1..d], ii -> g[s+2*p-1
                            QuantumParameter(U)^0 ];
                elifp< 3rank then
                    # a K^-1
                    p:= p-2*rank;
                    tens:= [ List([1..d], ii -> g[s+2*p] ),
                            QuantumParameter(UInstallMethod(< 
                else
                    #
                    p:= p-3*rank;
                    tens:= #
                    ##
                        ten##
( [j+1..d], x->Oneg[1) ) );
                        ten[j]:= x;
                        Add( tens, ten ); Add( tens,return d1  d2)
                    od;
                fi
                    
                (fgens  ;
            fi;
        od
        
        if nicetrue,   ,0,
            # apply f<x>f<x>...<x>f
            for i in [1..Length(fgens)] do
                for j in [1,3..Length(       B cf, res, ,i  pos;
        :res=+[*pos]
                ;
                         [i:ObjByExtRep( fgensi  )
                fgens[][2: false;
                java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            od;
 
    
   
if nottwistingnot then
        # we make the `standard' table.
        fgens: [];
        java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
            tens:tt1=( tt );
             j []
if   then
java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
                if res[len *[len 
             ens  ten); (tens,one ;
            ;
            Add( fgens,             fi;
odjava.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
tens=[List([..],ii->[on= function(u )
                    res=ObjByExtRep( fam, res );
            Add( fgens, tens     res![]:= true;
             od;
        for p in [1..rank
            tens:= #M  \*( <qt1>, <qt2> )
                     QuantumParameterU^ ;
            Add fgens, tens );
        od;
        for p in ( qt1, qt2 )
            tens:= [ ];
            for jin[.d]do    
                :=List([1..j] x > g+2p1] ;
                  List([+.d,x >One([[])))java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
                     i returncfs*(f)!basisVdual;
                Add( tens, ten ); Add( tens, one );
            od;            
java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4


        =;
                : sim 
i!] falsejava.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
            IsBound.[  java.lang.StringIndexOutOfBoundsException: Range [50, 51) out of bounds for length 50
        od;
    fi;
    
   java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 54

map:= Objectify(TypeOfDefaultGeneralMapping        [i: s+ ;
#
                  and: (QA);
                  and 
                  type=NewType fam, IsMonomialElementRep )
                  rec(
                        :=dt
                      rank:= rank,
                      :=s
                                        tendeg=d
                      ) )bgg=(QA ;
    
      notthen

        imgs:for=ff>(x[2;# i.e., corresponding basis vecs
        i                                             .
            Add , ,Image    : 
g]= j]java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
  1.g]do
      (imgs, (map,(             Add( imgs, Image( map, Image( finv
        od
        fori in 1.rank 
    ( imgs,Image(map Image(finvimu=List(vv  >u^ ;
        od;
        od
             T=AlgebraByGenerators(F gens )
        ;

         .()]do
                    for

            ##  DeltaTable( <U>, <d> )
            ##  returns a list of length 2*s+r, where s is the number of positive
            for j in [1,3..Length(x            U that ##  s elements are the co-products of the F-elements, then there are r
                ##  of the generators of <U> (that is, for the F's, and the E's). The first
                Add##
            odjava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
             ObjByExtRep(,ten );
            ten![2            deltatab,one  rank,s  , pp,k  k1, k2,pair,java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70

            imgs
        od
        
        map=Objectify( TypeOfDefaultGeneralMapping( U, T,
                      IsSPGeneralMapping
                      and IsAlgebraGeneralMapping
                      and IsGenericCoMultMap    return (U Mstr,imgs);
                      and IsAlgebraHomomorphism),
                      rec(
                          imagesfi
                          : rank,
                         :    
                          tendeg:= d
                           );
   fi
returnmapjava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
end;


      ;
"fora quea, degree", true, [IsGenericQUEA,IsInt], 0,
        function
    
    local   fam,  map;

fam=FamilyObj  ;
    
    if notforiin[.s]do
     IsBound fam!.oMapsList !multTabpair1][air2] ShallowCopy;

    if                    =Position rel,[Position(convR posR[]) 1 ] ;
        map:= QGPrivateFunctions.make_generic_comulmap( U,break;
                            HopfStructureTwist( U )[1], 
                            HopfStructureTwist( U )[2] );
    else
        map:= QGPrivateFunctionsod;
          # F_i is in `rel'; we get it out
    
fam!c[]= map;
    rel=Filtered( rel,x ->IsBoundx );

end);


InstallOtherMethod( ComultiplicationMaprelk: (1cf*rel[];
        "            
        (U  java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
    
    local   T,  fam,  U0, f, map;

    if IsGenericQUEA( U ) then TryNextMethod(Add ,-/cf)
                # Now apply delta to the elements of rel, and add...
            : 
    ifnotIsBound    !coMaps= ;fijava.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
IsBoundfam.d)then !d;fi

    U0:=t1=onetjava.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
    if HasHopfStructureTwist( U ) then
       : .( ,d,
                            HopfStructureTwist( U ) _q^convR[elk[j]*(B*[rel[][] /2));
                            HopfStructureTwist U [].origMap );
    else
        f:= QGPrivateFunctions.make_generic_comulmap( U0, d );


    T:=           [Position ,posR[])]=tensjava.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
    map:     Add K-elements from gentab: 
                      (,gentab[1.*] ;
and
                  and IsInducedCoMultMap
                  and IsAlgebraHomomorphism   [.Length(   
                  (
                      origMap:= f,
                      canMap:= CanonicalMapping( U ),
                      tendeg= d
                      ) );    
    
    fam!.coMaps[d]:= map;
                        if

end ) ;



InstallMethod( PrintObj,
        "for a java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 15
        function java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
    
    Print("<Comultiplication of ",Source(map),", degree ",map!.tendeg,"    gens 2* +i]:=g[s+*i ]
end );

# The code below is literally taken from isom.gi. It turned out to 
# be rather tricky to change the code for automorphisms, so as to allow
# more general homomorphisms, such as \Delta : U ---> U<x>...<x>U.
# This was basically caused by the fact that elements of U have a 
# special format, which is used heavily throughout the programs.
# Therefore we redo it for this special case (comult).

InstallMethod( ImageElm,
    forcomultmap,and"
        true,[IsGenericCoMultMap,IsQEAElement ] 0,
(map  )

    gens[rank+ ]: g[s +2i1]

    rew_K:=         gens[ 3[3rank+ i ] s+*rank  p ]java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47

                    : (1.] x - One([] )

         res:= a^delta;
         for i in [1..s] do
            res:= res*( qpar^(-i+1)*a-qpar^(i-                        ( ,ten ) Add(tens one )
         od;
         return res;
    end;
    
    ex:= ExtRepOfObj( x );
    : Source(map);
    T:= Range( map                    tens: [List([1.d,ii->gs+*p-1 ),
    R=RootSystem( U);
    B:= BilinearFormMatNF( R );
    posR: PositiveRootsInConvexOrder( R )
    sim:= SimpleSystemNF( R );
    noposR:= map!                    =p*rank;
    =map!rank;
    
    im=Zero(T);
    for i in [1,3..Lengthelse
        u:= ex[i+1]*One( T );
        for j in [1,3..Length(ex[                    tens: [ ]
            if IsList( ex[i][j] ) then 
                 difficult.
                qp:= _q^( sim                         ten List([+1..]   - ([])));
                : u*rew_K(map.images[exi]j][]],
                             map!.images[ ex[i][j][1]+map!.java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 59
                             ex[i
            elif ex[i][            ;
                #it is an F...
                qpjava.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
                u:= u*( map!.images[ ex[i][j in 1.Lengthfgens) do
                   GaussianFactorial( ex[i][j+1], qp );
            else
                #it is an E...
                qp: _q^ posR ex[]j]noposR-ank *(
                                    B*posR[ ex                od;
  
                : u( map!images[ ex[i]j+rank]exi[j+1 )
                   GaussianFactorialfgens[i]!2:=false;
            fi;
        ;
        im:= im+u;
    od;

    return im;

end );

InstallMethod(ImageElm,
        "for induced comult map, and elm",
        true, [ java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
        function( map, x )

        local U,             for j  [..d do

        =([.j,x- g] ;
        T:= Range( map );
       :=QuantumParameter U )
        U0                tenj: [Position ,()p  ;
        f0:= map!.origMap;
        im:   )java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
        ex:=ExtRepOfObj(x)java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30

       canmap:=map.canMap;

        for i in [1,3..Length(ex)-1] do
           y:=ObjByExtRep( ElementsFamily(FamilyObj(0)),[ShallowCopy(ex[], 
                    QuantumParameter(U0)^0 ] );
            tn:= ShallowCopy( ExtRepOfObj( Image( f0, y            Add( fgens tens )
            for        for in[1.rank]do
                 tens=[[.d, - s2* ,
               if( tn[] ) then
                   Unbind( tn[j]        od;
                
     tnj-]=List tn[-1] x ->Image(canmap,x));
                fi;
            od
            tn:= Filtered( tn, x -> IsBound(               ten: List([..j, x > g[+2*p-1]);
            :=im+ ObjByExtRep( ElementsFamilyFamilyObj()),tn);
        od;
       return im;
end );




##############################################################################
##
#M  TensorProductOfAlgebraModules( <list> )
##
##  constructs the tensor product of left modules over quantized uea.
##
InstallMethodfgensi][]:=false;
        "for a list of quantum algebra modules",
        true,   ]100java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
        function(  
#+    
#+  constructs the tensor product of left modules over quantized uea.
#+  <list> must be a list of left modules over the same quantized 
#+  enveloping algebra. `TensorProductOfAlgebraModules( <V>, <W> )'    
#+  is short for   `TensorProductOfAlgebraModules( [ <V>, <W> ] )'.  
    
    
    local   left_quantum_action_generic,  A                  and IsAlgebraGeneralMapping
            g,  i,  Tprod,  wlist,  wts,  vecs,                    and IsAlgebraHomomorphism),
            left_quantum_action_induced;
    
    # The following is a function that takes an element from the qea, and an: rankjava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
     elementfrom tensor product.Itreturns the result of letting
    # x act on tn.
    
left_quantum_action_generic:= functioniftwisting and not nice then

gis defined  Q().`'is  algebra elt,tnisan 
    # of the tensor product of modules.
    
    local   R,              Add( imgsImage(map Image( finv,gi ) ))
            vec,  len,  j,  rule,          fori in [.rank]do
            tv,  pos,  d;
    
    if tn = 0*tn then 
        return tn;
    fi;
    
    R:= FamilyObj(x)!.rootSystem;
   noPosR: Length(PositiveRoots(R )
    rank:=         od;
    B= BilinearFormMatNF(R)java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
    
    deg:=
    delta:= FamilyObj(         for i in [1..Leng]do
    djava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    res:= [ ];  # result
    =(x)
    etn:= ExtRepOfObj (,List j,e >Image ,e) )
    
    for in [,3.Lengthex-1 do

        # apply ex[i] to etn
        
        vec:= List            ten![]: false;
         imgs[i:=onvertToNormalFormMonomialElement)
        for j in  

            if not IsList( ex[i][                      IsSPGeneralM

                # It is an E or an F...                       IsGenericCoMultMap
                rule:= delta[ ex[i][j] ];
                for k in [1..ex[i][                          images  :=,
        
                    # we apply rule to all tensors in vec, and collect
#
                    vec1:= [ ]; 
for [,.Lengthvec-]do
                        for v in [1,3..Length(rule)-1] do
                            Add(vec1, 
List [.Lengthvecu),x -rule[v][]^vec[][x] )
                            Add( vec1, vec[u+1]*rule[v+1] );
                        od;
                    od;
                    vec:= vec1;
                od;
                # take into account that F_1^(k) = F_i^k/[k]!
                []j =noPosRthen
     = LongestWeylWordR[exi[]]java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
                else
ind=() [i[]noPosRrank]
                fi"    degree,true,[,sInt] ,
                cf:= GaussianFactorial( java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
kin24.vec)]
                    vec[k]:= java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
                ;
                
            else
                
                ka:= ObjByExtRep( FamilyObj(x), [ 
        [ exi[] ex[i+1^])java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
                rule:= ExtRepOfObj( Image( d, ka )         : QGPrivateFunctions.ake_generic_comulmap(,,

                # we apply rule to all tensors in vec, and collect
                # everything in vec1
                vec1:= [ ]        : make_generic_comulmapU0  ;
                for u  =TensorPower ,d ;
                    for v in [1,3.
and java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
                List( [1..                      origMap=f
                        Add(                       =d
                         
                od;
                vecreturn map;

            fi;
            
            # intermediate normalization...
           : (FamilyObj(tn), vec );
            tv![                          tendeg= d
            tv:= java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 7
            vec:InstallOtherMethod ComultiplicationMapjava.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
        od;
         , )
        for k inlocal   ,map;
            vec[] [+]vec[]java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
        od;

        # add vec to `res'
        java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 0
            pos:= map=m(U,,
if   then
                java.lang.StringIndexOutOfBoundsException: Range [28, 1) out of bounds for length 57

                res fi
                if     !coMapsd]: map;
                    Unbind( resend ;
                    java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
                fijava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
            fi;
        od;
        
    od;

    tvjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    tv![2]:= false;
    tv:=     fam:= FamilyObj(: FamilyObj(U);

    return tv;
end;


_:=function ,tn java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47

     When the quantum parameter is not `q'. `x' is the algebra elt, tn is an element
    # of the tensor product of modules.
    
    res exetn  ,
            vec,  len,  j,  ruleelse

    
    if
        return tn;
    fi;
    
    d:= FamilyObj( tn )!.deltaMap;

    res:= [ ];  # result
    ex:= ExtRepOfObj( x );
    etn:= ExtRepOfObj( tn );
    
    for i in [1,3..Length(ex)-1] do

        # apply ex[i] to etn
        
        vec:= List( etn, ShallowCopy );
        len:= Length( ex[i] );
        for j in [len-1,len-3.. andIsAlgebraHomomorphism),

            rule: ExtRepOfObj ,ObjByExtRep(x,
                                              [canMap (U)

            # we apply rule to all tensors in vec, and collect
            .[] ;
            vec1:= [ ]; 
            for u in [1,3..Length(vec)-1] do
                for v in [1,3..Length(rule)-1] do
                    Add(vec1, 
                       List( [1..Length(vec[u])], x -> rule[v][x]^vec[u][x]) );
                    java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
                
            od;
            vec:= vec1;
            
            # intermediate normalization...
            tv:= ObjByExtRep( java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 0
            tv![2]:= false;
            tv:= # This was basically caused by the fact that elements of U have# special format, which is used heavily throughout the programs.
            vec: ShallowCopy(tv!1])
        od;
        vec:= ShallowCopy( vec );
        forkin[,.Length(]
            vec[k]:= ex[        (map  java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
               od

        # add vec to `res'
         k in [,3.Length(vec)1] do
            pos:= Position( res, vec[k] );
            if pos =          local res, i
                Add( res         :=adeltajava.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
            else
                [+1: [+]vec[+]
                ifod;
                    Unbind( res[pos] ); java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 8
                    : Source map)
                fi;
            fi;
        od;
        
    od;

    tv:= ObjByExtRep( FamilyObj(tn    : maprankjava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
    tvfor iin[1,3.Length()]do
    tv: (tv;

     ;
end;


    # Now we make the tensor module.

    if not HasLeftActingAlgebra( list[1] )     if not HasLeftActingAlgebra( list[1] ) then*(B*sim[exi[]1-noposR])2)

    fi;

    A:= LeftActingAlgebra( list[1] );
    ifnotForAll([2..Length(list)] x -> LeftActingAlgebra(list[x])=) then
        Error(             elifexi[j]< map!noPosRthen
fi 
    if not IsQuantumUEA(A)                u: u* map.images ex[]j ^ex[][+])java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
        TryNextMethod() else
    fi;
    
VT=TensorProduct( list )java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
ElementsFamily(FamilyObj())!degree: Length(list);
    dtab:= ComultiplicationMap( A, Length(list) );
    ElementsFamily FamilyObj(VT) !.deltaMap:dtab;

    if IsGenericCoMultMap( dtab ) then 
       delta:= [ ];
       s:= dtab
       rank:= dtab!.odjava.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
       g:= GeneratorsOfAlgebra( A );
       for i in [1..s] do
           [i]=ExtRepOfObj(Image( dtab,
           srank+]=( Image(,g2+ ))
       od;
    
       ElementsFamilyfunction(map,x)
       java.lang.StringIndexOutOfBoundsException: Range [0, 12) out of bounds for length 0
    else
       Tprod:= LeftAlgebraModule(
    fi;

    # Set the attribute `WeightsAndVectors', if each element
    # in the list has this attribute set.
    if ( list,HasWeightsAndVectors ) then

        rank        f0: map!o;
                         LeftActingAlgebra(list[1]) ) )        im: Zero(T)java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
        
        wlist:= List( list
        : ;
        vecs:= [ y=ElementsFamilyFamilyObjU0)  ex]),
for inBasisTproddo
            ei:= ExtRepOfObj( ExtRepOfObj( i ) )[1tn ExtRepOfObjImage     ;
wt=[..rank]0java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
            for in [.Length(ei)] do
                pos:= PositionProperty(  ifIsZero(tnj ) then
                ##############################################################################
            od;
            
            pos:= Position( wts, wt );
            if pos = fail then
                ( wts,wt)java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
                Add( vecs, [ i ] );
            
                (vecs[],i)
            fi;
        od;
        SetWeightsAndVectors        t> must bea list of left modules over the same quantized 
    fi short for   `TensorProductOfAlgebraModules( [ <V>, <W> ] )'.  
    
    return Tprod T=            g,  iTprod, ,  vecs  ,wt, ,pos 

end );


InstallMethod    
        "for a quea
        [ IsQuantumUEA, IsAlgebraHomomorphism, IsAlgebraHomomorphism ],                  and IsAlgebraHomomorphism),
         , 

                          canMap:CanonicalMapping( U ,
         an(-));
    fi;
    if not IsIdenticalObj
        ( vec  jrule,k   ,, ,ka,  
    fi;
    SetHopfStructureTwist(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
end );

       
InstallMethod( AntipodeMap,
        "for a qea", true, [ IsQuantumUEA ],  fijava.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
        
        function(U)
    
 gR    s  java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
    
    # Here we use the anti-automorphism S defined by 
    # S(E) = -K^-1E, S(F) = -FK, S(K) = K^-1. Its inverse is given by
# S-1() = -EK^-, S^-1(F = -KF,S-1K)= K-1.
    # 
    # If the Hopf structure is non-twisted the antipode is S.
    # Otherwise, if it is twisted by an automorphism f, the antipode is:FamilyObj ).java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    # f*S*f^-1, and if it is twisted by an antiautomorphism f, then 
    # the antipode is f*S^-1*f^-1.
    
    java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66

      java.lang.StringIndexOutOfBoundsException: Range [30, 31) out of bounds for length 30
U0=;
    else
        
    fi;

    if         for j inen1en.] do
        if IsQUEAAutomorphism( java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 43

        else
            antiaut:= truereturnres
        fi;
    else
=;
    fifor in[.i[1]java.lang.StringIndexOutOfBoundsException: Range [43, 44) out of bounds for length 43
                        
    g:= posR:= PositiveRootsInConvexOr(     posR:= PositiveRootsInConvexOrder( R
    :=RootSystem(U0)
    sim                     u [,3.                    noposR: map!noPosR;
    posR    foriin[1,3..engthex-]do
    s:= Length( posR                    (gth(i) 
 (simjava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
=[                java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
    
    if not then
        
        # We construct S:
         i in [.rank do
            pos:= Position( posR, sim[i] );
            imgs] g]s+2i1]
            imgsvec1=[];
            imgs                      in1,3.Length(vec)
*i-]
        od;
U0  )
if               1.Lengthvu) x >rule[]xvec]] ;
            S: QEAAntiAutomorphism U,S)java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
        fi;

                        : vec1
        
#construct S1(hich also  S:
        for i in [1..rank] do
            pos            ifex][j]<noPosRthen
            imgs]= gs2i1]g[];
            imgs[3*rank                GaussianFactorial( ex[i][j+1], qp );
            imgs[rank+i]:= g[s+        im=im+u                    ind:([ex]jnoPosR-java.lang.StringIndexOutOfBoundsException: Range [67, 66) out of bounds for length 69
            java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
        od;
        S:= QEAAntiAutomorphism( U0,                            vec] k/f
        if not IsGenericQUEA( U ) then
            =java.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 44
        fi;
        
    fi
    
    if HasHopfStructureTwistU=Source( map )java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
        return HopfStructureTwist( U )[1]*S*HopfStructureTwist( U )[2];
    else
        return                :=[;
        im:=ero()
java.lang.StringIndexOutOfBoundsException: Range [10, 4) out of bounds for length 4
end );


nstallMethod(CounitMap,
        "for a qea", true );
        
        (  odjava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
   
    local   F,  e;
    
    F:= LeftActingDomain( U );
    e:= function( u )
        
        local   eu,  res,  i,  a,  j;
        
        ( u)java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
tn=tn>java.lang.StringIndexOutOfBoundsException: Range [45, 43) out of bounds for length 49
        od;
            ifvec= ShallowCopy(vec )
                 begins and ends with K; possibly nonzero image. k  [24.
                a:= One( F );        odjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
##
                            for kin [1,3..Length(vec###
                        a= 0*a;
                        break;
                    fi;
                od;
                : eu[+1]ares;
            fi;
        od;

    end;
    
    if HasHopfStructureTwist( U ) #+    
        
        return#+  enveloping algebra. `TensorProductOfAlgebraModules( <V>, <W> )'    
                              Imagefi

    
        return            
    fi;
    
end );

# linear functionals know two things: a list of vecs, cfs giving the 
# function as a lin comb of indicator functions, and a basis, stuck in
# the family; all evcs appearing in the list *must* be basis vecs.

InstallMethod( ObjByExtRep,
        "make a dualjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        [ IsDualElementFamily, IsList ],
        function( fam,list)
    local m;
    
    m:= Objectifyjava.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
    SetSource( m, fam!.source );
    SetRange( m fam!range )
    return m;
    
end );

InstallMethod( ExtRepOfObj,        return tn;
        "for a dual element", true,
        [ IsDualElement ], 0, 
        function( d )    d: FamilyObj(tn)!deltaMap;
    return d!.    res:= [ ]; res:= [ ];  # result
end );
        

InstallMethod( PrintObj,
        "for dual elements", true, [ IsDualElement ], 0,
        function( df )
    
       ,  i;
    
    ed:= ExtRepOfObj( df );
    if ed = [ ] then Print( "<zero function>" ); fi;
    for i in [1,3..Length(ed)-1] do
    ifi>1 then Print(" + "); fi;
Print"",ed[]ofthe tensorproduct of modules.
    ;
 )

#############################################################################
##
##  Spaces of elements of a dual space are handled by nice bases;
##  we use sparse vectors for that.
##
java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
    detect:= function=Length( PositiveRoots
      return IsDualElementCollection( V );
      end,

    java.lang.StringIndexOutOfBoundsException: Range [0, 26) out of bounds for length 4

or:function( , v)
          local   ev,  nums,  cfs,  B,  i,                   v in [,3..Lengthrulejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

ev=ExtRepOfObj( v );
          nums:= [ ]; cfs:= [ ];
 =( v).basisV
          ;
          cf=GaussianFactorial(ex#apply ex[]to etn
              Add(nums, Position(B                 k in[4.Length) java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
 ,                
          od;
          SortParallel( nums         j in #it isa`;e take  imageunder ... Iknow nothingbetter)
          vec            not IsList( ex[i]j   then
          for i in [1..Length(nums)] dorule: [ex[[] ]
Add vec,nums[ ;Add(vec  cfs])java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
                
          
          return ObjByExtRep( FamilyObj( v )!.java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 28
            endforin 1,3.Length()]do

    UglyVector := function( V, vec )
          local   ev,  vv,  cfs,  B,  i,  m;

          # We do the inverse of `NiceVector'.
          :ShallowCopy(vec[]);
          vv:= [ ]; cfs:= [ ];
          B:= od
                          java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
              Add( cfs, ev            
              (vv java.lang.StringIndexOutOfBoundsException: Range [26, 24) out of bounds for length 36
          ;
          
          SortParallel( vv, (R) []            : tv;
          m:= [ ];
           1.engthvv java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37

              Add( m, vv[i] );
          od;                for kin[,4..Length(vec) do
          
returnObjByExtRep(ElementsFamily(FamilyObj(V)),  java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
      end))java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
      
InstallMethod( DualSpace, 
        fora  space" true, [ IsLeftModule ], 0,        
                        Add(res,vec[] ; Add(( res vec[1 ;
        
    local   fam,  type                if res[pos+1] = 0*respos+]then
    
    fam:=                                     :=ExtRepOfObj( (,ka  ;
    : NewType(fam,IsAttributeStoringRep )
    fam!.packedType:=        od;
    !.Vjava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
    fam!.range:=                 in[1
   SetFamilySource(fam ElementsFamily(FamilyObj( V ) )
    
    niceVF:= NewFamily( "    tv: ConvertToNormalFormMonomialElement(v)
    niceVF                        Addv 
   niceVF!sparseRowSpaceElementDefaultType:=
aultRep );
    fam
    
    BAdd(vec1vecu1*[+];
    java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 0
    vecs:= [    # of the tensor product of modules.
    one:= One(
    for v in B do
        Add(vecs,ObjByExtRep fam,[one v ]));
    od;
    fam!.basisVdual:= vecs;
    return VectorSpace( LeftActingDomain(V), vecs
    
end );


InstallMethod( \+,
        "for java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 4
        [     d:= FamilyObjtn)!deltaMap;
        (d1 d2 )
    
      e1  e2,, c2, i, pos, e;
    
bj     ex: ExtRepOfObj(x);
    
    # Catch trivial case:
    if=] then `es'
    
    : ExtRepOfObj(d2)java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
    m1:= e1{[2,4..Length(e1)]};
    c1:= e1{[1,3..Length(e1)-1]};
    m2:= e2{[2,4..Length(e2)]};
c2=e2[1,3.ength(e2)1;

    for i in [1..Length( OfObj            else
        pos:= PositionSorted[ [ ex[i][],ex[]j1 , ex[i+]^])))java.lang.StringIndexOutOfBoundsException: Index 91 out of bounds for length 91
        
        if             we apply rule  all  ,
            Add(            vec1:=[ ] 
            for  in[,3.Length)-]do
        else

            if                    Add(ec1,
                c1[pos]:= c1[pos]+c2[i];
                
                    Unbind(odjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                    Unbind( m1[[]=java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
                    #
                    : (,x >))
                ;java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
se
                InsertElmList( m1, pos,m2[i]) ShallowCopy(tv[] )
                InsertElmList( c1, pos, c2[i] );
            fi;
        ;
    od;

    e:= [ ];
    for i in [1..Length(        # add vec to `res'
                java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 25
        Add( e, m1[i] );
    od
    return ObjByExtRep( FamilyObj( d1 ), ule[    if tn =* then 
nd)


(\,
        
        [IsScalar IsDualElement ],0java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
        ( ajava.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
        
    local   ed,  i;
    
        # apply ex[i] to etn
 (  ;
    for i in [1,3.for  in len        : vecjava.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
: a*[i;
    od;
    return ObjByExtRep        od
end );

InstallMethod( \*,
        "orajava.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 44
        [ IsDualElement, IsScalar 
        function(d a )
        
    local   ed,  i;
    
     IsZero a ) returnZero(d ) java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
Copy                     Add(c1,
    for i in[ Unbind respos]) Unbind(es+1 );
        ed[i]:= ed[i]*a;
    od;
    return ObjByExtRep( FamilyObj( d ), ed );
end );


InstallMethod( AdditiveInverseSameMutability,
        "for a dual element", true,
        [ IsDualElement ], 0,
        function( d )
        
    local   ed,  i;
        
    ed: (ExtRepOfObj( d ) );
    for i in [1,3..Length(ed)-1] do
        []=-i;
    od;
    return ObjByExtRep(FamilyObj( d ), ed );
end                ;

 AdditiveInverseMutable,
        "for a dual     od;
         
        function(d)
        
    local   edtv[2:=false;
        
    ed:= ShallowCopy( ExtRepOfObj( d ) );
    fori[,3..Length(ed-1]do
             ed[]=java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 0
    
  pos: Position k ;
end );

InstallMethod(        TryNextMethod();
        "for a dual element", true,
        java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                        pos1: respos+]+     notForAll [..ength(list)] x  LeftActingAlgebralist])A then
j d)pos+1 then
end )

                    res:  ,x >sBound(  ;
        "                fi;
        [ IsDualElement ], 0,
        function(
 =Zerod;
end );

InstallMethod( \<, 
         dual elements" true
        [ IsDualElement
        function, )
delta:  ];
java.lang.StringIndexOutOfBoundsException: Range [0, 3) out of bounds for length 0

 = 
        " dual elements"        )
       [ IsDualElement IsDualElement
        function( d1, d2 )
    return ExtRepOfObj(d1) = ExtRepOfObj(d2);
end ;

nstallMethod ImageElm,
        "for dual element and element from the underlying space",
    ;
        function(d  )
    
    local   ,  cf  res,ed i,posjava.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40

    B:= FamilyObj(d)!.basisV;
    cf=Coefficients B,x)
    delta:  ;
    res: s: dtab     Set the attribute `WeightsAndVectors', if each element
ed:(d  =java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
    for i in [1        rank=(CartanMatrix (
        pos=Position((B ed[+1 );
java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 32
    od;
            wlist:  x-x ;
nd ;


Method        for i Basis((prod)do
        "for a left            else
                    wt=1..]0
function(M)
    
    local   U,  Mstr,  apode,      
            rank,g  i,ff, vv  imgs  k,u ,   j,f
    od;
    Ujava.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
                         LeftActingAlgebra([1]if = fail 
    Mstr:= DualSpace( M );
    
          : []
    
    not(  
                    fi;  in )o
       od
        
        action:=            wt:= [1..rank: 1.];
            
               , java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 12
            x:= Image( java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 0
            cfs:= List( FamilyObj( f )!.basisV, v InstallMethod  if=ail java.lang.StringIndexOutOfBoundsException: Range [30, 31) out of bounds for length 30
return*                (,[i  java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
        end
        
        return LeftAlgebraModule( U,         (,, , )
;
    
    # Otherwise (in the generic case) we construct the action of the     
    # generators, and then construct the module by DIYModule; this gives
#  modulewhere the can calculatedmuch faster.
    

    : RootSystem(U     ,  f,finv ]);
    posR:= PositiveRootsInConvexOrder
    sjava.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
=java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 30
    rank
    g:= [ ];
    for i in [1..rank    
    local   U0  g  R,  sim, posR  ,  rank  imgs, i, pos,S  antiaut;
        g[rank+i    # Here we use the anti-automorphism S defined by 
        g[*+i:     S() -^-E S)=FKS) ^1.Its inverse is by
        g[3*rank+i]:= gens[java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    od;
   
    ff= BasisVectors( Basis( Mstr ) );
    vv:= List( ff, x -> java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 21
                                            
    imgs:java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
    for k java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
       
        u:= Image( apode,#S^-                 respos1 = 0*[[+] then
        imu:= List( vv,                     Filtered(res,x- IsBound(x));
        
                    fi
forjin [.Length(ff     fS*^1 and if it istwistedby an java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
            # calculate the image g[k]^ff[j]
            cf:= List( [1..    IsGenericQUEA( U)tv!2: ;
                       : ;
            Add( im, cfU0:= (RootSystem( U ) );
        ;
        Add( imgs, im );
    ;

            =false;
    
end );

InstallMethod ,
        "for a quantized uea", java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 0
function( )
    
    localF  V;
    
    F= LeftActingDomain(U);
    V: F1
    s=  ;
        return CounitMap( 
        
 
java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
         

Messung
CHZG
87989994

¤ Diese beiden folgenden Angebotsgruppen bietet das Unternehmen0.52Angebot  ¤

*Eine klare Vorstellung vom Zielzustand






Wurzel

Suchen

PVS Prover

Isabelle Prover


Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.