Matrix inverse in proc < MuPad < Mathe-Software < Mathe < Vorhilfe
|
ich hab jetzt eine Matrix A und eine funktion a die mit submatrix die spalten auslesen kann.
jetzt hab ich eine Prod geschrieben B(s1,s2,s3) die drei spalten von A verbindet!
jetzt wollte ich mir mit drei for schleifen alle perumationen von drei spalten aus geben und die dazu gehörige Inverse! (hab die funktion generate::TeX enteckt)
aber die Inverse wird nicht berechnet (liegt wohl daran das man bei ner proc keine Inverse berechen kann??
weiß jmd was ändern kann bzw. hat jmd ne bessere Idee?
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 11:38 Fr 09.11.2007 | Autor: | koepper |
Hallo Patrick,
wieso solte man in einer proc keine inverse berechnen können?
Poste doch mal dein Programm. Inversen erhält man immer am einfachsten mit A^-1.
Gruß
Will
|
|
|
|
|
A:=matrix(1,1,1,0,0],[2,3,0,1,0],[1,3,0,0,1):
a:=s->linalg::submatrix(A,1..3,s..s):
B:=proc(s1,s2,s3) local m; begin m:=a(s1).a(s1).a(s3) end_proc:
for i from 1 to 3 do
for j from i+1 to 4 do
for k from j+1 to 5 do
H:=B(i,j,k);print(Unquoted,"B".i.j.k." = ".generate::TeX(H)); print(Unquoted,"inverse=");print((B_(i,j,k)));
end_for
end_for
end_for
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 18:09 Fr 09.11.2007 | Autor: | koepper |
Hi,
ich sehe nicht, wo du dort die Inverse überhaupt berechnest.
im übrigen ist m local und verliert daher seinen Wert, weil es eine Procedure ist.
Gruß
Will
|
|
|
|