Sto cercando una funzione che mi aiuti a ottenere la matrice aggiunta o una data, ho scoperto che puoi ottenere i cofattori di una matrice ma solo utilizzando il pacchetto “Combinatorica”, che non sono riuscito a ottenere.
Se conosci qualche comando o conosci modi efficaci per creare una funzione che fa questo, per favore aiutami.
Commenti
Risposta
Questo è solo per ottenere una risposta registrata in modo che la domanda può essere rimosso dallelenco senza risposta.
Quanto segue è tratto da un esempio fornito nella sezione Applicazione della documentazione per Minors
.
Definisci laggiunto di una matrice:
adj[m_] := Map[Reverse, Minors[Transpose[m], Length[m] - 1], {0, 1}] * Table[(-1)^(i + j), {i, Length[m]}, {j, Length[m]}]
Commenti
- Complimenti . Ma ti ' ti sbagli: la domanda viene rimossa dalla pila senza risposta solo dopo che ha votato di più le risposte. Aspetta … ora ' hai ragione 🙂
- Mi rendo conto che cè un rischio, ma di solito cè qualcuno disposto per prendere lesca 🙂
- Noi ' siamo tutti qui per il rappresentante 🙂
- @belisarius. Rappresentante? Quale rappresentante? Questo è un lavoro pro bono (CW).
- Questo era il motivo della mia faccina!
Risposta
Ecco una risposta più semplice:
adj[m_] := Inverse[m] Det[m]
Commenti
- Ben fatto. $ \ phantom {} $
- Funziona solo per matrici quadrate. Il classico aggiunto (chiamato anche adjugate) può essere definito per matrici di qualsiasi dimensione e la risposta sopra di @m_goldberg è il modo corretto di farlo per non -matrici quadrate.
- E funziona solo se esiste linverso.
- @MichaelSeifert La risposta accettata funziona per te su matrici non quadrate? Non ' per me. Penso che ' sia perché i termini {i, length [m]} e {j, length [m]} finiscono per formare una tabella quadrata.
Minors[]
, in " Applicazioni "