Jag har letat efter en funktion som hjälper mig att få den angränsande matrisen o en given, jag fann att du kan få kofaktorerna för en matris men bara genom att använda paketet ”Combinatorica”, som jag inte kunde få.
Om du känner till något kommando eller om du vet effektiva sätt att skapa en funktion som gör detta, snälla hjälp mig.
Kommentarer
Svar
Detta är bara för att få ett svar på rekord så att frågan kan tas bort från listan som inte besvaras.
Följande är hämtat från ett exempel i avsnittet Applikation i dokumentationen för Minors
.
Definiera adjoint till en matris:
adj[m_] := Map[Reverse, Minors[Transpose[m], Length[m] - 1], {0, 1}] * Table[(-1)^(i + j), {i, Length[m]}, {j, Length[m]}]
Kommentarer
- Bra gjort . Men du ' har fel: frågan tas bort från den obesvarade högen först efter att den har uppröstat svar. Vänta … nu är du ' har rätt 🙂
- Jag inser att det finns en risk, men vanligtvis finns det någon villig att ta betet 🙂
- Vi ' är allt för repen här 🙂
- @belisarius. Rep? Vilken rep? Det här är pro bono work (CW).
- Det var anledningen till min smiley!
Svar
Här är ett enklare svar:
adj[m_] := Inverse[m] Det[m]
Kommentarer
- Snyggt gjort. $ \ phantom {} $
- Detta fungerar bara för fyrkantiga matriser. klassisk adjoint (även kallad adjugat) kan definieras för matriser av vilken dimension som helst, och svaret ovan av @m_goldberg är det rätta sättet att göra det för icke -kvadratmatriser.
- Och fungerar bara om det inversa finns.
- @MichaelSeifert Fungerar det accepterade svaret för dig på icke-kvadratiska matriser? Det ' t för mig. Jag tror att ' s eftersom termerna {i, längd [m]} och {j, längd [m]} slutar skapa en kvadratisk tabell.
Minors[]
, under " Applikationer "