Kalkylator för matrisinvers

Matrisen är singulär (icke inverterbar).
Resultat

Den inversa matrisen till en kvadratmatris A är matrisen A⁻¹ så att A · A⁻¹ = I. Ange en kvadratmatris upp till 10×10; verktyget utvidgar den med identitetsmatrisen, kör Gauss-Jordan-eliminering med partiell pivotering och returnerar A⁻¹ samt alla utförda radoperationer under processen. Om matrisen är singulär (det = 0) stannar verktyget och anger var reduktionen misslyckades.

Hur inversen beräknas

  1. 1

    Ange en kvadratmatris

    Samma antal rader och kolumner: från 2×2 till 10×10.

  2. 2

    Verktyget kontrollerar inverterbarheten

    Beräknar först det(A). Om resultatet är noll är matrisen singulär och har ingen invers.

  3. 3

    Förstärk med identitet

    Formar blocket [A | I] för att kunna användas i Gauss-Jordan-algoritmen.

  4. 4

    Reducera raderna till [I | A⁻¹]

    Varje radoperation registreras; det högra blocket blir inversen.

  5. 5

    Verifiera

    Verktyget multiplicerar A · A⁻¹ och visar resultatet, vilket inom numerisk precision bör vara identitetsmatrisen.

När en invers finns

En kvadratisk matris A är inverterbar om och endast om det(A) ≠ 0. Ekvivalenta villkor:

  • Kolumnerna är linjärt oberoende.
  • Raderna är linjärt oberoende.
  • Nollrummet är trivialt (endast nollvektorn).
  • A har full rang (rang = n).
  • Det linjära systemet Ax = b har en unik lösning för varje b.

2×2-genvägen

För A = [[a, b], [c, d]]:

A^−1 = (1 / (ad − bc)) · [[d, −b], [−c, a]]

Byt plats på diagonalen, byt tecken på elementen utanför diagonalen och dela med determinanten.

Gauss-Jordan i en bild

Start: [A | I].

Slut: [I | A^−1].

De radoperationer som omvandlar A till I omvandlar I till A⁻¹ när de tillämpas på I.

Varför partiell pivotering är viktig

Utan den väljer algoritmen diagonalelementet i den aktuella raden som pivot. Om det värdet är noll eller mycket litet spricker divisionen. Vid partiell pivotering byter man in raden med det största pivotvärdet i absolutbelopp, vilket gör beräkningen numeriskt stabil.

Kontrollera ditt resultat

Multiplicera A · A⁻¹. Du bör få identitetsmatrisen (med en mycket liten numerisk avvikelse). Om du ser att element avviker tydligt från 1 längs diagonalen eller från 0 på andra platser, är matrisen nära singulär och den numeriska inversen är opålitlig – den existerar i teorin, men det beräknade värdet kan avvika med flera siffror.

Löst 2×2-exempel

A = [[4, 7], [2, 6]]

  • det(A) = 4·6 − 7·2 = 24 − 14 = 10 (icke-noll, inverterbar).
  • Byt plats och byt tecken: [[6, −7], [−2, 4]].
  • Dela med 10: A^−1 = [[0.6, −0.7], [−0.2, 0.4]].
  • Verifiera: A · A^−1 = [[1, 0], [0, 1]]. ✓

Tips

  • Använd exakt aritmetik för små matriser (2×2, 3×3) för att få rena bråk. Flyttal orsakar avrundning även vid enkla heltalsindata.
  • Invertera inte för att lösa Ax = b i produktionskod. Radreducera istället det utvidgade systemet [A | b]; det är snabbare och stabilare än att invertera och sedan multiplicera.
  • Konditionstal. Om cond(A) är stort (säg >10^10 i dubbel precision) är den numeriska inversen opålitlig, även om den existerar.

Vanliga frågor

Singulär betyder att determinanten är noll, vilket kan ske när kolumnerna är linjärt beroende – en kolumn är en multipel av en annan, eller en kolumn är summan av två andra. Element skilda från noll garanterar inte oberoende.

Nej. Icke-kvadratiska matriser har pseudoinverser (Moore-Penrose), som definieras för alla matriser men inte är verkliga inverser. Använd ett särskilt verktyg för att beräkna pseudoinversen om det behövs.

För heltaliga inmatningar upp till en rimlig storlek gäller det att resultaten förblir rationella. För flyttals eller irrationella värden byter beräkningsmaskinen till dubbelprecision.

Upp till 10×10 visas bekvämt i webbläsaren. För större storlekar rekommenderas ett numeriskt bibliotek tillsammans med BLAS.

Avrundning i dubbelprecisionsaritmetik. Värdena kan vara 1,000000000000002 istället för 1. För dåligt konditionerade matriser kan avvikelsen bli större. Om du behöver exakta inverser, använd exakt rationell läge för små matriser.

Relaterade verktyg

Verktyget finns på andra språk