Ik “ben op zoek geweest naar een functie die me helpt om de adjunct-matrix te krijgen, oa een gegeven, ik ontdekte dat je de cofactoren van een matrix kunt krijgen, maar alleen door het “Combinatorica” -pakket te gebruiken, dat ik niet kon krijgen.
Als je een commando kent of als je effectieve manieren kent om een functie te creëren die dit doet, help me dan alstublieft.
Reacties
Antwoord
Dit is alleen om een vaststaand antwoord te krijgen, dus de vraag kan worden verwijderd uit de niet-beantwoorde lijst.
Het volgende is ontleend aan een voorbeeld gegeven in de sectie Toepassing van de documentatie voor Minors
.
Definieer het adjoint van een matrix:
adj[m_] := Map[Reverse, Minors[Transpose[m], Length[m] - 1], {0, 1}] * Table[(-1)^(i + j), {i, Length[m]}, {j, Length[m]}]
Reacties
- Goed gedaan . Maar u ' heeft het bij het verkeerde eind: de vraag wordt pas van de onbeantwoorde stapel verwijderd nadat deze upgestemde antwoorden heeft. Wacht … nu heb je ' gelijk 🙂
- Ik realiseer me dat er een risico aan verbonden is, maar meestal is er iemand die bereid is om het aas te nemen 🙂
- We ' zijn hier allemaal voor de vertegenwoordiger 🙂
- @belisarius. Rep? Welke vertegenwoordiger? Dit is pro bono werk (CW).
- Dat was de reden voor mijn smiley!
Antwoord
Hier is een eenvoudiger antwoord:
adj[m_] := Inverse[m] Det[m]
Reacties
- Mooi gedaan. $ \ phantom {} $
- Dit werkt alleen voor vierkante matrices. Het klassieke adjoint (ook wel adjugate genoemd) kan worden gedefinieerd voor matrices van elke dimensie, en het antwoord hierboven door @m_goldberg is de juiste manier om het te doen voor niet -vierkante matrices.
- En werkt alleen als de inverse bestaat.
- @MichaelSeifert Werkt het geaccepteerde antwoord voor u op niet-vierkante matrices? Het is niet ' t voor mij. Ik denk dat ' s omdat de termen {i, length [m]} en {j, length [m]} uiteindelijk een vierkante tabel vormen.
Minors[]
, onder " Applicaties "