Jeg har vært på utkikk etter en funksjon som hjelper meg å få den sammenhengende matrisen til en gitt en, jeg fant ut at du kan få kofaktorene til en matrise, men bare ved å bruke «Combinatorica» -pakken, som jeg ikke kunne få.

Hvis du kjenner en kommando, eller hvis du kjenner effektive måter å lage en funksjon som gjør dette, kan du hjelpe meg.

Kommentarer

  • Kan du forklare hva som er " tillegg "?
  • @Szabolcs Tilstøtning – på spansk er " Adjunta "
  • Ta en titt ved hjelp for Minors[], under " Programmer "
  • Jeg ' har funnet oversettelsen " adjunt " så jeg var ikke ' visst at det var det samme " adjoint "
  • Vel, sjekk Wikipedia-siden jeg lenket for å være sikker

Svar

Dette er bare for å få svar på posten så spørsmålet kan fjernes fra listen som ikke er besvart.

Følgende er hentet fra et eksempel gitt i delen Søknad i dokumentasjonen for Minors .

Definer tillegget til en matrise:

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 ' tar feil: spørsmålet blir fjernet fra den ubesvarte bunken først etter at den har oppstemt svar. Vent … nå ' har rett 🙂
  • Jeg er klar over at det er en risiko involvert, men vanligvis er det noen villige å ta agnet 🙂
  • Vi ' er alt for representanten her 🙂
  • @belisarius. Rep? Hvilken representant? Dette er pro bono work (CW).
  • Det var grunnen til smilen min!

Svar

Her er et enklere svar:

adj[m_] := Inverse[m] Det[m] 

Kommentarer

  • Pent gjort. $ \ phantom {} $
  • Dette fungerer bare for firkantede matriser. klassisk tilknytning (også kalt adjugat) kan defineres for matriser av alle dimensjoner, og svaret ovenfor av @m_goldberg er den riktige måten å gjøre det for ikke -kvadratmatriser.
  • Og fungerer bare hvis det omvendte eksisterer.
  • @MichaelSeifert Fungerer det aksepterte svaret for deg på ikke-kvadratiske matriser? Det ' t for meg. Jeg tror at ' s fordi termene {i, lengde [m]} og {j, lengde [m]} ender opp med en firkantet tabell.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *