############################################################################
##
#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
¤ Diese beiden folgenden Angebotsgruppen bietet das Unternehmen0.52Angebot
¤
*Eine klare Vorstellung vom Zielzustand
|
|