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

  • Kan du förklara vad som är " tillägg "?
  • @Szabolcs Adjoint – på spanska är " Adjunta "
  • Ta en titt till hjälp för Minors[], under " Applikationer "
  • Jag ' har hittat översättningen " adjunt " så jag var inte ' visste inte att det var samma " adjoint "
  • Tja, kontrollera Wikipedia-sidan jag länkade för att vara säker

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.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *