ich arbeite seit kurzem mit Python und stehe nun vor dem ersten Problemchen, welches weder stackoverflow noch google lösen konnten.
Daher habe ich mich hier angemeldet, in der Hoffnung, hier Hilfe zu bekommen.
Eigentlich ist es relativ simpel:
Ich habe eine (b x b) Matrix H eine (a x b) Matrix E und eine (a x a) Nullmatrix O
jetzt will ich eine ( (b+a) x (b+a) )G Matrix erstellen, die so aufgebaut ist:
G = ([H , -E.T], [-E, O])
Meine beiden naiven Ansätze sind folgende:
Code: Alles auswählen
G = array([H, -E.T], [-E, O])
bzw.
Code: Alles auswählen
G = array([[H, -E.T], [-E, O]])
Wie realisiere ich das? numpy ist natürlich importiert, die Matrizen sind alle nicht über die eigene Matrix-Klasse, sondern über die array-Klasse initialisiert!
ich muss des weiteren auch einen Vektor v erstellen, der aus dem Inversen der G Matrix, einem b-dimensionalen Eins-Vektor und einem a-dimensionalen Null-Vektor. Für diesen gilt:
v = G^(-1) * (EinsvektorB, NullvektorA)
Ich hab es so versucht (da ich G ja schon gar nicht hinbekomme, weiß ich nicht, ob das hier auch eine exception wirft):
Code: Alles auswählen
v = dot(inv(G), array(EinsvektorB, NullvektorA))
Vielen Dank für eure Hilfe!