dvlatclass

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

VR2TM

Description

Modul zum Rechnen mit Dreiecksmatrizen

Synopsis

Documentation

data TM Source

Datenstruktur zum speichern symmetrischer Matrizen als linke untere Dreiecksmatrizen.

tm_ex = TM { tm_dim = 2, tm_inh = [[2], [-1,2]], tm_det = 3, tm_posdef = True }
show tm_ex = 
	2x0
	2
	-1 2

Constructors

TM 

Fields

tm_dim :: !Int

Größe der Matrix

tm_inh :: ![[Int]]

Einträge der Matrix

tm_det :: !Int

Determinante der Matrix

tm_posdef :: !Bool

Aussage über positive Definitheit

Instances

Eq TM 
Show TM

zur Ausgabe von Dreiecksmatrizen als Input für ISOM

vr2tm :: VR -> TM Source

berechnet zu einer V-Repräsentation den Schwerpunkt (Summe der Ecken) als Repräsentanten des Kegels. Wegen homogener Koordinaten muss die erste Koordinate ignoriert werden.

vr2tm  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]
		      ]
	  }
= TM { tm_dim = 2, tm_inh = [[2],[-1,2]], tm_det = 3, tm_posdef = True }

sumarr :: [[Int]] -> [Int] Source

Hilfsfunktion zur Vektoraddition

sumarr [[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 0, 1], [0, 1, -1, 1]] = [1, 2, -1, 2]

posdef' :: Matrix Int -> Bool Source

Testet eine Matrix auf positive Definitheit durch berechnen aller Hauptunterdeterminanten.