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


Quelle  relation.tst   Sprache: unbekannt

 
#@local br,c,d,dom,e,ec,el,er,er1,er2,g,j1,j2,m,m1,m2,n,r,rc,rel,sc,sgs,tc,tup
gap> START_TEST("relation.tst");
gap> ##################################################
gap> ##
gap> ##  Categories
gap> ##      IsBinaryRelation   (IsEndoGeneralMapping)
gap> ##      IsEquivalenceClass
gap> ##
gap> ##################################################
gap> dom := Domain([1..10]);;  
gap> m := GeneralMappingByElements(dom,dom,List(dom,x->DirectProductElement([x,x])));;
gap> IsBinaryRelation(m);
true
gap> IsEndoGeneralMapping(m);
true
gap> IsReflexiveBinaryRelation(m);
true
gap> HasIsTotal(m);
true
gap> IsSymmetricBinaryRelation(m);
true
gap> IsTransitiveBinaryRelation(m);
true
gap> m=IdentityMapping(dom);
true
gap> e := EquivalenceRelationByRelation(m);;
gap> r := Random(dom);;
gap> c := EquivalenceClassOfElement(e,r);;
gap> IsEquivalenceClass(c);
true
gap> ##################################################
gap> ##
gap> ##  Properties
gap> ##      IsEquivalenceRelation
gap> ##      IsSymmetricBinaryRelation
gap> ##      IsTransitiveBinaryRelation
gap> ##      IsReflexiveBinaryRelation (implies IsTotal)
gap> ##
gap> ##################################################
gap> dom := Domain([1..10]);; tup:=[DirectProductElement([2,4])];;
gap> m := GeneralMappingByElements(dom,dom,Concatenation(List(dom,x->DirectProductElement([x,x])),tup));;
gap> IsReflexiveBinaryRelation(m);
true
gap> HasIsTotal(m);
true
gap> IsTotal(m);
true
gap> IsSymmetricBinaryRelation(m);
false
gap> IsTransitiveBinaryRelation(m);
true
gap> tup := [DirectProductElement([3,4]),DirectProductElement([4,3])];;
gap> m := GeneralMappingByElements(dom,dom,Concatenation(List(dom,x->DirectProductElement([x,x])),tup));;
gap> IsTransitiveBinaryRelation(m);
true
gap> IsReflexiveBinaryRelation(m);
true
gap> IsSymmetricBinaryRelation(m);
true
gap> IsEquivalenceRelation(m);
true
gap> m := GeneralMappingByElements(dom,dom,Concatenation(List(dom,x->DirectProductElement([x,x])),tup));;
gap> IsEquivalenceRelation(m);
true
gap> e := EquivalenceRelationByPairs(dom,[[3,4]]);;
gap> m=e;
true
gap> IsEquivalenceRelation(e);
true
gap> ##################################################
gap> ##
gap> ##  Attributes
gap> ##      EquivalenceRelationPartition
gap> ##      GeneratorsOfEquivalenceRelationPartition
gap> ##      EquivalenceClassRelation
gap> ##      EquivalenceClasses
gap> ##      ImagesListOfBinaryRelation
gap> ##     
gap> ##################################################
gap> dom := Domain([1..10]);; tup:=[DirectProductElement([2,4]),DirectProductElement([4,2])];;
gap> m := GeneralMappingByElements(dom,dom,Concatenation(List(dom,x->DirectProductElement([x,x])),tup));;
gap> IsReflexiveBinaryRelation(m);; IsSymmetricBinaryRelation(m);; 
gap> IsTransitiveBinaryRelation(m);; IsEquivalenceRelation(m);;
gap> e := EquivalenceRelationByPairs(dom,[[2,4]]);;
gap> EquivalenceRelationPartition(e);
[ [ 2, 4 ] ]
gap> GeneratorsOfEquivalenceRelationPartition(e);
[ [ 2, 4 ] ]
gap> e := EquivalenceRelationByPairs(dom,[[2,4],[4,5], [4,5],[1,1]]);;
gap> GeneratorsOfEquivalenceRelationPartition(e);
[ [ 2, 4 ], [ 4, 5 ] ]
gap> r := Random(dom);;
gap> c:= EquivalenceClassOfElement(e,r);;
gap> e = EquivalenceClassRelation(c);
true
gap> ec := EquivalenceClassOfElement(e,2);
{2}
gap> 4 in ec;
true
gap> 1 in ec;
false
gap> Images(e,2); 
[ 2, 4, 5 ]
gap> Images(e,10);
[ 10 ]
gap> br:=BinaryRelationOnPoints([[1],[2,4,5],[3],[4,2,5],[2,4,5],[6],[7],[8],[9],[10]]);;
gap> e=br;
true
gap> Successors(br);
[ [ 1 ], [ 2, 4, 5 ], [ 3 ], [ 2, 4, 5 ], [ 2, 4, 5 ], [ 6 ], [ 7 ], [ 8 ], 
  [ 9 ], [ 10 ] ]
gap> EquivalenceRelationPartition(br);
[ [ 2, 4, 5 ] ]
gap> ##################################################
gap> ##  Operations   (Constructors)
gap> ##      ReflexiveClosureBinaryRelation
gap> ##      SymmetricClosureBinaryRelation
gap> ##      TransitiveClosureBinaryRelation
gap> ##      JoinEquivalenceRelations
gap> ##      MeetEquivalenceRelations
gap> ##      EquivalenceClassOfElement
gap> ##################################################
gap> br := BinaryRelationOnPoints([[2],[3],[4],[5],[6],[7],[8],[9],[10],[]]);;
gap> rc := ReflexiveClosureBinaryRelation(br);;
gap> Successors(rc);
[ [ 1, 2 ], [ 2, 3 ], [ 3, 4 ], [ 4, 5 ], [ 5, 6 ], [ 6, 7 ], [ 7, 8 ], 
  [ 8, 9 ], [ 9, 10 ], [ 10 ] ]
gap> sc := SymmetricClosureBinaryRelation(br);;
gap> Successors(sc);
[ [ 2 ], [ 1, 3 ], [ 2, 4 ], [ 3, 5 ], [ 4, 6 ], [ 5, 7 ], [ 6, 8 ], 
  [ 7, 9 ], [ 8, 10 ], [ 9 ] ]
gap> tc := TransitiveClosureBinaryRelation(br);;
gap> Successors(tc);
[ [ 2, 3, 4, 5, 6, 7, 8, 9, 10 ], [ 3, 4, 5, 6, 7, 8, 9, 10 ], 
  [ 4, 5, 6, 7, 8, 9, 10 ], [ 5, 6, 7, 8, 9, 10 ], [ 6, 7, 8, 9, 10 ], 
  [ 7, 8, 9, 10 ], [ 8, 9, 10 ], [ 9, 10 ], [ 10 ], [  ] ]
gap> er := EquivalenceRelationByRelation(br);;
gap> er1 := EquivalenceRelationByPairs(dom,[[2,3],[4,5],[6,5]]);;
gap> UnderlyingRelation(MeetEquivalenceRelations(er,er1))=Intersection(UnderlyingRelation(er),UnderlyingRelation(er1));
true
gap> er2 := EquivalenceRelationByPairs(dom,[[1,2],[3,4],[6,7],[7,8],[8,9],[9,10]]);;
gap> j1 := JoinEquivalenceRelations(er1,er2);;
gap> j2 := JoinEquivalenceRelations(er,er1);;
gap> j1=j2; 
true
gap> m1 := MeetEquivalenceRelations(j1,er2);;
gap> m1=er2;
true
gap> m2 := MeetEquivalenceRelations (er1,er2);;
gap> EquivalenceRelationByPairs(dom,[]) = m2;
true
gap> ##################################################
gap> ##      
gap> ##  Functions    (Constructors)
gap> ##      BinaryRelationByListOfImages
gap> ##      EquivalenceRelationsByProperty
gap> ##      EquivalenceRelationByRelation
gap> ##      EquivalenceRelationByPairs
gap> ##
gap> ##################################################
gap> n:=10;; dom := Domain([1..n]);;
gap> el := List([1..n-1],x->DirectProductElement([x,x+1]));;
gap> e := EquivalenceRelationByRelation(IdentityMapping(dom));;
gap> EquivalenceRelationPartition(e)=[];
true
gap> er := EquivalenceRelationByPairs(dom,el);;
gap> Size(EquivalenceRelationPartition(er))=1;
true
gap> er := EquivalenceRelationByPairs(dom, el);;
gap> Size(EquivalenceClasses(er)) =1;
true
gap> g := SymmetricGroup(4);;
gap> sgs := Domain(NormalSubgroups(g));;
gap> d := Size(sgs);;
gap> el :=  List([1..d-1],x->DirectProductElement([AsList(sgs)[x],AsList(sgs)[x+1]]));;
gap> er1 := EquivalenceRelationByRelation(GeneralMappingByElements(sgs,sgs,el));;
gap> er := EquivalenceRelationByPairs(sgs,el);;
gap> er=er1;
true
gap> el := List([1..n-1],x->DirectProductElement([x,x+1]));;
gap> rel := TransitiveClosureBinaryRelation(GeneralMappingByElements(dom,dom,el));;
gap> Size(UnderlyingRelation(rel));
45
gap> Size(GeneratorsOfEquivalenceRelationPartition(EquivalenceRelationByPairs(dom,el)));
9
gap> STOP_TEST("relation.tst");

[ Dauer der Verarbeitung: 0.21 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge