############################################################################
##
#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( Append( ten, List, ([] java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
"for a tensor qeaPow element function( d1,d2 )
true, [ IsQEATensorPowElement ], 0,
function( u )
local eu, fam, famqea, tensors, cfts, i, le, k, tt, ei,
, j tt1,res, ;
# We expand every component of every tensor in `u' wrt the
# PBW-type basis.
if u![2] then =
eu:= ExtRepOfObj( u );
fam:= =(B ;
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 [ ed: ( )
if eu[i] <> [ ] then #i.e., if it is not the zero tensor
Add( tensors, eu[i] );
Add [+])
fi;
od;
if tensors = [ ] then
# the thing is zero...
res: :=resicf[]
res![2]od
return res;
fi; fgens] (tfam,[] )
for i in [1..fam!.degree [!2]=false;
# in all tensors expand the i-th component
le:= java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 15
for k in
fi;
ei:= tensors
c:= if or notnice
InstallMethod # we make the `standard' table.
# to the end of the list.=[;
for auea" ,
:=ShallowCopy
tt1[[ for in[1.d do
j=1then
tensors[k]:= tt1;
cfts[k]:= c*ei[j+1];
else
Add( tensors, tt1 );
java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 4
fi;
od;
if Length( ei ) = 0 then
# i.e., the tensor is zero, erase it
Unbind( tensors[k] );
Unbind( cfts[k]
fi;
od;
U:= LeftActingAlgebra ;
cfts:= Filtered( cfts, x -> IsBound( x ) );
od;
# Merge tensors and coefficients, take equal tensors together.
;
res:= [ ];
len:= 0;
for i in [1.. : DualSpace )
if len > 0 and tensors[i] = res[len
res[len]:= res[len]+cfts[java.lang.StringIndexOutOfBoundsException: Range [0, 38) out of bounds for length 29
] =0*es] then
Unbind( res[len-1] );
Unbind( res[ if Add(, java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 51
len:= len-odjava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
else
Add( res ;
Add( res, cfts[i] );
len:= len+2;
fi;
od;
: [d, >g : ,
: java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 34
2: ;
return res;
odjava.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
############################################################################
##
#M \*( <qt1>, <qt2> )
#M OneOp( <qt> )
##
InstallMethod()^]
"for qea tensor powerAdd(fgens;
java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 11
functionjava.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 28
local res, e1, e2, i, jten 1.j,- [s*-])
(,List j.] x- g
e1:= qt1![1]; e2:= qt2![1];
fori !java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
for j in [1,3..java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 27
mon:= [ ];
for in 1.q).degree]do
Add( mon, e1[i][k]*e2[j][k] java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
od;
Add( res, mon );
Add ;
od;
od;
java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
res![2]:= false;
return Otherwise i ) constructthe of
end);
InstallMethod( OneOp,
"for a qea tensor Power element",
true, [ IsQEATensorPowElement ], 0,
function( qt )
local one, res;
one:= One(
GeneratorsOfAlgebra( FamilyObj( qt )!java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
);
res:= ObjByExtRep( FamilyObj( qt ),
[ ([.FamilyObj
One(
[2]:=truejava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
return res;
: (U ;
end );
############################################################################
##
#M TensorPower( <U>, <d> )
##
## returns the d-fold tensor product of U with itself.
##
InstallMethod( TensorPower,
"for a quantized enveloping posR:= PositiveRootsInConvexOrder( R: ;
true, [ IsQuantumUEA, IsInt ], 0,
function( QA, deg)
local qfam, F, fam, type, gg, one, gens, : SimpleSystemNFR);
# In order to avoid constructing the same tensor powers twice
rank=Length( sim );
# quantized enveloping algebra.
qfam:= ElementsFamily( FamilyObj fgens[i]!2]=;
(qfam.)then
if ( qfam!.ensorPowers[eg])then
return qfam!.tensorPowers[deg];
;
else
qfam (( Ug[rank+]= +i]
fi;
# We first make the family of the tensor elements,
F=LeftActingDomain QA ;
fam: IsGenericCoMultMap
java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 48
fam!.monomialElementDefaultType:images:=,
fam!.java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 7
noPosR ,
fam!.degree:= deg
: GeneratorsOfAlgebra QA )
one:= One( gg[1] );
gens:= [ ] if not java.lang.StringIndexOutOfBoundsException: Range [33, 34) out of bounds for length 33
vv:List(x-ExtRepOfObj)])# i.e., corresponding basis vecs
for j in [1..Lengthfor # of
g:= List( [1..deg] Add(imgs,Image(map imgs:[;
[i: gg[]
Add( gens, g );
od;
k in[1.Length(]
Add ,Image ,Image( java.lang.StringIndexOutOfBoundsException: Range [0, 46) out of bounds for length 8
u in 1. do
for Add , java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 35
gens[i]![2]:= true;
;
: ,gens ;
SetOne( T,od;
returnfori in [1.Length(mgs]
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, deg, gentab )
local T, tensorfam, R, B, g, fam, sim, posR, convR,
deltatab, one##W tensor.gi QuaGroup Willem de Graaf
rel, pos, cf##
T= TensorPower(,)
# We store the table in the family of tensor elements: ,0,
java.lang.StringIndexOutOfBoundsException: Range [0, 13) out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
return tensorfam.deltaTable;
fijava.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
R:= RootSystem( QA );
B:= BilinearFormMatNF( R );
g:
fam=(FamilyObj(QA ))
sim:
posR:= PositiveRootsNF( R
convR:= # coefficients
= ;
= java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 44
rank: if[]< #i.e., if it is not the zero tensor
s:Add,i1];
odjava.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
for i in [1..s] do res!]= java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
pp:= Position( java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
if pp <> fail tt:= ShallowCo=(k ;
from
[ Position(convR [ ] java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
# find a `definition' for F_{\alpha}
# find a simple root r such that posR[i]-r is also a root
forin1. do
java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 13
k2:Add *[+] ;
if k1 > k2 java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 19
pair
pair=[, ;
fi;
rel: fi
: (,x ->IsBound )
# see whether F_i is in there...
java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
pos<>fail
java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 14
fi for in 1Length(tensors] do
fi;
od;
# F_i is in `rel'; we get it out
cf:= rel[ pos+1]; if [] *res[]then
Unbind( rel[pos] ); Unbind len ;
rellen=2java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
forin[,.(]
rel[k]:=len:lenjava.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
;
Add(
1cf)
java.lang.StringIndexOutOfBoundsException: Range [0, 14) out of bounds for length 6
Add( #M OneOp( <qt> )
(rel,-/)
# Now apply delta to the elements of rel, and add...IsIdenticalObj,[IsQEATensorPowElement, IsQEATensorPowElement ] 0,
tens res,e1 , i, j, ,k
: ()
for k in13.(
t1=java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
forjin[,.rel[]-]do
qa:= GaussianFactorial( rel[k][j+1],
_q([[k[]* *[rel]j])))
t1:=( ( []k][] ;
od;
: rel1*;
java.lang.StringIndexOutOfBoundsException: Range [0, 14) out of bounds for length 11
[ i ]
fi
od;
# Add K-elements from gentab:
Append( deltatab, gentab{[true, [ IsQEATensorPowElement ], 0,
,res
for 1.s java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
pp:= Position( ([1.).,x- ),
if pp <> fail then
java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
else
##
# find a simple root r such that posR[i]-r is also a root
for k 1.
:=Position(convR,posR[]- sim[] );
1 <failthen
k2:java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
pair:= [ s+rank+k1,# quantized enveloping algebra.
else
pair:= if( . java.lang.StringIndexOutOfBoundsException: Range [41, 42) out of bounds for length 41
fijava.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
rel: ![pair][2] java.lang.StringIndexOutOfBoundsException: Range [76, 75) out of bounds for length 78
# See whether E_i is in rel:
:= (rel,[Position(convR,posR[] )+rank,
1 ] : (,IsMonomialElementRep;
fam!zeroCoefficient:=Zero( F ;
break
fi.=;
fione= [])
;
# E_i is in `rel'; we get it out
cf:= rel[ posg ([.,-)java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
Unbind( odjava.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
= ,x>x ;
for k gens:= List( gensx >ObjByExtRep(fam , (F ;
rel[ki [.Length(ens] do
od;
Add( rel, [ pair[1], 1, pair[2], 1 ] );
Add( rel, 1/cf );
qa:= _q^( -convR[k1]*( B*convR[k2] ) );
Add( rel, [ pair[2], 1, pair[1], 1 ] );
Add( rel, -qa/cf );
# Apply delta to rel...
tens:= Zero( T );
onet:= One( tens );
for k in [1,3..Length(rel)-1] do
t1:= onet;
for j in [1,3..Length(rel[k])-1] do
qa:= GaussianFactorial( rel[k][j+1],
_q^(convR[rel[k][j]-s-rank]*( B*convR[rel[k][j]-s-rank] )/2) );
t1:=(1/qa)*t1*( deltatab[rel[k][j]+rank]^rel[k][j+1] );
od;
tens:= tens+rel[k+1]*t1;
od;
deltatab[ s+2*rank+Position( convR, posR[i] ) ]:= tens;
fi;
od;
tensorfam!.deltaTable:= deltatab;
return deltatab;
end;
QGPrivateFunctions.make_generic_comulmap:= function( arg )
local U, d, twisting, f, finv, T, tfam, one, R, rank,
s, posR, g, gens, i, p, fgens, nice, x, tens, j,
ten, dt, map, images, noPosR, tendeg, imgs;
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 );
tfam:= ElementsFamily( FamilyObj( T ) );
one:= One( tfam!.zeroCoefficient );
R:= RootSystem( U );
rank:= Length( CartanMatrix(R) );
s:= Length( PositiveRoots(R))
posR:= PositiveRootsInConvexOrder( R );
g:= java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 0
gens:= [ ];
for i in [1..rank] do
p:= Position( map)
gens[i]:= g[ p ];
java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 4
[2rank + : [2]
gens[ 3*rank + i ]:= g[ s+2*rank + p ];
od;
if twisting then
# we check whether f maps generators to generators;
# in that case we can make the table directly,
# otherwise we need to make a standard table first,
# and then map it with f.
fgens:= [ ];
nice:= true;
for i in gens do
x= , ;
p:= Position( gens, x );
then
nicejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
break## returns a list of length 2*s+r, where s is the number of positive
## of the generators of <U> (that is, for the F's, and the E's). The first
if p <= rank then
# an F
forjin[.d java.lang.StringIndexOutOfBoundsException: Range [38, 39) out of bounds for length 38
ten:= List( [1..j], rel,pos, cf qa tens, onet, ,j;
, List( j+1.] x -> g[+*] )
tenfamilytensor:
Add ,ten ) Add(tens,one)java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
;
p< 2rankthen
# a K
:[(..d,ii -> g[+*-1 ,
()0]
elifp 3rank then
: (FamilyObj );
p:= p-2*rank;
tens :=SimpleSystemNF(R)java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
QuantumParameter(^ ];
else
# an E
: -3rank;
: []
for in [.d
=([.j,x >g[2*-1 ;
Append , j1.d] x - One([)))
(, ;Add(tens ;
od;
fi;
if <fail
fi;
od;
if nice then
# apply f<x>f<x>...<x>f
for i java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
[,.(fgensi)1
fgens[i][j]:= List( k1:= Position( convR, posR[i]];
od;
fgens[i]:= ObjByExtRep if <fail
i![]: ;
fgens[i]:= ConvertToNormalFormMonomialElement(fgens[i]);
od;
fi;
fi;
else
if not twisting or not nicepair=[k2, ]
#wemakethe s' table.
fgens:= [ rel:= List( fam.multTab[pair[][[]);
for p in [1..rank] do
tens:= [ ];
for j in [1..d]ifpos <failthen
ten:= List fi
(ten,List([+..], - [s2*]));
ten[j] ;
Add(tens, ) Add(tens, );
od;
(fgens, ;
od;
for p in [1..rank] do
tens: List(1.], ii - [s2p-]),
Add(fgens,tens )java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
;
for p in
tens Add(,[ pair[1],1,pair[2] 1])java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 16
(fgens, );
od;
for in[1.rank do
tens:= [ ] Add( rel, -qa/cf );
for # Now apply delta to the elements of rel, and add...
ten:= List( [onet: One tens );
for k in [13.Lengthrel-]do
ten[j]:= g[ s+ : ;
( , )
od;
( ,tens ;
od;
for i in [1..Length(fgens)] do
[i]= ObjByExtRep( tfam, fgens[i] );
fgens[i]![2]:= false;
fgens[i]:=ConvertToNormalFormMonomialElement((fgens[])
java.lang.StringIndexOutOfBoundsException: Range [23, 11) out of bounds for length 11
fi;
fi;
map:= Objectify( TypeOfDefaultGeneralMapping
:
ricCoMultMap
and IsAlgebraHomomorphism)
rec(
:dt
java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
noPosR:= s,
tendeg:= d
) );
if twisting and not nice then
imgs:[]
for i in [1..s] do
Add( imgs find a `efinition for E_{\alpha}
od;
1];
Add( imgs, Image( map, ;
od;
1.]do
Add( imgs, Image
od;
for i in [1..s] do
Add( imgs, Image( map, Unbind [pos]); Unbind( rel[os+]);
od;
for in [.()]
# apply f<x>f...<x>f (d-factors).
x:= ShallowCopy( imgs[i]![1] );
for j in [odjava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
Add( ten (rel /)
Add( ten, x qa: q(-onvRk](B*onvR[k2 ));
od;
ten:= ObjByExtRepAdd ,-qa/ ;
ten![2#Applydeltatorel..
imgs[i]:=ConvertToNormalFormMonomialElement( : ;
od;
map:= Objectify( java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
IsSPGeneralMapping
: ([]j1,
and IsGenericCoMultMap
and IsAlgebraHomomorphism),
(
images od;
rank:= rank,
noPosR:= s,
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
) );
fi;
return
end;
java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 4
end;
function( U, java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
local
fam: FamilyObj( U );
if not IsBound( fam!.coMaps ) then fam!.coMaps:= [ ]java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
if IsBound( fam everything in vec1
if HasHopfStructureTwist( uin 13.Length()1
map:= QGPrivateFunctions.make_generic_comulmap( U, d,
HopfStructureTwist( ( [1.([]] - [v][]^[x))
HopfStructureTwist( U )[2] );
else
map:= QGPrivateFunctions.java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 31
fi;
fam!.coMaps[d]:= ifex[[]<
return map ind: () []j];
end );
: LongestWeylWord()ex]j-noPosR- ;
"oraquea, and " IsQuantumUEA,]0
function( U, d )
local T, fam, U0, f, map;
for k in [,.Length()]do
fam:= FamilyObj( U );
if not IsBound( fam odjava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
if IsBound( fam!.coMaps[d] ) then # it is a `K'; we take the image under d... (I know nothing better).
U0:= U0:= QuantizedUEA ex[]j,[][j+1] ], ex[i]0 ;
if HasHopfStructureTwist( U ) then
f=QGPrivateFunctions.ake_generic_comulmap(U0,d,
HopfStructureTwist( U )[1]!.origMap,
HopfStructureTwist( U )[2]!.origMap );
else
f=QGPrivateFunctions.( U0,d)
fi;
T: TensorPower(U d );
map:= Objectify( TypeOfDefaultGeneralMapping( U, T,
IsSPGeneralMapping
and IsAlgebraGeneralMapping
IsInducedCoMultMap
and IsAlgebraHomomorphism),
rec(
origMap: f,
canMap:= CanonicalMapping( U ),
tendeg: java.lang.StringIndexOutOfBoundsException: Range [32, 33) out of bounds for length 32
));
fam!.coMaps[d]:= map;
java.lang.StringIndexOutOfBoundsException: Range [61, 62) out of bounds for length 61
)
InstallMethod(=4]
function( map : ,)java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
R= )
)java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
# 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,
"for comult map, and elm",
true gens 2rank + i ]:= g[ s+2*i ];
functionmap
local,ex ,B ,,, ,i ,im , qp, T;
rew_K:=
local res# and then map it with f.
res:= a^delta;nice=java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
forin1s java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
res: ((i1)*-(-)b / ^i^)java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
od;
return res;
end
ex:= ExtRepOfObj( x );
U:= Source( map )tens=[;
T:= Range( map );
R:: ;
, j1.] >g[*]);
posR:= PositiveRootsInConvexOrder( ; java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
sim:= SimpleSystemNF( R );
noposR:= map!.p:=rank
=.;
im:= Zero( T );
for i in [1,3..Length(ex# ^1
u:= ex[i+1]*tens:[ [.,ii>g[2*],
for j in [1, Ujava.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
if IsList( ex[i tens=[;
#it is a K...; more difficult.
: q(sim []j[] * *simexi[[]]/)
u:= (ten j1.,x-(1) ;
map.[exi[]1]+. ,i[[2,
ex[od
] =.
java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
u:= uif
GaussianFactorial( ex[i][j+1], qp );
else
#it is an E... for j in[]-]do
qp:=q(posR[ex][]noposR- (
B*posR[ ex[i][j]-noposR-rank ] od;
u:= u*( fgens[][2]: false;
GaussianFactorial(ex[]j+1] )
;
od;
im: im;
od;
return im;
end );
forin[.]java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
"for induced comult map, ten=([., > One(1) ;
function( : [ ([] ;
local U, T, qp, ,ten) (, ;
U:= Source( map );
)
qp: QuantumParameter) ;
: )
f0 map.java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
im:= Zero( T );
ex:= ExtRepOfObjQuantumParameterU^ ;
canmap:= for [1..d
for i in [1,3..Length(ex)-1]Append , j1.,x- Oneg1)))
: (), ([,
QuantumParameter(U0)^0 ( ; ,)
tn:= ShallowCopy( java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 11
i: tfami ;
tn[j]:= Value( tn[fgensi: (i)
;
[])tnj-];
else
tn[ (
fi;
od;
:Filtered ,- x ;
im T)tn ;
od;
return im;
end );
##############################################################################
##
#M TensorProductOfAlgebraModules( <list> )
##
## constructs the tensor product of left modules over quantized uea.
##
InstallMethod (imgs, s+*])))
for [.s] do
true ,100
()
#+
#+ 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> ] )'.
forin13.x-]
,,,wlist , ,wt j ,
( [j+1 ;
# The following is a function that takes an element from the qea, and an
# element from the tensor product. It returns the result of letting
# x act on tn.
left_quantum_action_generic
# When everyting is defined over Q(q). `x' is the algebra elt, tn is an element
# of the tensor product of modules.
R B ,delta , ,
vec, len
tv, pos, d;
if tn =tendeg=java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
tn
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 0
Rfunction , java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 4
rank:= !coMaps famcoMaps=[];;
: (R);
deg=( !java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
delta:= FamilyObj( tn )!.HopfStruct( [1,
=java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 63
ex:= ExtRepOfObj( xfam.]=map
etn:= ExtRepOfObj( java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
for i in" a quea,and ",true [sQuantumUEA,],0
# apply ex[i] to etn
vec:Tlocal,fam, U0 f map;
len:= Length( ex[i] );
for j in IsGenericQUEA(U) then ) ;
if not IsBound ! !:=[] ;
# It is an E or an F...
rule=delta[[ ;
for in 1exij1] java.lang.StringIndexOutOfBoundsException: Range [43, 44) out of bounds for length 43
# we apply rule to all tensors in vec, and collect
[i:-gpos][s*1]
: ;
foru [,.(vec)1] do
for v in [i-];
Add(vec1 qp=_^S= ,imgs )
List( 1(ec[]v[]vecu[] ;
Add( vec1, vec[u+1] :(U ;
od;
:vec1
B*posR ex[]j-# ^ w wecall )
# take into account that F_1^(k) = F_i^k/[k]!
[[j]<
ind:= LongestWeylWord( [i:-[+*-1*pos
java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 55
:R [i[]-rank]
;
cf:= java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 14
for k ,
[k:vec]
od;
S: QEAAntiAutomorphism( U, S );
# it is a `K'; we take the image under d... (I know nothing better).
ka:java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
fi
rule:= java.lang.StringIndexOutOfBoundsException: Range [0, 34) out of bounds for length 0
# we applyrule java.lang.StringIndexOutOfBoundsException: Range [37, 33) out of bounds for length 71
# everything in vec1
=]
im=( ;
for v in java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
Add
List( [1..Length(vec[uI
Add vec1 [+][v])
od
[]: (tn[j]java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
fi;
# intermediate normalization...
Unbind [])java.lang.StringIndexOutOfBoundsException: Range [0, 42) out of bounds for length 8
tv![2]:= false;
tv:= ConvertToNormalFormMonomialElement(tv);
vec:= ShallowCopy( tv : Filtered(, - ())
;
: (vec)
forin[,.Length(vec)] do
vec[k]:= ex[i+1]
# add vec to `res'
,.(#
pos:= Position( : *java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
if pos = fail then
Add( res,res:[1]+java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
else
[+]=
if res[pos+1] =java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
java.lang.StringIndexOutOfBoundsException: Range [8, 1) out of bounds for length 8
res:= Filtered( res, x -> IsBound(x) );
;
fi; local left_quantum_action_generic
od;
tv:= ObjByExtRep( FamilyObj(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
tv![2# x act on tn.
tv:= left_quantum_action_generic:= function# function as a lin comb of indicator functions, and a basis, stuck in
return tv;
end;
left_quantum_action_induced:= function( x, tn )
# When the quantum parameter is not `q'. `x' is the algebra elt, tn is an elementfam
# of the tensor product of modules.
local res, ex, etn, i,
vec, len, j, ,fam.)
tv, pos, d;
if tn = 0*tn then
java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
fi;
= !
java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
localed
java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
for i in [1,3..Length(ex)-1] do
((,i,")* tensor .
odjava.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
for j in [len-1,len-3..1] do
rule:= ## we use sparse vectors for that.
[ [ ex[i][j]java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 7
# we apply rule to all tensors in vec, and collect
=Length R endjava.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
vec1:= [ ] java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 4
or =( V, v java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
for[3.()
Add(vec1,
List( [1. ;
v tnthenjava.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
od; ;
oddjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
:[d(*
# intermediate normalization...etn[IsDualElement,,
tv:= ObjByExtRep( function java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
tv![2]:= false;
tv:= java.lang.StringIndexOutOfBoundsException: Range [4, 44) out of bounds for length 28
(ExtRepOfObj ;
od;
=( )
for k in
vec[k]=ex[+]]=aed]java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
;
# add vec to `res'
for
# weapply ruleto "dualelt and a scalar,true,
Add( ,= ;java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
else
resif( thenreturn ;fi
if ( Add(,
(res ;r[pos])java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
res:= java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 7
fi
;
od;
tv java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
!]=
tv:= ConvertToNormalFormMonomialElement(tv);
return fori 1.ed1
edi]
# Now we make the tensor module.
if=then
java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 23
fi;
A:= LeftActingAlgebra( list[1] );
if (2.),x->([x=)
Error( "All modules must( ]
fi;
if not IsQuantumUEA(A res=,>);
fi;
:= return d ()
ElementsFamilyend);
dtab:= ComultiplicationMap( A, Length(list) );
"for" ,
( d1,d2 )
:[];
s:java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
rank:InstallMethod(\,
g:= GeneratorsOfAlgebra( A ) for elements, TryNextMethod(
for i in [1 [,java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 0
delta[i]:= ExtRepOfObj )
delta[java.lang.StringIndexOutOfBoundsException: Range [0, 18) out of bounds for length 8
odjava.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
:= TensorProduct ) function ,x )
Tprod:= LeftAlgebraModule( A, B , , , ;
else
Tprod=java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 4
fi : java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 30
#
# in the list has this attribute set.
if ForAll( list, : ExtRepOfObj( )rank: .;
rank: Length( CartanMatrix(RootSystem
LeftActingAlgebra : ,i])java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
(list ))
wts:= e)
vecs:= [ ];
for in( java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
java.lang.StringIndexOutOfBoundsException: Range [0, 14) out of bounds for length 8
:1..ank*;
for j in [1..Length(ei )
pos:= java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 4
wt:= wt + wlist[j][1][pos] , imgsk ,imj ;
;
pos:= Position( wts, wt );
pos=
Add( wts, wt );
Add( java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 4
else
Add(if IsGenericQUEA U)then
fi i in Basis(Tprod)o
;
wt .0
return Tprod;
end );
( =then
"for a quea, and cfs ( ;
[ IsQuantumUEA;
SetWeigh(Tprod [vecs ;
fi;
Error("<f> java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 6
fi;
if not IsIdenticalObj"a,an ( # a module where the action camodule action be faster
homomorphism
fi;
etHopfStructureTwist(U [f,]);
end );
InstallMethod( AntipodeMap,
"for "f :=SimpleSystemNF( )
java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 21
local ,, posRs , ,pos ,;
# Here we use the anti-automorphism S defined by
#SE=--1,(F -,K K1. inverse isgiven
# S^-1(E) = -EK^-1, S^-1(F) = -KF, S^-1(K) = K^-1.)java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
#
#
: java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
#
od;
3*+]=-g[+*i]g[s+2rank+;
# quea:
imgs2*rank+]= g[+*i-1;
U0od
else
U0:=localev notjava.lang.StringIndexOutOfBoundsException: Range [30, 28) out of bounds for length 38
fiev= ;
U)then
if IsQUEAAutomorphism( java.lang.StringIndexOutOfBoundsException: Range [0, 49) out of bounds for length 42
antiaut pos Add(,ev+1 ;
imgs[3*rank+od
fi;
else
antiaut=falsejava.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
;
g:(m [] if not IsGenericQUEA)
R:= RootSystem( java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 13
sim:= SimpleSystemNF( R );
posR: java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
s:= Length( posR );
rank:= Lengthjava.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 25
imgs:= [ ];
antiaut java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
# We construct S:
for i in
pos: end ;
java.lang.StringIndexOutOfBoundsException: Range [0, 16) out of bounds for length 0
imgsInstallMethod(CounitMapjava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
imgs[ fam!.ange:= ;
imgs[2*rank+i function(U)
od;
S:= QEAAntiAutomorphism( U0, java.lang.StringIndexOutOfBoundsException: Range [0, 41) out of bounds for length 18
if not(U )
QEAAntiAutomorphismU,S )
fi;
else
# We construct S^-1 (which we also call S)::
1. java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
i [,3.Length()1
imgs[niceVF!.sparseRowSpaceElementDefaultType
[*+]: g+2*pos]g[s+*]java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
[+ begins withK possiblynonzero java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
imgs[*for in1,.([)1 java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
;
S:= QEAAntiAutomorphism( =0*;
ifnot IsGenericQUEA(U)then
S:= QEAAntiAutomorphism( U, S );
fi;
fam: vecs
fi;
if
end;
else
returnS "or ",,
fi;
end );
(java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
"for end;
function( U )
local F, e;
e2= ;
F:= LeftActingDomain( : {[,4.
e= ( u )
local eu, res# the family; all evcs appearing in the list *must* be basis vecs.
eu: ExtRepOfObj ;
res:= Zero(F);
fori[,.Lengthe)-
if IsList( eu[i][1] [IsDualElementFamily,IsList ], 0
# begins and ends with K; possibly nonzero image.
a:
forj [1,.Length([i : e2{24.Length()]
if eu[i (m !
: (m,fam.range );
break;
java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 23
od;
res:= eu[i+1InstallMethod,
fi;
od;
return res;
end;
.al
end )
Image(java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
end;
else
return e;
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,
if ed [] then Print("zero > ) fi;
[, in [,,.Lengthe)1]do
function(fam list )
local m;
m:= Objectify( od;
(m .sourceend)java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
SetRange( m, fam! #############################################################################
return m;
end );
InstallMethod( ExtRepOfObj, iin[
andlingByNiceBasis("sDualElementsSpace" rec(
Add(e m1[i] =function(R ,,zero)
function( d )
return d!.val;
end )
InstallMethod( PrintObj,
"or:function V v)
function( df)
local ed, i;
ed:= ExtRepOfObj( df );
= []thenPrint("zero ") ;
for B=FamilyObj( v
ifi >"
Print("(" iin[,3.Lengthev) ed: ShallowCopy(ExtRepOfObj( ;
;
end )
#############################################################################
##
## Spaces of elements of a dual space are handled by nice bases;
## we use sparse vectors for that.
##
for i in1.Length(ums] do
detect:= function( R, gens, V, zero )
return IsDualElementCollection( V );
end,
NiceFreeLeftModuleInfo od;
NiceVector := function( V, return ObjByExtRep( FamilyObj(v).niceVectorFam, ;
local ev, nums, cfs, B, i, local ev, nums, cfs, B, i, vec
ev:= ExtRepOfObj localev vv, cfs , i mInstallMethod( \,
nums:= [ ]; cfs:= [ ];
in ev: ShallowCopy(vec1 ;
Add(nums Position(B ev[i+1]));
Add( cfs, ev[i] );
od
SortParallel( nums, cfs );
vec=[]
for i in [1..Length(nums)] do
Add( Add(vv B[ev[ ])
od;
return :=ShallowCopy( SortParallel(vv cfs)
end,
UglyVector := function( V, vec )
local ev, vv, (m vv[]);
# We do the inverse of `NiceVector'.
ev:u ObjByExtRep( ElementsFamily(FamilyObj( V )), );
vv:= [ ]; cfs:= [ ];
B:= ElementsFamily( FamilyObj( VInstallMethod(,
for" " ] 0,java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
Add( cfs, ev[i+1] );
Add( vv,local ed i
od;
SortParallel( vv, cfs );
m:
= NewFamily("DualEltsFam", IsDualElement );
Add( m, cfs[i] );
Add( m, vv[i] );
od;
return ObjByExtRep( ElementsFamily( FamilyObj( V ) ), m );
end ));
InstallMethod( DualSpace,
"for a vector space", true, [ IsLeftModule ], 0,
function( V )
localjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
fam:= NewFamily( "DualEltsFam", java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 29
type: NewType(fam IsAttributeStoringRep;
fam! ed pe:java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
fam!ource:;
!=java.lang.StringIndexOutOfBoundsException: Range [35, 33) out of bounds for length 39
SetFamilySource(fam, ElementsFamily(FamilyObj( V ) );
niceVF:= NewFamily( "NiceVectorFam", IsSparseRowSpaceElement );
niceVF!.zeroCoefficient:= Zero;
niceVF!.sparseRowSpaceElementDefaultTypeInstallMethod ZeroOp,
NewType( niceVF, IsPackedElementDefaultRep );
fam!. [ IsDualElemen , 0java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
B
fam.basisV:= B;
fora element" true,
one:= One( LeftActingDomain( V ) );
for v in B do
Add( vecs, ObjByExtRep( fam, [ one, v ] ) );
od;
niceVF!zeroCoefficient:
VectorSpaceLeftActingDomain) !=
end ;
InstallMethod( \+,
"for two B: ( java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 26
[ IsDualElement = ;
function( d1, d2 )
local e1, e2, m1, c1, m2, c2, i " dual elements",
e1=ExtRepOfObj(d1;
:
if e1=[] then return d2; fi;
e2:= ExtRepOfObj( d2 );
m1:= e1{[2,4..Length(e1)]};
c1:= e1{[ for vinBdo
Add( vecs ObjByExtRep( fam, [one,v ));
c2:= e2{[1,3..Length(e2)-1]};
odod
pos:= PositionSorted(
Add( m1, m2[i] );
Add( c1, c2[i] );
java.lang.StringIndexOutOfBoundsException: Range [12, 13) out of bounds for length 12
if m1[pos] =res=Zero( cf[];
c1[pos ed=ExtRepOfObjd ;
f c1[pos] = 0*c1[pos] then
Unbind( c1[pos] );
Unbind( m1[pos] );
m1:= Filtered( : ed[i]cf[pos;
c1:= Filtered( c1, x -> IsBound(x) );
fi;
else
InsertElmList( m1, pos, m2[i] );
InsertElmList( c1, pos, c2[i] );
fi;
fi;
od
e:= [ ];
for i in [1..Length(m1)] do
Add( e, c1[i] );
Add( e, m1[i] );
; ftwo dual elements,IsIdenticalObj,
return ObjByExtRep(FamilyObj( d1 ), e);
end )
InstallMethod( \*,
"for a scalar and a dual elt", true,
[ IsScalar, IsDualElement ], 0,
function( a, d )
local ed, i;
if IsZero( a We
ed:= ShallowCopy( ExtRepOfObj( d ) );
for i in [1,3..Length(ed)-1] do
ed[i]:= aed[];
od;
return ObjByExtRep( FamilyObj( d ), ed );
end );
InstallMethod( \*,local , cfs
"for a dual elt and a scalar", true,
[ IsDualElement,IsScalar ], 0,
function( d, a )
return cfs*FamilyObjjava.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
if ( a ) then return (d) fi;
ed= ShallowCopy ..Length(e1)-1];
for i in [1,3 m2: e2[24..ength()];
ed c2= e2[1,3.Length(e2)-]};
od;
return ObjByExtRep(FamilyObj(d), ed ) in[1.Length m2 ) do
end );
InstallMethod( java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 36
"=( ;
[ IsDualElement ], 0,
tion )
else
local pos =i then
c1[]: c1[os+[]java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
: ( ExtRepOfObj( d ) );
for i in [1,3..Length(ed)-1] do
[i]:i:=gens[s2*-1 ]java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
od;
return ObjByExtRep( FamilyObj( s2i]
end )
;
"for ajava.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
>2);i.correspondingbasis
function( d )
ed i
ed:= ShallowCopy( java.lang.StringIndexOutOfBoundsException: Range [0, 33) out of bounds for length 7
,3..Length() :=[]
in[1.java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
od;
returnObjByExtRep(FamilyObj( d), ed )
end );
InstallMethod( ZeroOp,
"fora dual element"true,
[ Image(ffj,imu[ ;
function( d )
return
end );
InstallMethod( IsZero,
"for a dual element", true,
[ ]0
function( d
local ed i
Ins java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
InstallMethoded:= ShallowCopy( ExtRepOfObj(d) );
dual " java.lang.StringIndexOutOfBoundsException: Range [0, 33) out of bounds for length 18
[ IsDualElement, IsDualElement ], 0,
java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 7
ExtRepOfObj)<()java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
end );
java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 6
"java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
[ IsDualElement, IsDualElement ], 0,
function( d1, d2 )
return ExtRepOfObj(d1) = ExtRepOfObj(d2);
end );
InstallMethod( ImageElm,
"for dual element and element from the underlying space",
true, [ IsDualElement, IsObject ], 0,
function( d, x )
local B, cf, res, ed, i, pos;
B:= FamilyObj(d)!.basisV;
cf:= Coefficients( B, x );
if cf = fail then return fail; fi;
res:= Zero( cf[1] ); local ed, ijava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
:= (d;
for i in [1,3..Length(ed)-1] ed: ShallowCopy (d))
:=Position(B ed[+1])
res:= res+ed[i]*cf[pos [i]= []a;
od;
return res;
end );
InstallMethod( DualAlgebraModule,
"for a left module over a quantized uea", true,
[ IsAlgebraModule and IsLeftAlgebraModuleElementCollection ], 0,
function( M )
local U, Mstr, apode, action, gens, R, posR, s, sim,
rank, g, i, ff, vv, imgs, k, u, imu, im, j, cf;
U:= LeftActingAlgebra( M );
if not IsQuantumUEA( U ) then TryNextMethod
Mstr:=InstallMethod(AdditiveInverseSameMutabilityjava.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
apode:= AntipodeMap( U );
if not IsGenericQUEA( U ) then
# We cannot use DIYModule, so we just construct the dual module
# with the action given by apode...:ShallowCopy ))
action:= function( u, f )
local x, cfs;
x:= Image( apode, u );
cfs:= List( FamilyObj( f )!.basisV, v -> Image( f, x^v ) );
return cfs*FamilyObj( f )!.basisVdual;
end;
return LeftAlgebraModule( U, action, Mstr );
fi;
# Otherwise (in the generic case) we construct the action of the
# generators, and then construct the module by DIYModule; this gives
# a module where the action can be calculated much faster.
gens:= GeneratorsOfAlgebraend )
R:= RootSystem( U );
posR= PositiveRootsInConvexOrder( Rjava.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
s:= Length( posR );
: SimpleSystemNF(R);
rank:= Length( sim );
g:= [ ];
for local ed, ijava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
g[i]:= gens[ Position( posR, sim[i] ) ];
g[rank+i]:= gens[ s+2*i-1 ];
g[2*rank+i]:= for iin[,3.Length(ed)-]do
g[3*rank+i]:= gens[ s+2* [i]=-[i;
od;
ff=(Basis ))
vv:= List( ff, x -
# of M.
imgs:= [ ];
for k in [1..Length(g)] do
u:= Image( apode, g[k] );
imu:= List( vv, v -> u^v );
java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
im:= [ ];
(M)
# calculate the image g[k]^ff[j]
cf:= List( [1..Length(vv)], i -> # j-th cft of imu[i]
Image( ff[j], imu[i] ) local U, Mstr, apode, action, gens,R posR,s sim,java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
Add( im,cfff);
od;
Add( imgs, im );
od;
return (U Mstr, imgs )
end;
InstallMethod( TrivialAlgebraModule,
" a quantized " true,[IsQuantumUEA ] 0,
function( U )
local
F:= LeftActingDomain(U);
V= F^;
return LeftAlgebraModule( U, function( u, v )
return CounitMap(U)( u )*v; end, V java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
end );
¤ Dauer der Verarbeitung: 0.61 Sekunden
¤
*© Formatika GbR, Deutschland
|
|