Eine aufbereitete Darstellung der Quelle

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

Benutzer

Quelle  ideal.gi   Sprache: Shell

 

#############################################################################
##
##  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#############################################################################
             "##  This file's authors include##  Copyright of GAP belongs to its developers, whose names are too numerous

    elif IsEmpty(

      return java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 2

    elif     (FamilyObj [1 ,
                          FamilyObj( arg[2] ) )
         and               ([] java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47

      I:= IdealByGenerators( arg[1], arg[2] );
if Lengtharg    and arg[]=""then
UseBasis(I [)java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
      fijava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
     UseSubsetRelation arg1, ;
      return       return Ijava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15

    fi;
    Error( "usage: TwoSidedIdeal( <R>, <gens> end );
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0


#############################################################################
##
#F  TwoSidedIdealNC( <R>, <gens>, "basis" )
#F  TwoSidedIdealNC( <R>, <gens> )
##
InstallGlobalFunction    
localI;
if (2]  

      # If <R> is a FLMLOR then also the ideal is a FLMLOR.
      if IsFLMLOR( 
I=java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 42
      java.lang.StringIndexOutOfBoundsException: Range [10, 11) out of bounds for length 10
        I:=                       )java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
                                    
                                and IsTrivial
                                  ,
                       rec() );
      fi;
      SetGeneratorsOfRing( I, AsList( arg[2] ) );
SetLeftActingRingOfIdeal, 1 )java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
      Error first argument be ring\"

    else

      java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    
ifLength   =3 and arg[]= "basis" then
      UseBasis( I, arg[2] );
    fi
    UseSubsetRelation( arg[java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    return I;
end );


#############################################################################
##
#F  LeftIdeal( <R>, <gens> )
#F  LeftIdeal( <R>, <gens>, "basis" )
##
InstallGlobalFunction( LeftIdeal, function( arg )
    local I;
    if    Length( arg ) <= 1
g( arg[])
       or not IsHomogeneousList
      ("irst     ,"
"secondbea  java.lang.StringIndexOutOfBoundsException: Range [59, 58) out of bounds for length 62

    elifI

          Error:java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 61

###############################################################################
FamilyObjarg2)
         and ForAll( argjava.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 12

      I:= LeftIdealByGenerators( arg[1], 
      if java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        UseBasis(I,arg[] ;
      fi;
      UseSubsetRelation( and arg[3]="basis"then
      return I;

    fi;
    Error( "usage: LeftIdeal( <R>, <gens> [      UseBasis( , arg[])java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
end ) ;


#############################################################################
##
#F  LeftIdealNC( <R>, <gens>, "basis" )
#F  LeftIdealNC( <R>, <gens> )
##
InstallGlobalFunction##
local I;
     I
     returnTwoSidedIdealNCarg[] arg[];
    fi;

    I:= LeftIdealByGenerators( arg[1],       or  IsRing( arg[1] )
    if Length( arg ) = 3 and arg[3] = "basis" then
      UseBasis( I, arg[2] );
    fi;
    UseSubsetRelation( arg[1], I );

    return I;
end );


#############################################################################
##
#F  RightIdeal( <R>, <gens> )
#F  RightIdeal( <R>, <gens>, "basis" )
##
InstallGlobalFunction( RightIdeal, function( arg )
    local I;
    if    Length( arg ) <= 1
       or not IsRing( arg[1] )
not ( arg[] ) then
            Error "irst  java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 48
             "second argument must be a java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    elif IsEmpty( arg[2] ) then

      return TwoSidedIdealNC( arg[1], arg[2] );

    elif     IsIdenticalObj( FamilyObj(          ForAll [2,v->v  arg1 )then
                          FamilyObjifLength arg  3 arg[]=""then
         java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 9

      java.lang.StringIndexOutOfBoundsException: Range [37, 32) out of bounds for length 51
      if ##
        UseBasis##
      java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
       [);
      return I;

    fi;
    Error( "usage: RightIdeal( <R>, <gens> [, \"basis\"] )" );
end );


#############################################################################
##
#F  RightIdealNC( <R>, <gens>, "basis" )
#F  RightIdealNC( <R>, <gens> )
##
InstallGlobalFunctionarg   and3= 
    local I;
java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 29
      java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 0
    fi###M  TwoSidedIdealByGenerators( <R>, <gens> ) . . .  create an ideal in a ring

    I:= RightIdealByGenerators    ,java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
                             ,
      UseBasis())
    fi;
    (1 I;

    return I;
end );


#############################################################################
##
#M  TwoSidedIdealByGenerators( <R>, <gens> ) . . .  create an ideal in a ring
##
InstallMethod( java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 2
    "##
    IsIdenticalObjjava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
    [ IsRing, 0,
    function( R    function(R gens )
    localIjava.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
    )java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
                                
                            
                   rec(##
    SetGeneratorsOfTwoSidedIdeal( I, gens );
    InstallMethod(
 , ;
    java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 19
    end:(  )


#############################################################################
##
#M  LeftIdealByGenerators( <R>, <gens> ) . . .  create a left ideal in a ring
##
InstallMethod( LeftIdealByGenerators,
    forring and collection
    IsIdenticalObj,
    [ IsRing, IsCollection ], 0,
    function( R, gens )
    local I;
    I:=     java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 38
                                IsRing##
                            and java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 2
                  java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
    SetGeneratorsOfLeftIdeal([   java.lang.StringIndexOutOfBoundsException: Range [49, 46) out of bounds for length 49
I,R java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 13



#############################################################################
##
#M  RightIdealByGenerators( <R>, <gens> ) . .  create a right ideal in a ring
##
InstallMethod( RightIdealByGenerators,
    "for ring and collection",
    IsIdenticalObj,
    [ IsRing, IsCollection ], 0,
    function R gens )
    local I;
    I:= Objectify );
                                
                            and IsAttributeStoringRep ),
                   rec() );
    SetGeneratorsOfRightIdeal( I, gens );
java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 38
    return (I )IsCommutativeI ))
    endor ( (  )and ( I  )


#############################################################################
##
#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,
    "to construct ideals of commutative rings",
    true,
 and IsCommutative, IsCollection ]
    0,
function R,gens java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
    return TwoSidedIdealByGenerators( R, gens );
    end );

InstallMethod( RightIdealByGenerators,
    "to construct ideals of commutative rings",
    true,
    [ IsFLMLOR        or ( HasIsA( I)and ( I)) 

    function();
turn(R;
    end );


#############################################################################
#M  PrintObj( <I> ) . . . . . . . . . . . . . . . . . . . . . .  for an ideal
#M  IsIdealInParent(<I>)  . for left resp. right ideals in a commutative ring
##
InstallImmediateMethod( IsIdealInParent,
java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
    function)
    I
    if    ###M  ViewObj( <I> )  . . . . . . . . . . . . . . . . . . . . . .  for an ideal
       or ( java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 9
      return
    else
      TryNextMethod();
        fu I
    endPrint("><eft ideal in \>" ;

InstallImmediateMethod( IsIdealInParent,
    IsRightIdealInParent and     View( I );
    function(Print\,<\\( ,DimensionI) "\\<<)> )java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
    I:= Parent( I );
    if    (              Pluralize( Length( Length GeneratorsOfLeftIdeal(I)) "generator" ,
       or ( HasIsAnticommutative( I ) and IsAnticommutative( I ) ) then
      return true;
    else
      TryNextMethod();
    fi;
    end );


#############################################################################
##
#M  PrintObj( <I> ) . . . . . . . . . . . . . . . . . . . . . .  for an ideal
##
InstallMethod(    " aright ideal  known ",
    "or  left idealwith  generators",
    true,
    [ IsRing and HasLeftActingRingOfIdeal and HasGeneratorsOfLeftIdeal ],
    0     IsRing and HasRightActingRingOfIdeal and HasGeneratorsOfRightIdeal ],
    function( I )
    Print( "LeftIdeal( ", LeftActingRingOfIdeal( I ), ", ",
           GeneratorsOfLeftIdeal( I," ) )java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
    end );

InstallMethod( PrintObj,
    "for a right ideal with known generators",
    true,
    [ IsRing and HasRightActingRingOfIdeal and HasGeneratorsOfRightIdeal ],
    0,
          Print(\,<\\(imension  java.lang.StringIndexOutOfBoundsException: Range [50, 47) out of bounds for length 69
Print "ightIdeal "RightActingRingOfIdeal(I ) " ",
           GeneratorsOfRightIdeal "<,\<\\"java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
    end );

InstallMethod( PrintObj,
    "for a two-fi
    true,     ;
    [ IsRing and HasLeftActingRingOfIdeal and java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 0
true,,
    0,
    function( I )
    Print( "TwoSidedIdeal( ", RightActingRingOfIdeal( I ), ", ",
           (  , ")" ;
    end)java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10


#############################################################################
##
#M  ViewObj( <I> )  . . . . . . . . . . . . . . . . . . . . . .  for an ideal
##
InstallMethod( ViewObj,
    "for a left ideal with known generators",
    true,
     IsRing HasLeftActingRingOfIdeal HasGeneratorsOfLeftIdeal ,
    100  # stronger than methods for the different kinds of algebras
    function I )
    Print( "\>\><left ideal in \>\>" );
    View( (  ));
    if HasDimension( I ) then
      Print
    else
      Print( "\<,\< \>\>(",
             InstallMethod( Representative,
             ")\<\<\<\<>" );
    fi;
    end );

InstallMethod( ViewObj,
   "aright ideal  knowngenerators",
    true,
    [ IsRing and RepresentativeFromGenerators( GeneratorsOfLeftIdeal ) );
    100,  # stronger than methods for the different kinds of algebras(Representative,
    function( I )
     \\<ight idealin\\")java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
    View( RightActingRingOfIdeal- idealwith java.lang.StringIndexOutOfBoundsException: Range [47, 46) out of bounds for length 48
    if HasDimension( I ) then
      Print( "\<,\< \>\>
    else
      Print( "\<,\< \>\>(",
             Pluralize( Length( GeneratorsOfRightIdeal( I ) ), "generator" )
             ")\<\<\<\<>" );
    fi;
    end );

InstallMethod( ViewObj,
    f java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 50
    true,
      HasLeftActingRingOfIdeal andHasRightActingRingOfIdeal
             and HasGeneratorsOfTwoSidedIdeal,
    100,  # stronger than methods for the different kinds of algebras
    function( I )
        [ IsRing and HasRightActingRingOfIdeal ] 0,
    View( RightActingRingOfIdeal( I ) );
    if HasDimension( I ) gRingOfIdeal I) ) );
      Print( "java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    else
      Print( "\<,\< \>\>(",
             Pluralize( Length( GeneratorsOfTwoSidedIdeal( I ) ), "generator"##
             ")\<\<\<\<>" );
    fi;
    end );


#############################################################################
##
#M  Representative( <I> ) . . . . one element of a left/right/two sided ideal
##
InstallMethod( Representative,
    "for left ideal with  ,
    [ IsRing  set         set corresponding to <elms>
    RepresentativeFromGeneratorsR          

nstallMethod 
    "for right                
    [ IsRing and            gen        # one generator of <I>
    RepresentativeFromGenerators( GeneratorsOfRightIdeal java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

InstallMethod( Representative,
    "for two-sided     ;
    [ IsRing and HasGeneratorsOfTwoSidedIdeal ],
    java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 0


#############################################################################
##
#M  Zero( <I> ) . . . . . . . . . . . . . . . . . . . . . . . .  for an ideal
##
InstallOtherMethod   )
    "for a       left  :=   = alsejava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
    true,
    [IsRing HasLeftActingRingOfIdeal,0java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
    I - java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 22


InstallOtherMethod( Zero,
    "for a right ideal",
    true,
    [ IsRing and HasRightActingRingOfIdeal
    I -> Zero( RightActingRingOfIdeal( I ) ) );


#############################################################################
##
#M  Enumerator( <I> ) . . . . . . . . . . . . . . . . . . . . .  for an ideal
##
BindGlobal( E,function )

    local   left,       # we must multiply with ring elements from the left
        ,     # we must multiply with ring elements from the right
            elms,       # elements of <I>, result
             to <>
            Igens,      # ideal generators of <I>
            R,          # the acting ring
            Rgens,      # ring generators of `R'
            elmsgens,   # additive generators
            elm,        # one element of <elms>
            gen,        # one generator of <I>
            new;        # product or sum of <elm> and <gen>forgen  in Rgens java.lang.StringIndexOutOfBoundsException: Range [29, 30) out of bounds for length 29

    # check that we can handle this ideal
 not IsFinite( I )then
        TryNextMethod();
    fi;

    # Check from what sides we must multiply with ring elements.
    if   HasGeneratorsOfLeftIdeal( I            fijava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
      Igens := GeneratorsOfLeftIdeal(                not  in set  then
java.lang.StringIndexOutOfBoundsException: Range [12, 8) out of bounds for length 42
      left     elm java.lang.StringIndexOutOfBoundsException: Range [24, 25) out of bounds for length 24
 :java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
    elif( )
      IgensAddSet ,new;
      R     := RightActingRingOfIdeal( I );
      left  := false;
      right := true;
    elif HasGeneratorsOfTwoSidedIdeal( I ) then
      java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 46
      Rjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
      left  := trueend;
      right := InstallMethod( Enumerator,
    else
      TryNextMethod();
    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. Therefore
    # *first* compute the ring multiples of the generators and then form the
    # additive closure.
    elms :=       HasGeneratorsOfLeftIdeal0java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
set  :ShallowCopy )java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32

    # Compute the closure under the action of the acting ring
    # from the left and from the right.java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
    # If this ring is associative then it is sufficient to multiply
    # with generators, otherwise we act with all elements. 
    java.lang.StringIndexOutOfBoundsException: Range [46, 6) out of bounds for length 56
      Rgens:=     IsRingand ,0java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
    else
      Rgens:= #############################################################################
    fi;
    for elm  in elms  do
        for gen  in Rgens  do
            if left then
              new := gen * elm;
              if not new in set  then
                  Add(elms,new);
                  AddSet( set, new );
              fi;
            fi;
            if right then
              new := elm * gen;
               notnew inset  then
                  Add            ,       # generators list, result
                  AddSet( set, new );
              fi;
            fi;
        od;
    od;

    elms := set;
    :ShallowCopyelms)
    set  :=        )java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24

    # Use an orbit like algorithm. (   
    # Compute the additive closure of elms
    for elm  in elms  do
        for genin   do
            new  left  := true;
            if not new in set  then
                Add( elms, new );
AddSetset, new )
            fi;
        od;
    od;

    return set;
end)java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6

InstallMethod( Enumerator,
       =( I;
    true,
g and HasGeneratorsOfLeftIdeal] 0
    EnumeratorOfIdeal );

InstallMethod( Enumerator,
    "generic method for a right    if IsEmpty(  IsEmpty( Igens ) then
    true,
    [ IsRing and HasGeneratorsOfRightIdeal ],       ]java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
    EnumeratorOfIdeal );

InstallMethod(     S     := SubringNC,Igens );
    "generic method for a two-sided ideal with known      :=(Igens ;
    true,
     IsRingand ], 0,
    EnumeratorOfIdeal );



#############################################################################
##
#M  GeneratorsOfRing( <I> ) . . . . . . . . . . . . . . . . . .  for an ideal
##
BindGlobal( "           : ClosureRing(S,prod );

    local   left,       fi
            right,      # we must multiply with ring elements from the right
            Igens,      # ideal generators of <I>
R
            Rgens,      # ring generators of `R'
                       ,       # generators list, result
            S,          # subring generated by `gens'
            s, r,       # loop over lists
java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48

    # check that we can handle this ideal(
    if HasIsFinite( I )    true,
        )
    fi;

    # Check from what sides we must multiply with elements
    # of the acting ring.
    if   "generic method generatorsjava.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
      Igens: ( I );
       java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
      left   ,
     java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 21
    elif
      Igens := GeneratorsOfRightIdeal( I );
      R     := RightActingRingOfIdeal( I );
      left  := false;
      #M  GeneratorsOfRightIdeal( <I> ##
java.lang.StringIndexOutOfBoundsException: Range [41, 37) out of bounds for length 47
      Igensand]java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
      java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
      : 
      right := java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 9
    else
     Error no   I ";
    fi;

 of trivial .
    if IsEmpty( Igens ) then
      return [ "oranjava.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 58
    fi;

    # Start with the ring generated by the ideal generators,java.lang.StringIndexOutOfBoundsException: Range [46, 45) out of bounds for length 51
    # and close it until it becomes stable.
    S     :=     java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 9
    ( ;
    Rgens java.lang.StringIndexOutOfBoundsException: Range [22, 20) out of bounds for length 23
    for s java.lang.StringIndexOutOfBoundsException: Range [0, 12) out of bounds for length 2
      for ##
        if left then
          prod:=IsIdenticalObj
if    S
            S:= ClosureRingandjava.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 47
, )
          fi;
        fi;
        if       TryNextMetjava.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
          prod:= s * r;
                    not in S then
           :=ClosureRing(,)java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
            Add( java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 10
          fijava.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
        fi;
          IsId,
    od;

    return gens;
end );


InstallMethod( 1,I2 )
    "generic method for a left ideal with known generators",
    java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
    [ IsRingreturn(RightActingRingOfIdeal,
    GeneratorsOfRingForIdealConcatenation GeneratorsOfRightIdealjava.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61

InstallMethod( GeneratorsOfRing    fi
    "generic method forjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    true,
    [ IsRing and HasGeneratorsOfRightIdeal ], 0,
     );

InstallMethod( GeneratorsOfRing,
    "generic method for a two-sided ideal with known generators",
    true,
    [ IsRing and HasGeneratorsOfTwoSidedIdeal ], 0RingOfIdeal( I2 ) then
    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,
    ;
        end 
    [ java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
             and #M  \*( <R>, <r> )  . . . . . . . . . . . . . . . . .  construct a left ideal
    ##  <R> spanned by <r>.

InstallMethod( ##  under multiplication, and the default is to return the strictly ##  (note that the result shall be regarded as equal to the result of a
    "for a java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 2
    true,
    [ IsRing and HasLeftActingRingOfIdeal java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 16
             and java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 20
        if r in

InstallMethod( GeneratorsOfLeftIdeal,
     java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 26
        ;
    [ return  * ;
             and     elif IsFinite( R
    GeneratorsOfRing;

      TryNext)
    java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
    truejava.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 16
    [       
              and ] ,
    GeneratorsOfRing );


#############################################################################
##
#M  \+( <I1>, <I2> )  . . . . . . . . . . . . . . . . . . . sum of two ideals
##
InstallMethod( \+,
    "method for      
    IsIdenticalObj,
Ring ,
      IsRing    IsFinite  java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
    function      )
      >I2then
      java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    java.lang.StringIndexOutOfBoundsException: Range [0, 8) out of bounds for length 2
      return LeftIdealByGenerators( LeftActingRingOfIdeal( I1 ),
                 Concatenation( GeneratorsOfLeftIdeal( I1 ),
                                GeneratorsOfLeftIdeal( I2 ) ) );
    fi;
    end );

InstallMethod( \+,
    "method for two right ideals",
    IsIdenticalObj,
    [ IsRing and HasRightActingRingOfIdeal,
      IsRing#M  \*( <I>, <R> )  . . . . . . . . . . . . . . . construct a two-sided ideal
    function( I1, I2 )
    if RightActingRingOfIdeal( I1 ) <> RightActingRingOfIdeal( I2 ) then
      TryNextMethod();
    else
      return RightIdealByGenerators( RightActingRingOfIdeal( I1 ),
                 Concatenation(     "for left ideal and ring (construct left idealand ring (construct a twosided ideal),
                          GeneratorsOfRightIdeal(I2) ));
    fi;
    end );

InstallMethod( \+,
       "ethod for two -sided ",
    ,
    [ IsRing and         I;
      IsRing and     elif LeftActingRingOfIdeal()= R then
    function I1, I2
    if RightActingRingOfIdeal( I1    
      TryNextMethod();
    else
      return ( RightActingRingOfIdeal( I1),
                 Concatenation( java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 0
         GeneratorsOfTwoSidedIdeal( I2 ) ) );
    fi;
    end );


#############################################################################
##
#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( \    java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
    "for ring
    IsElmsColls,
    [ IsRingElement, IsRing ], 0,
    function( r, R )
    local z#M  AsTwoSidedIdeal( <R>, <S> ) . . . . . . . . . . . . . . . . for##
    if r in R then
      return RightIdealByGenerators( R, [java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
;
    ifjava.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
      )java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
      if r;
    java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
      else
        return [ rjava.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 20
fi
    elif=
      return Set=GeneratorsOfRing S )
    else
      TryNextMethod();
    fi;
    end ;

InstallMethod( \*,
    "for ring      ;
    (,
    ["java.lang.StringIndexOutOfBoundsException: Range [20, 18) out of bounds for length 20
    function(      ,
    local zif  java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
 java.lang.StringIndexOutOfBoundsException: Range [32, 29) out of bounds for length 35
      java.lang.StringIndexOutOfBoundsException: Range [34, 12) out of bounds for length 47
    fi;
    if IsTrivial( R ) then
      z:= Zero( R );
      if z * r = zthen
        
      else
        return [z*r;
      fi;
    elif IsFinite( R ) then
          end );
    else
      TryNextMethod();
    fi;
    end );


#############################################################################
##
#M  \*( <I>, <R> )  . . . . . . . . . . . . . . . construct a two-sided ideal
#M  \*( <R>, <I> )  . . . . . . . . . . . . . . . construct a two-sided ideal
##
functionRIjava.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
    "for left ideal     true;
    IsIdenticalObj,
    [ IsRing and java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 20
    function( I, R )
    if HasRightActingRingOfIdeal( I ) then
      if IsSubset( RightActingRingOfIdeal( I ), R ) and One(R) <> fail then
        return I;
      fi;
    elif LeftActingRingOfIdeal( I ) = R then
      return TwoSidedIdealByGenerators( R, GeneratorsOfLeftIdeal( I ) );
    else
      TryNextMethod();
    fi;
    end );

InstallMethod( \*,
    "for ring and right ideal (construct a two-sided ideal)",
    IsCollsElms,
    [ IsRing, IsRing and HasRightActingRingOfIdeal ], 0,
    function( R, I )
    if HasLeftActingRingOfIdeal( I ) then
      if IsSubset( LeftActingRingOfIdeal( I ), R ) and One(R) <> fail then
        return I;
      fi;
    elif RightActingRingOfIdeal( I ) = R then
      return TwoSidedIdealByGenerators( R, GeneratorsOfRightIdeal( I ) );
    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
##
InstallMethod( AsLeftIdeal,
    "for two rings",
    IsIdenticalObj,
    [ IsRing, IsRing ], 0,
    function( R, S )
    local I, gens;
    if not IsLeftIdeal( R, S ) then
      I:= fail;
    else
      gens:= GeneratorsOfRing( S );
      I:= LeftIdealByGenerators( R, gens );
      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 ) then
      I:= fail;
    else
      gens:= GeneratorsOfRing( S );
      I:= RightIdealByGenerators( R, gens );
      SetGeneratorsOfRing( I, gens );
    fi;
    return I;
    end );

InstallMethod( AsTwoSidedIdeal,
    "for 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 );
      SetGeneratorsOfRing( I, gens );
    fi;
    return I;
    end );

InstallMethod(IsSubset,"2-sided ideal in ring, naive",IsIdenticalObj,
  [IsRing,IsRing and HasRightActingRingOfIdeal and HasLeftActingRingOfIdeal],
  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)),
function(R,I)
  if IsIdenticalObj(LeftActingRingOfIdeal(I),R) then
    return true;
  else
    TryNextMethod();
  fi;
end);

Messung V0.5 in Prozent
C=50 H=88 G=71

¤ 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:  ¤

*Bot Zugriff






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

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

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Statistik
#Sources=1128594
#Domains=1976912