Givensrotation in Maple < Matrizen < Lineare Algebra < Hochschule < Mathe < Vorhilfe
|
Status: |
(Frage) überfällig | Datum: | 17:23 Mi 26.12.2018 | Autor: | Dini89 |
Aufgabe | m x n Givensrotation in Maple programmieren |
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt
Hallo ihr Lieben
Ich habe versucht, meine Proc in Maple zu schreiben, allerdings fällt mir das sehr schwer....
Givensproc := proc (origA::Matrix)
local A, m, n, i, j, p, c, s;
global R;
A := origA;
n := LinearAlgebra[ColumnDimension](A);
m := LinearAlgebra[RowDimension](A);
if n <= m then for j to m do
for i from j+1 to n do
p := sign([j, j])*sqrt(A[i, [mm] j]^2+A[j, j]^2); [/mm]
c := A[j, j]/p; s := -A[i, j]/p;
R := IdentityMatrix(m, n, compact = false);
R[i, j] := -s;
R[j, i] := s;
R[i, i] := c;
R[j, j] := c;
A := R^%T . A
end do
end do;
return A
else
error "per Definition nicht lösbar!"
end if
end proc
mein Problem ist, dass hier R ausgegeben wir, aber nicht Q (Q wäre die einzelnen Werte miteinander zu multiplizieren) ich weiß nicht wie ich das definieren soll
mein zweites Problem ist, dass dies nur für 3 x 3 Matrizen funktioniert, aber keine Ahnung wieso nicht bei 4 x 4 bzw m x n
an den Formeln ändert sich doch nichts...
Viele liebe Grüße Nadine
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 18:20 Sa 26.01.2019 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|