Maple 9/10: Singular Values < Maple < Mathe-Software < Mathe < Vorhilfe
|
Hallo Maple-Experten!
Dies ist meine erste Frage in diesem Forum, und deshalb fangen wir mit etwas (hoffentlich) Leichtem an
Ich möchte gern in Maple 9/10 in einer eigenen Prozedur das Kommando SingularValues (aus dem LinearAlgebra package) benutzen, um eine Matrixfaktorisierung der Form
A = U S Vt
berechnen zu lassen (eben die Singular Value Decomposition). Dabei soll A eine allgemeine (komplexe Dichte-) Matrix sein, U und Vt jeweils unitäre Matrizen und S ist eine Diagonalmatrix. Das Problem dabei ist folgendes:
Mit dem entsprechenden Kommando in Maple,
U, S, Vt := LinearAlgebra[SingularValues](A, output=['U', 'S', 'Vt']);
kann man leicht die gewünschten Daten berechnen lassen und die Ergebnisse den Namen U, S, Vt zuweisen. So weit, so gut. Aber (bei mir) funktioniert dies nur, wenn ich diese Zeile direkt eingebe (also direkt im Grafikmodus oder Kommandozeilenmodus), nicht jedoch in einer Prozedur! Zum Beispiel:
test := proc(A)
local U, S, Vt;
U, S, Vt := LinearAlgebra[SingularValues](A, output=['U', 'S', 'Vt']);
return([U, S, Vt]);
end proc:
Beim Aufruf o.g. Prozedur (mit einer Matrix als Argument) erhalte ich immer folgende Fehlermeldung:
Error, (in LinearAlgebra:-LA_Main:-SingularValues) invalid output (U) specified
Was mache ich falsch? Wäre sehr dankbar, wenn das kurz mal jeman testen könnte und mir ggf. Rückmeldung geben kann. Vielen Dank im Voraus!
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
|
|
|
|
Hallo,
die Antwort kommt spät und hilft nicht viel - was solls.
Ich war seit etwa einem Monat nicht auf diesen Seiten, deshalb die späte Reaktion. Ich bin leider kein Maple-Experte, aber ich nehme an, dass das Problem darin besteht, dass U einmal als local verwendedet wird und in dem Funktionsaufruf eine globale Variable ist (genauer: der Name einer solchen).
Klappt es, wenn Du statt 'U' im Funktionsaufruf einen unbenutzten Namen verwendest ('meinewunderschönematrix' zum Bleistift)?
Ansonsten möchte ich Dir die Newsgroup comp.soft-sys.math.maple ans Herz legen. Erreichbar unter http://groups.google.de/group/comp.soft-sys.math.maple aber besser ist natürlich, Deinen Thunderbird, Mozilla, oder was auch immer Du verwendest, für diese Newsgroup einzurichten. Die meisten Internet-Provider bieten Ihren Kunden auch einen News-Server (bei 1&1 heißt er z.B. news.online.de).
Alles Gute,
Peter
|
|
|
|