Am căutat o funcție care să mă ajute să obțin matricea adiacentă sau dată, am constatat că puteți obține cofactorii unei matrice, dar numai folosind pachetul „Combinatorica”, pe care nu l-am putut obține.
Dacă cunoașteți orice comandă sau dacă cunoașteți modalități eficiente de a crea o funcție care face acest lucru, vă rog să mă ajutați.
Comentarii
Răspuns
Acesta este doar pentru a obține un răspuns înregistrat, astfel încât întrebarea poate fi eliminat din lista fără răspuns.
Următorul este preluat dintr-un exemplu dat în secțiunea Aplicație a documentației pentru Minors
.
Definiți adiacentul unei matrice:
adj[m_] := Map[Reverse, Minors[Transpose[m], Length[m] - 1], {0, 1}] * Table[(-1)^(i + j), {i, Length[m]}, {j, Length[m]}]
Comentarii
- Bravo . Dar ' greșești: întrebarea este eliminată din teancul fără răspuns numai după ce a votat în sus răspunsuri. Așteptați … acum aveți ' dreptate 🙂
- Îmi dau seama că există un risc implicat, dar de obicei există cineva dispus a lua momeala 🙂
- Noi ' suntem toți pentru reprezentant aici 🙂
- @belisarius. Reprezentant? Ce reprezentant? Aceasta este o lucrare pro bono (CW).
- Acesta a fost motivul zâmbetului meu!
Răspuns
Iată un răspuns mai simplu:
adj[m_] := Inverse[m] Det[m]
Comentarii
- Făcut frumos. $ \ phantom {} $
- Acest lucru funcționează numai pentru matricele pătrate. adjunct clasic (numit și adjugat) poate fi definit pentru matrici de orice dimensiune, iar răspunsul de mai sus de @m_goldberg este modul corect de a face acest lucru pentru non -matrici pătrate.
- Și funcționează numai dacă inversul există.
- @MichaelSeifert Răspunsul acceptat funcționează pentru dvs. pe matricele care nu sunt pătrate? Nu ' este pentru mine. Cred că ' s pentru că termenii {i, length [m]} și {j, length [m]} ajung să facă o masă pătrată.
Minors[]
, sub " Aplicații "