Olen etsinyt toimintoa, joka auttaa minua saamaan liitetyn matriisin, huomasin, että saat matriisin kofaktorit, mutta vain käyttämällä ”Combinatorica” -pakettia, jota en saanut.
Jos tiedät jonkin komennon tai jos tiedät tehokkaita tapoja luoda toiminto, jolla tämä tehdään, auta minua.
Kommentit
Vastaa
Tämä on vain vastauksen saamiseksi tietueeseen, joten kysymys voidaan poistaa vastaamattomien luettelosta.
Seuraava on otettu esimerkistä, joka on annettu Minors
.
Määritä matriisin liitos:
adj[m_] := Map[Reverse, Minors[Transpose[m], Length[m] - 1], {0, 1}] * Table[(-1)^(i + j), {i, Length[m]}, {j, Length[m]}]
Kommentit
- Hyvin tehty . Mutta olet ' väärässä: kysymys poistetaan vastaamattomasta kasasta vasta sen jälkeen, kun se on äänestänyt vastauksia. Odota … nyt olet ' oikeassa 🙂
- Ymmärrän, että siihen liittyy riski, mutta yleensä joku haluaa ottaa syötin 🙂
- Olemme ' kaikki täällä edustajana 🙂
- @belisarius. Rep? Mikä edustaja? Tämä on pro bono työ (CW).
- Siitä hymiöni johtui!
Vastaa
Tässä on yksinkertaisempi vastaus:
adj[m_] := Inverse[m] Det[m]
kommentit
- Hyvin tehty. $ \ phantom {} $
- Tämä toimii vain neliömatriiseissa. klassinen liitos (kutsutaan myös adjugaatiksi) voidaan määrittää minkä tahansa ulottuvuuden matriiseille, ja yllä oleva @m_goldbergin vastaus on oikea tapa tehdä se muille kuin – neliömäiset matriisit.
- Ja toimii vain, jos käänteinen on olemassa.
- @MichaelSeifert Toimiiko hyväksytty vastaus muissa kuin neliön matriiseissa? Se ei ole ' t minulle. Luulen, että ' s, koska termit {i, pituus [m]} ja {j, pituus [m]} muodostavat neliön muotoisen taulukon.
Minors[]
-ohjeen kohdasta " Sovellukset "