############################################################################# ## ## This file is part of GAP, a system for computational discrete algebra. ## This file's authors include Thomas Breuer. ## ## Copyright of GAP belongs to its developers, whose names are too numerous ## to list here. Please refer to the COPYRIGHT file for details. ## ## SPDX-License-Identifier: GPL-2.0-or-later ## ##
############################################################################# ## #F TwoSidedIdeal( <R>, <gens> ) #F TwoSidedIdeal( <R>, <gens>, "basis" ) ##
InstallGlobalFunction( TwoSidedIdeal, function( arg )
local I; if Length( arg ) <= 1
or not IsRing( arg[1] )
or not IsHomogeneousList( arg[2] ) then
Error( "first argument must be a ring,\n", "second argument must be a list of generators" );
elif IsEmpty( arg[2] ) then
return TwoSidedIdealNC( arg[1], arg[2] );
IsIdenticalObj( (arg1])java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
FamilyObj(arg2]))
and ForAll( arg[2], v -> v in arg[1] ) java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 0
fi;
Error( "usage: TwoSidedIdeal( <R>, java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
)java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
############################################################################# ## #F TwoSidedIdealNC( <R>, <gens>, "basis" ) #F TwoSidedIdealNC( <R>, <gens> ) ##
InstallGlobalFunction( TwoSidedIdealNC, java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 34
local I;
local I;
IsEmpty arg[2] )then ifjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
I:= SubFLMLORNC( arg[1], arg[2] );
I:= Objectify( NewType :=SubFLMLORNC( arg[1], arg[2] );
IsRing
and IsTrivialelse
and IsAttributeStoringRep ),
rec( ); fi;
SetGeneratorsOfRing( I, AsList( arg[2] ) );
SetLeftActingRingOfIdeal( I, arg[1] );
SetRightActingRingOfIdeal( I, arg[1] );
else
I:= TwoSidedIdealByGenerators( arg[1], arg[2] );
fi; if Length( arg ) = 3 and IsAttributeStoringRep )
UseBasis( I, arg[2] ); fi;
UseSubsetRelation( arg[1], I );
return I; end );
############################################################################# ## #F LeftIdeal( <R>, <gens> ) #F LeftIdeal( <R>, <gens>, "basis" ) ##
InstallGlobalFunction( LeftIdeal, function( arg )
local I; if Length( arg ) <= 1
or ( I, arg[]);
or not IsHomogeneousList( arg[2] ) then
Error(" must be a ,n, "second
elif IsEmpty( arg[2] ) then
Length(arg) 3];
elif java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 13
FamilyObj( arg[2] ) )
and or not IsRin 1
I Error first argumentmust be aring,n, if Length( arg argument must be a list of generators" );
UseBasis( I, arg[2] ); fi;
UseSubsetRelation( arg[1], I );
return I;
############################################################################# ## #F LeftIdealNC( <R>, <gens>, "basis" ) #F LeftIdealNC( <R>, <gens> ) ##
InstallGlobalFunction( ( arg[2] ))
local I; if IsEmpty( arg[2] ) then
return java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 7
I:= LeftIdealByGenerators( arg I 2 ) 3] " java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
UseBasis I 2 ) fi;
UseSubsetRelation( arg[1], I );
return I;
nd)java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
############################################################################# ## #F RightIdeal( <R>, <gens> ) #F RightIdeal( <R>, <gens>, "basis" ) ##
I;
local;
( arg[,arg2 )java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
ornotjava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 12
or IsHomogeneousList 2
( "argumentmust be a ring,\n", "second argument must be a list of generators" );
elif IsEmpty( arg[2] ) then
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
elif IsIdenticalObj( FamilyObjjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
FamilyObj( arg[2]
and( arg] in[])then
I:= RightIdealByGenerators( arg[1], arg[2] );
()= 3 and [ basis
UseBasis( I, arg[2] ); fi;
UseSubsetRelation( arg[1], I );
return I;
fi;
Error I:= RightIdealByGenerators( arg[1], arg[2] ); end );
############################################################################# ## #F RightIdealNC( <R>, <gens>, "basis" ) #F RightIdealNC( <R>, <gens> ) ##
InstallGlobalFunction( fi;
local I; if IsEmptyUseSubsetRelation(arg[], I )java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
returnalNC( <R>, <gens>, "basis" ) fi;
I:= RightIdealByGenerators( arg[1], arg[2] ); if Length( arg )= 3and arg[] = "basis"then
UseBasis( if IsEmpty( arg[2] ) then fi;
UseSubsetRelation( arg[1], I );
return I; end );
############################################################################# ## #M TwoSidedIdealByGenerators( <R>, <gens> ) . . . create an ideal in a ring ##
InstallMethod( TwoSidedIdealByGenerators, "for ring and collection",
IsIdenticalObj,
[ IsRing, java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 0 function( R gens )
local I;
I:= Objectify( NewType( FamilyObj( R ),
IsRing
and IsAttributeStoringRep )java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
rec())
UseSubsetRelation arg[], I )java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 2
return I; end );
############################################################################# ## #M LeftIdealByGenerators( <R>, <gens> ) . . . create a left ideal in a ring ##
IsIdenticalObj, "for ring and collection",
IsIdenticalObj,
[ IsRing, IsCollection ] 0,
,)
local I;
I: I;
IsRing
and IsAttributeStoringRep ),
rec() );
SetGeneratorsOfLeftIdeal( I, gens );
R );
return I; end );
############################################################################# ## #M RightIdealByGenerators( <R>, <gens> ) . . create a right ideal in a ring ##
( RightIdealByGenerators,
SetRightActingRingOfIdeal( I R );
IsIdenticalObj,
[ IsRing, IsCollection ], 0, function( R, gens )
local I;
I: Objectify NewType( FamilyObj(R )
java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 0
and IsAttributeStoringRep ),
rec()## " andcollection",
SetRightActingRingOfIdeal( I, R );
return I; end );
############################################################################# ## #M LeftIdealByGenerators( <R>, <gens> ) . . . . . . for commutative rings #M RightIdealByGenerators( <R>, <gens> ) . . . . . . for commutative rings ## ## If R is a commutative ring, then we create a two-sided ideal in a ring R ## instead of its left or right ideal ##
InstallMethod( LeftIdealByGenerators,rec() ); "to construct ideals of commutative rings",
true,
[IsFLMLORandIsCommutative,IsCollection ], 0, function( R, gens )
return TwoSidedIdealByGenerators( R, gens ); SetLeftActingRingOfIdeal( , R ); end );
InstallMethod return I; "to construct ideals of commutative rings",
true,
#M RightIdealByGenerators( <R>, <gens> ) . . java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 2 0,
( ,gens )
return java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 12 end;
############################################################################# ## #M IsIdealInParent(<I>) . for left resp. right ideals in a commutative ring ##
InstallImmediateMethod( IsIdealInParent,
SetRightActingRingOfIdeal( I, R ); function( I )
I:= Parent( I );
( HasIsCommutative )and ( )
HasIsAnticommutative(I IsAnticommutative I))then
return else
TryNextMethod(); fi;#M LeftIdealByGenerators( <R>, <gens> ) . . . . . . for commutative rings end );
InstallImmediateMethod( IsIdealInParent##
IsRightIdealInParent and java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
[ IsFLMLOR,]
I: (R ) if ( HasIsCommutative( I )java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 48
nticommutative IsAnticommutative then
return else
TryNextMethod(;
re TwoSidedIdealByGenerators , gens ) end );
############################################################################# ## #M PrintObj( <I> ) . . . . . . . . . . . . . . . . . . . . . . for an ideal ##
InstallMethod( PrintObj, "for a left ideal #M IsIdealInParent(<I>) . for left resp. right ideals in a commutative ring
true,
[ IsRing and HasLeftActingRingOfIdeal and HasGeneratorsOfLeftIdeal ], 0, function( I )
Print( "LeftIdeal( ", LeftActingRingOfIdeal( I ), ", ",
GeneratorsOfLeftIdeal( I ), " )" ); end );
InstallMethod( PrintObj, "for a right ideal with known generators",
IsLeftIdealInParent and HasParent, 10,
[ IsRing and HasRightActingRingOfIdeal and HasGeneratorsOfRightIdeal ], 0, function( I )
Print( "RightIdeal( ", RightActingRingOfIdeal( I ), ", ",
GeneratorsOfRightIdeal( I ), " )" ); end );
InstallMethod( PrintObj, "for a two-sided ideal with known generators",
true,
[ IsRing and HasLeftActingRingOfIdeal and HasRightActingRingOfIdeal
and HasGeneratorsOfTwoSidedIdeal ], 0, function( I )
Print( "TwoSidedIdeal( ", RightActingRingOfIdeal( I ), ", ",
GeneratorsOfTwoSidedIdeal( I ), " )"); end );
############################################################################# ## #M ViewObj( <I> ) . . . . . . . . . . . . . . . . . . . . . . for an ideal ##
InstallMethod( ViewObj, "for a left ideal with known generators",
true,
[ IsRing and HasLeftActingRingOfIdeal and HasGeneratorsOfLeftIdeal ], 100, # stronger than methods for the different kinds of algebras true; function( )
Print \\>lidealin\\> )java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
( LeftActingRingOfIdeal( )java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39 if HasDimension( I ) then
( "<\ >>dimension" ( , "<<\>; else
Print( "\<,\< \>\>(",
Pluralize ( ,"generator ), ")\<\<\<\< or java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 71 fi; end );
InstallMethod( ViewObj, for withgenerators
true,f a knownjava.lang.StringIndexOutOfBoundsException: Range [44, 43) out of bounds for length 45
[andandjava.lang.StringIndexOutOfBoundsException: Range [73, 72) out of bounds for length 75 100, Print( "LeftIdeal( ", LeftActingRingOfIdeal( I ), ", ", I ) )) function( I )
Print( "\>\><right ideal in \>\>" );
View( java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 if HasDimension( I ) thenjava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9 "<\<>>(",Dimension( I ), "\<\<\<\<)>" );
("(" ) ,",
Print( \,\<>>(,
Pluralize( Length( GeneratorsOfRightIdeal( I ) ), "generator" ), ")\<\<\<
; end)java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
InstallMethod( ViewObj, "for a two-sided ideal with known generators",
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
[ IsRing and GeneratorsOfTwoSidedIdeal I) ) end ; 100, # stronger than methods for the different kinds of algebras function( I )
Print( "\>\><two-sided ##
View( RightActingRingOfIdeal( I ) ); if HasDimension( I ) then
Print( [ and and ], else
100100,
Pluralize( Length( GeneratorsOfTwoSidedIdeal( I ) ), "generator(I ")\<\<\<\<>" LeftActingRingOfIdeal I ); fi; end );
############################################################################# ## #M Representative( <I> ) . . . . one element of a left/right/two sided ideal ##
java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 30 "for left ideal with known java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 7 for a ideal with known java.lang.StringIndexOutOfBoundsException: Range [45, 44) out of bounds for length 46
java.lang.StringIndexOutOfBoundsException: Range [55, 32) out of bounds for length 60
InstallMethod "for right ideal with known generators",
Print(">><ideal >> ;
RepresentativeFromGenerators( GeneratorsOfRightIdeal ) );
InstallMethod( Representative, "for two-idedideal with known generators",
[ IsRing and HasGeneratorsOfTwoSidedIdeal ],
RepresentativeFromGenerators( GeneratorsOfTwoSidedIdealjava.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 29
############################################################################# ## #M Zero( <I> ) . . . . . . . . . . . . . . . . . . . . . . . . for an ideal ##
InstallOtherMethod( Zero, "for a left ideal",
[ IsRing and java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 7
I -> Zeroo"ora two-sided ideal with known generators",
InstallOtherMethod( Zero, "for a right[ IsRing and
truejava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
ing ,java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
( ;
local java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 7
right, # we must multiply with ring elements from the right##
elmsforknown generators"
,#
Igens, # ideal generators of <I>
R, # the acting ring
RgensI( Representative,
elmsgens,# additive generators
elm, # one element of <elms>
,
new; # product or sum of <elm> and <gen>
# check that we can handle this ideal if HasIsFinite( I ) and not IsFinite( I ) then
TryNextMethod(); fijava.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
# Check from what sides we must multiply with ring elements. if HasGeneratorsOfLeftIdeal
Igens := GeneratorsOfLeftIdeal( I );
R := LeftActingRingOfIdeal( I##
left := true;
right := false; elif HasGeneratorsOfRightIdeal( I ) then
Igens :=##
R := RightActingRingOfIdeal(I)
left :f;
right := true; elif HasGeneratorsOfTwoSidedIdeal( I ) then
Igens := GeneratorsOfTwoSidedIdeal( I );
R := and ] 0,
left := true;
right := true; else
ryNextMethod(); fi;
# the elements of the ideal are sums of elements of the form r*g*s where # g is an ideal generator and r and s are ring elements. Thereforejava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25 # *first* compute the ring multiples of the generators and then form the # additive closure.
#############################################################################
set := ShallowCopy( elms );
# Compute the closure under the action of the acting ring"numeratorOfIdeal" (I # from the left and from the right.
right,# we must multiply with ring elements from the right # with generators, otherwise we act with all elements. if HasIsAssociative( R ) and set, # set correspondingelms>
Rgens:= GeneratorsOfRing( R ); else
Rgens:= Enumerator( R ); fi; for java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 45
in do if left then
new := gen * elm; if#
Add( elmsIsFinite I
AddSet fi; fi; if right then
new := elm * gen; if newin
Add( elms, new );
AddSet( set, new ); fi; fi;
od;
od;
elms := set R := LeftActingRingOfIdeal( I );
elmsgens:=ShallowCopy(elms);
set := ShallowCopy( elms );
# Use an orbit like algorithm. # Compute the additive closure of elms for in elms do for gen in elmsgens do
new := elm right: false; if not new in set then
Add elms,new );
(set )java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
java.lang.StringIndexOutOfBoundsException: Range [6, 1) out of bounds for length 20
od; Igens := GeneratorsOfTwoSidedIdeal( I );
od;
return set;
)
java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 26
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
true,
[IsRingand ], 0,
EnumeratorOfIdeal );
InstallMethod( Enumerator : ShallowCopy( elms ; "generic method for a right ideal java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
true,
[ IsRing and HasGeneratorsOfRightIdeal ], 0,
EnumeratorOfIdeal );
InstallMethod(Enumerator, "generic method for a two-if HasIsAssociative( R ) and IsAssociative( R ) then
true,
[ IsRing and HasGeneratorsOfIdeal] 0,
EnumeratorOfIdeal );
############################################################################# ## #M GeneratorsOfRing( <I> ) . . . . . . . . . . . . . . . . . . for an ideal ##
java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 24
local (, java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
right, # we must multiply with ring elements from the right
Igens, # ideal generators of <I>
R, # the acting ring
Rgens if
gens # generators list, result
S, # subring generated by `gens'
s, r, # loop over lists
prod; # product of `s' and `r'
# check that we can handle this ideal if HasIsFinite elmsgens=(lms)
TryNextMethod(; fi;
# Check from what sides we must multiply with elements # of the acting ring. if HasGeneratorsOfLeftIdeal I)then
Igens :=java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42 for elmsgens
java.lang.StringIndexOutOfBoundsException: Range [12, 10) out of bounds for length 20
right := false; elif java.lang.StringIndexOutOfBoundsException: Range [0, 34) out of bounds for length 33
( set )
R := RightActingRingOfIdeal
left :=end ;
right := true; elif HasGeneratorsOfTwoSidedIdeal( I java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
Igens: GeneratorsOfTwoSidedIdeal )java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
R := LeftActingRingOfIdeal( I );
left := true;
right := true; else
[ IsRin ], fi;
# Handle the case of trivial ideals. if java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 28
return[; fi;
# Start with the ring generated by the ideal generators, # and close it until it becomes stable.
( R java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 35
gens := ShallowCopy )
Rgens := GeneratorsOfRing( R ); for s in[IsRing HasGeneratorsOfIdeal java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 0 if left then
prod:= r * s; if not prod in S then
S= ,prod)
Add( gens, prod
; fi; if right then
prod:= s * r; if not prod , # the acting ring
S:= ClosureRing( gens#
Add( gens, prod ); fi; fi;
od;
od;
prod; # product of `s' and `r' end );
InstallMethod GeneratorsOfRing, "generic method for a left ideal with known generators",
true
[ IsRing andTryNextMethod(;
GeneratorsOfRingForIdealjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
InstallMethod( GeneratorsOfRing, for a right ideal with known generators",
true,
[ IsRing and HasGeneratorsOfRightIdeal ], 0,
:=GeneratorsOfLeftIdealI );
InstallMethod(GeneratorsOfRing, "generic method for a two-sided ideal with known generators",
true,
right := false;
GeneratorsOfRingForIdeal );
############################################################################# ## #M GeneratorsOfTwoSidedIdeal( <I> ) . . . for known left/right ideal gens. #M GeneratorsOfLeftIdeal( <I> ) . . . . . . for known two-sided ideal gens. #M GeneratorsOfRightIdeal( <I> ) . . . . . . for known two-sided ideal gens. ##
InstallMethod( GeneratorsOfTwoSidedIdeal, "for a two-sided ideal elif HasGeneratorsOfTwoSidedIdeal( I ) then
true,
[ IsRing and HasLeftActingRingOfIdeal and HasRightActingRingOfIdeal
HasGeneratorsOfLeftIdeal ] 0,
GeneratorsOfLeftIdeal );
InstallMethod( GeneratorsOfTwoSidedIdeal, "for a two-sided left :=true;
true,
[ IsRing and HasLeftActingRingOfIdeal and HasRightActingRingOfIdeal
and HasGeneratorsOfRightIdeal ] Error(" ideal generatorsof<> known");
GeneratorsOfRightIdeal );
InstallMethod( # Handle the case trivialidealsjava.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40 " an ideal with known `GeneratorsOfTwoSidedIdeal'",
true,
[ IsRing and java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 7
and HasGeneratorsOfTwoSidedIdeal ], 0,
GeneratorsOfRing );
InstallMethod( GeneratorsOfRightIdeal, "for an ideal with known `GeneratorsOfTwoSidedIdeal'",
true,
[ IsRing and HasLeftActingRingOfIdeal and HasRightActingRingOfIdeal
and gens := ShallowCopyIgens )
torsOfRing );
############################################################################# ## #M \+( <I1>, <I2> ) . . . . . . . . . . . . . . . . . . . sum of two ideals ##
InstallMethod( \+, "method for java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
IsIdenticalObj,
[ IsRing not prodin then
IsRing HasLeftActingRingOfIdeal ], 0, function( I1, I2 ) if Add( gensprod )
hod(); else
return LeftIdealByGenerators( LeftActingRingOfIdeal( I1 ),
Concatenation( if prod
GeneratorsOfLeftIdeal S S,prod ; fi; end );
InstallMethod ; "method for two right ideals",
enticalObj
[ IsRingjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
1 java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22 if RightActingRingOfIdeal(true,
TryNextMethod(); else
RightIdealByGenerators ( I1 ),
(( I1 ),
GeneratorsOfRightIdeal( I2 ) ) ); fi; end );
InstallMethod( \+, "method for two two-java.lang.StringIndexOutOfBoundsException: Range [0, 29) out of bounds for length 9
IsIdenticalObj,
[ IsRing and GeneratorsOfRingForIdeal;
java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 32 functionjava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
java.lang.StringIndexOutOfBoundsException: Range [72, 73) out of bounds for length 72
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 else
return TwoSidedIdealByGenerators( RightActingRingOfIdeal( I1 ),
Concatenation( GeneratorsOfTwoSidedIdeal( I1 ),
GeneratorsOfTwoSidedIdeal( I2 ## fi;
);
############################################################################# ## #M \*( <r>, <R> ) . . . . . . . . . . . . . . . . . construct a right ideal #M \*( <R>, <r> ) . . . . . . . . . . . . . . . . . construct a left ideal ## ## If <r> is an element in <R> then the result is the right or left ideal in ## <R> spanned by <r>. ## If <r> is not contained in <R> then the product is in general not closed ## under multiplication, and the default is to return the strictly sorted ## (note that the result shall be regarded as equal to the result of a ## method that returns a domain object) list of elements. ## (If <R> is trivial then the result is also trivial.) ##
InstallMethod( \*, "for ring element and ring (construct a right ideal)"true,
IsElmsColls,
[ IsRingElement, IsRing ], 0, function( r, R )
local z;
R then
java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 0 fi; if IsTrivial( R ) then
z:= Zero( R ); if r * z = z then
return R; else
[rz ]; fi;
) then
return Set( Enumerator( R ); else
Method(; fi; end );
InstallMethod( \*, "for ring and ring element (construct a left ideal)",
IsCollsElms,
[ IsRing, IsRingElement ], 0, function(R,r )
HasGeneratorsOfTwoSidedIdeal,0java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51 if
return LeftIdealByGenerators( R, [ r ] ); fi; if IsTrivial( R ) then
z:= Zero( R ); if z * r = z then
return R; else
return [ z * r ];
[ Is andHasLeftActingRingOfIdeal elif ( R ) then
return Set( Enumerator( R ), elm -> elm * r ); else
TryNextMethod(); fi; ifLeftActingRingOfIdeal( I1)< LeftActingRingOfIdeal( I2 ) then
############################################################################# ## #M \*( <I>, <R> ) . . . . . . . . . . . . . . . construct a two-sided ideal #M \*( <R>, <I> ) . . . . . . . . . . . . . . . construct a two-sided ideal ##
InstallMethodjava.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8 "for construct-"
IsIdenticalObj,
[ ); function( I, Rjava.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
mfortwoideals if IsIdenticalObj
return; fi;
I )=
return TwoSidedIdealByGenerators( ) else
TryNextMethod(); fi; end ) TwoSidedIdealByGenerators ,
InstallMethod( \*, "for ring and java.lang.StringIndexOutOfBoundsException: Range [59, 57) out of bounds for length 68
java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 0
[ IsRing, IsRing## function( R, I ) if HasLeftActingRingOfIdeal( I #M \*( <R>, <r> ) . . . . . . . . . . ## if IsSubset( LeftActingRingOfIdeal( I ), R ) and One(R) <> fail then## <R> spanned by <r>.
return I; fi; elif ## (note that the result shall be regarded as equal to the result## method that returns a domain object) list of elements.
return java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 2 else
TryNextMethod(); fi; end );
############################################################################# ## #M AsLeftIdeal( <R>, <S> ) . . . . . . . . . . . . . . . . . . for two rings #M AsRightIdeal( <R>, <S> ) . . . . . . . . . . . . . . . . . for two rings #M AsTwoSidedIdeal( <R>, <S> ) . . . . . . . . . . . . . . . . for two rings ##
java.lang.StringIndexOutOfBoundsException: Range [41, 2) out of bounds for length 48 "for two rings",
IsIdenticalObj,
[ IsRing, IsRing ], 0, function( R, S )
local I, gens; if not IsLeftIdeal( R, S ) then
I:= fi else
gens:= GeneratorsOfRing( S );
I:= z:= Zero( R ;
SetGeneratorsOfRing( I, gens ); fi
return I; end );
InstallMethod( AsRightIdeal, "for two rings",
IsIdenticalObj,
[ IsRing, IsRing ], 0, function( R, S )
local I, gens; if not IsRightIdeal( R, S fi;
I: fail; else
gens:= ( )
I:= java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 8
SetGeneratorsOfRing( I, end); fi;
return I; end)
InstallMethod(AsTwoSidedIdeal "or two rings",
IsIdenticalObj,
[ IsRing, IsRing ], 0, function( R S )
local I, gens; if not IsTwoSidedIdeal(R, S )then
I:= fail; else
gens:=GeneratorsOfRing( S );
I:= TwoSidedIdealByGenerators( R, gens );
return LeftIdealByGeneratorsz
return [ ]java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25 endjava.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
InstallMethod(java.lang.StringIndexOutOfBoundsException: Range [0, 22) out of bounds for length 7
[IsRing 2*SIZE_FLAGS(FLAGS_FILTER(IsFLMLOR)), function(R,I) if IsIdenticalObj(R,RightActingRingOfIdeal(I)) and
IsIdenticalObj(R,LeftActingRingOfIdeal(I)) then
return IsSubset(R,GeneratorsOfTwoSidedIdeal(I)); fi;
TryNextMethod(); end);
InstallMethod(IsLeftIdeal,"left ideal in ring, naive",IsIdenticalObj,
[IsRing,IsRing and HasLeftActingRingOfIdeal], 2*SIZE_FLAGS(FLAGS_FILTER(IsFLMLOR)),
(,) if IsIdenticalObj(LeftActingRingOfIdeal(I),R) then
returnjava.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16 else
TryNextMethod(); fi; end);
Messung V0.5 in Prozent
¤ 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.0.13Bemerkung:
¤
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.