www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Englisch
  Status Grammatik
  Status Lektüre
  Status Korrekturlesen
  Status Übersetzung
  Status Sonstiges (Englisch)

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Numerik linearer Gleichungssysteme" - Python
Python < Lin. Gleich.-systeme < Numerik < Hochschule < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Numerik linearer Gleichungssysteme"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Python: networkx
Status: (Frage) überfällig Status 
Datum: 15:29 Mi 19.09.2012
Autor: jumape

Aufgabe
Wie wende ich den reverse-cuthill-mckee-Algorithmus zur Lösung linearer Gleichungssysteme an?


Hallo,

ich möchte gerne den reverse-cuthill-Mckee Algorithmus zur Lösung linearer Gleichungssysteme lösen. Mein Problem ist, ich weiß nicht wie man die rechte Seite dann verändert, damit man das richtige System löst und wie man den Lösungsvektor dann wieder in die richtige Reihenfolge sortiert.
Muss ich dann rcm auch auf die beiden Vektoren anwenden, oder mach ich das einfach indem ich mir die rcm-Liste anschaue und dann meine Vektoren danach umsortiere?

Ein Beispiel dazu findet man hier:
http://networkx.lanl.gov/examples/algorithms/rcm.html


from networkx import *
from numpy import *
from scipy.linalg.decomp_lu import *
from networkx.utils.rcm import reverse_cuthill_mckee_ordering

A=matrix(MB0, 0, 0, 1], [0, 0, 1, 0], [0, 1, 0, 0], [1, 0, 0, 0)
y=matrix(MB3],[2],[1],[5)

G=to_networkx_graph(A)

rcm=list(reverse_cuthill_mckee_ordering(G))
B=adjacency_matrix(G,rcm)

print B
MB 0. 1. 0. 0.] [ 1. 0. 0. 0.] [ 0. 0. 0. 1.] [ 0. 0. 1. 0.

lu,piv= lu_factor(B)
x=lu_solve((lu,piv), y)

print x
MB 2.] [ 3.] [ 5.] [ 1.

print dot(B,x)
MB 3.] [ 2.] [ 1.] [ 5.

print y
MB3] [2] [1] [5

print dot(A,x)
MB 1.] [ 5.] [ 3.] [ 2.


Wie man sieht habe ich hier mit x die Lösung für Bx=y gefunden, aber ich suche ja eigentlich die für Ax=y. Kennst sich vielleicht jemand damit aus, wie ich jetzt meine rcm-Liste dazu verwende meine Vektoren umzusortieren? Denn der Vektor y sollte in Bx=y ja eigentlich auch anders aussehen, beziehungsweise reicht es natürlich auch nur Zeilen oder nur Spalten zu vertauschen aber in nderen Fällen sicherlich nicht und meine anderen Fälle sehen anders aus.

Es wäre wirklich nett wenn mir jemand helfen könnte.
Viele Grüße jumape

        
Bezug
Python: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 16:20 Do 27.09.2012
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Numerik linearer Gleichungssysteme"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.englischraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]