matroide
Class KantenMatroid

java.lang.Object
  |
  +--matroide.KantenMatroid

public class KantenMatroid
extends java.lang.Object

Diese Klasse repraesentiert ein Matroid als Arrangement von Pseudogeraden. Jede Gerade ist definiert durch dim-2 viele Hyperebenen und speichert die Reihenfolge, in der sie von den übrigen Hyperebenen geschnitten wird.


Constructor Summary
KantenMatroid(int dim, int anzahlH, Gerade[] ger)
          erzeugt ein Kantenmatroid mit der gegebenen Dimension, anzahlH vielen HyperEbenen und den Geraden aus dem gegebenen Array
 
Method Summary
 KantenMatroid copy()
          Kopiert dieses Kantenmatroid und auch alle Geraden
 boolean equals(KantenMatroid kama)
           
 Chirotop getChirotop()
           
 int[] getErsteHyperEbene()
           
 Gerade getGerade(int[] hypers)
           
 boolean kippeKleinesDreieck(int[] hypers)
          in den listen zu gerade1, gerade2 und gerade3 tauschen jeweils die beiden anderen beiden die Reihenfolge.
protected  boolean kleinesDreieck(int[] hypers)
          return true, falls hypers ein kleines Dreieck hoeherer Dimension definieren.
 void normiereDarstellung()
          Normiert die Darstellung eines Kantenmatroids.
 void print()
          gibt die Listen der Schnitte aus.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

KantenMatroid

public KantenMatroid(int dim,
                     int anzahlH,
                     Gerade[] ger)
              throws matroide.IsNoLegalKantenMatroidException
erzeugt ein Kantenmatroid mit der gegebenen Dimension, anzahlH vielen HyperEbenen und den Geraden aus dem gegebenen Array
Method Detail

copy

public KantenMatroid copy()
Kopiert dieses Kantenmatroid und auch alle Geraden
Returns:
zu this identisches Kantenmatroid

getGerade

public Gerade getGerade(int[] hypers)
Returns:
die Gerade, die durch die gegebenen Hyperebenen definiert ist.

getErsteHyperEbene

public int[] getErsteHyperEbene()
Returns:
Schnittearray der ersten (0,1,...,dim-2) Gerade

kippeKleinesDreieck

public boolean kippeKleinesDreieck(int[] hypers)
in den listen zu gerade1, gerade2 und gerade3 tauschen jeweils die beiden anderen beiden die Reihenfolge. Voraussetzung: Sie waren vorher schon benachbart!
Parameters:
Hyperebenen, - deren Schnitte das kleine Dreieck spezifizieren - Rang viele
Returns:
true, falls Dreieck gekippt werden konnte, false sonst

kleinesDreieck

protected boolean kleinesDreieck(int[] hypers)
return true, falls hypers ein kleines Dreieck hoeherer Dimension definieren.

getChirotop

public Chirotop getChirotop()
Returns:
Das Chirotop, das zu diesem Kantenmatroid gehört.

normiereDarstellung

public void normiereDarstellung()
Normiert die Darstellung eines Kantenmatroids. Rotiert die kleinste Gerade an den Anfang.

equals

public boolean equals(KantenMatroid kama)
Returns:
Alle Geraden von this und kama stimmen überein

print

public void print()
gibt die Listen der Schnitte aus.

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object
Returns:
pro Zeile eine Gerade mit ihren Schnitt-Hyperebenen