dvlatclass

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

GetVR

Description

Modul zu Berechnungen mit V- und H-Repräsentationen für lrs

Synopsis

Documentation

data VR Source

Datenstruktur für V-Repräsentationen von Polytopen. Das beschriebene Polytop ist konvexe Hülle der gespeicherten Ecken

vr_ex = VR { vr_dim = 2, vr_nvert = 3, dim = 4
	   , vr_vert = [[1,0,0,0]
		       ,[0,1,0,0]
		       ,[0,1,-1,1]
		       ]
	   }
show vr_ex_dim4 = 
	V-representation
	begin
	3 4 rational
	1 0 0 0
	0 1 0 0
	0 1 -1 1  

	end
	incidence

Constructors

VR 

Fields

vr_dim :: !Int

Dimension des Polytops

vr_nvert :: !Int

Anzahl der Ecken

dim :: !Int

Dimension des Raumes, in dem das Polytop liegt + 1 (wegen homogener Koordinaten)

vr_vert :: [[Int]]

Liste der Ecken

Instances

Eq VR 
Ord VR 
Show VR

zur Ausgabe von V-Repräsentationen als Input für lrs

showmat :: [[Int]] -> String Source

zur Ausgabe von Matrizen

showmat [[1,0,0,0]
	,[0,1,0,0]
	,[0,1,-1,1]
	]
= 1 0 0 0
  0 1 0 0
  0 1 -1 1

getvr :: String -> IO VR Source

liest aus der Ausgabe von lrs angewendet auf eine H-Repräsentation die V-Repräsentation aus

getvr "*lrs:lrslib v.4.2c, 2010.7.7(32bit,lrsmp.h)
	*Copyright (C) 1995,2010, David Avis   avis@cs.mcgill.ca 
	*Input taken from file sc2_0.lrsh
	V-representation
	begin
	***** 4 rational
	 1  0  0  0 
	 0  1  0  0 
	 0  0  0  1 
	 0  1 -1  1 
	end
	*Totals: vertices=1 rays=3 bases=1 integer_vertices=1  vertices+rays=4
	*lrs:lrslib v.4.2c, 2010.7.7(32bit,lrsmp.h) max digits=8/100
	*0.000u 0.001s 2068Kb 1 flts 0 swaps 192 blks-in 8 blks-out" 
= VR { vr_dim = 3, vr_nvert = 4, dim = 4
     , vr_vert = [[1, 0, 0, 0]
		 ,[0, 1, 0, 0]
		 ,[0, 0, 0, 1]
		 ,[0, 1, -1, 1]
		 ]
     }

verti :: Parser VR Source

V-Repräsentation-Parser wird aufgerufen in getvr

anzecken :: Parser Int Source

Hilfsparser für verti zur Bestimmung der Anzahl der Ecken

anfang :: Parser Int Source

Hilfsparser für verti zur Bestimmung der Dimension

int :: Parser Int Source

Int-Parser

lexer :: GenTokenParser String () Identity Source

Hilfsfunktion für int

integer :: Parser Integer Source

Hilfsfunktion für int

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

mxn-Matrix-Parser

data HR Source

Datenstruktur für H-Repräsentationen von Polyedern. Der Polyeder besteht aus allen Punkten x, die die Ungleichungen Ax >= b erfüllen. Die Ungleichungen werden dabei in der Form (-b|A) gespeichert.

hr_ex_dim2 = HR { unb = 4, ung = 3
		, hrmat = [[0, 0, -2, 0]
			  ,[0, 0, 2, 2]
			  ,[0, 2, 2, 0]
			  ]
		}
show hr_ex_dim2 = 
	H-representation
	begin
	3 4 rational
	0 0 -2 0
	0 0 2 2
	0 2 2 0

	end   

Constructors

HR 

Fields

unb :: Int

Dimension des Raumes, in dem der Polyeder liegt

ung :: Int

Anzahl der Ungleichungen, die den Polyeder beschreiben

hrmat :: [[Int]]

Koeffizienten der Ungleichungen (-b|A) zeilenweise

Instances

Show HR

zur Ausgabe von H-Repräsentationen als Input für lrs