Eingabeform

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
sorgenlos
User
Beiträge: 69
Registriert: Donnerstag 15. Februar 2007, 00:52

Hallo Leute, ich habe ein Script welches mir in der Mathematik zur QR-Zerlegung verhilft mit Hilfe der Householdertransformation (wen es interessiert: http://de.wikipedia.org/wiki/Householdertransformation)

Meine Frage ist es wie ich die Eingabe der Matrix aussieht. Ich habs mit A = [ [0,1,0,1,1], [0,1,0,1,1], [0,1,0,1,1], [0,1,0,1,1], [0,1,0,1,1] ] probiert so geht's nicht. Bzw. weiß ich nicht woher das "shape" kommt.

Code: Alles auswählen

def householder(A):

    m = A.shape[0]; n = A.shape[1]; Q = eye(m, n);

    QA = A

    for j in range(n-1):

        a = QA[j:, j]

        na = linalg.norm(a)

        v = a + sign(a[0].item)*na*eye(m-j,1)

        nv2 = linalg.norm(v)**2

        Qr = eye(m-j, n-j) - 2.0*dot(v, v.T)/nv2

        Qrx = eye(m, n); Qrx[j:, j:] = Qr

        Q = dot(Qrx, Q)

        QA = dot(Qrx, A)

    R = dot(Q, A)

    return Q, R
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Was steht denn noch so im Script? (Wo hast Du das denn her? - von Dir stammt es ja offensichtlich nicht). Da fehlen ja def. noch imports (z.B. für eye() oder dot() oder "linalg".
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Frage doch am besten den, der das Script geschrieben hat, was die Funktion da für ein Objekt erwartet, das ein "shape"-Attribut hat. Und dann frage doch gleich auch, wo er (oder sie) die "eye"-Funktion, das Modul "linalg" und noch ein paar andere unbekannte Funktionen für dich hat.

Ich würde ja "numpy" raten...

Stefan
Benutzeravatar
sorgenlos
User
Beiträge: 69
Registriert: Donnerstag 15. Februar 2007, 00:52

ja das script ist selbst nicht von mir sonst hät ich glaub ich den dreh raus :D
ich hab es mal aus dem mathplanet forum aufgegabelt. hab den link nicht parat gerade. ich hätte auch auf numpy getippt nach 10min recherche. kenn mich mit numpy aber leider nicht aus :/
Benutzeravatar
hendrikS
User
Beiträge: 420
Registriert: Mittwoch 24. Dezember 2008, 22:44
Wohnort: Leipzig

Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Das hab ich mal gefunden:

http://www.scipy.org/Tentative_NumPy_Tu ... d71602cf93

http://www.scipy.org/Numpy_Example_List#eye

http://www.scipy.org/Numpy_Example_List#dot

So, das scheint mir ja eindeutig. Also numpy installieren, imports setzen und dann sollte es wohl laufen.
Benutzeravatar
sorgenlos
User
Beiträge: 69
Registriert: Donnerstag 15. Februar 2007, 00:52

hab grade eben schon mal from numpy import * reingehauen, steh aber trotzdem iwie auf dem schlauch, mit array wills nicht funktionieren.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

sorgenlos hat geschrieben:hab grade eben schon mal from numpy import * reingehauen,
* importe sind idR nicht sinnvoll... Python wird schon meckern, wenn es was nicht kennt ;-)
steh aber trotzdem iwie auf dem schlauch, mit array wills nicht funktionieren.
Jetzt ist alles klar!
Antworten