dvlatclass

CopyrightClara Waldmann, 2014
LicenseGPL-2
Safe HaskellSafe-Inferred
LanguageHaskell2010

Scc

Description

Modul zum Rechnen mit Sekundärkegeln

Synopsis

Documentation

get_sccs :: Maybe Int -> IO [VR] Source

Funktion zur Bestimmung der V-Repräsentationen der Sekundärkegel aus den *.coop-Dateien

Wird eine Dimension übergeben, werden die *.coop-Dateien mit scc erzeugt. Ohne Dimension wird scc nicht aufgerufen. Es müssen schon *.coop-Dateien im aktuellen Verzeichnis vorhanden sein.

handle :: FilePath -> IO VR Source

aus einer *.coop-Datei wird die V-Repräsentation des Sekundärkegels bestimmt

data SC Source

Datenstruktur für Sekundärkegel. Der Sekundärkegel besteht aus allen Vektoren q, die die Ungleichungen Aq >= 0 erfüllen.

Constructors

SC 

Fields

scdim :: Int

Dimension des Kegels

scung :: Int

Anzahl der Ungleichungen, die den Sekundärkegel beschreiben

scmat :: [[Int]]

Koeffizienten der Ungleichungen A zeilenweise

Instances

sc2hr :: SC -> HR Source

Funktion zur Umwandlung der Kegel-Darstellung von scc in H-Repräsentation für lrs

scc liefert Ungleichungen der Form Aq >= 0. lrs erwartet Ungleichungen der Form Aq >= b als (-b|A).

sc2hr SC { scdim = 3, scung = 3
	 , scmat = [[0,-2,0]
	 	   ,[0,2,2]
		   ,[2,2,0]
		   ] 
	 }
=     HR { unb = 4, ung = 3
      	 , hrmat = [[0,0,-2,0]
		   ,[0,0,2,2]
		   ,[0,2,2,0]
		   ]
         }

cone :: Parser SC Source

liest aus *.coop-Datei die Dimension und die Ungleichungen des Sekundärkegels aus

 cone  "2

	1
	0 1 
	1 1 

	3
	1 
	0 0 
	0 
	1 0 
	0 
	0 1 

	3
	0 -2 0 
	0 2 2 
	2 2 0 

	500

	1e-10"
 = SC { scdim = 3, scung = 3, scmat = [[0, -2, 0], [0, 2, 2], [2, 2, 0]] }

sc :: Int -> Parser SC Source

eigentlicher Sekundärkegel-Parser

base :: Int -> Parser [[Int]] Source

Hilfsparser für quadratische untere Dreiecksmatrizen einer gegebenen Dimension