Processing math: 100%

09 - Szinguláris egyenletrendszerek ☠

Két egyforma ellenállásokból álló csillagkapcsolást rombusz alakban összekapcsolunk. Az így kapott áramkör négy kimenetén folyó áram a kimenetekre kapcsolt elektromos potenciál függvényében a következő egyenletekkel számolható ki:

I1=2RU1+1RU2+1RU4I2=1RU14RU2+1RU3+2RU4I3=1RU22RU3+1RU4I4=1RU1+2RU2+1RU34RU4

Számoljuk ki a potenciálokat, ha megmértük, hogy I1=4,I2=4,I3=0,I4=8 [Amper] és R=1 [Ohm]!

Keressük meg az egyenletrendszer mátrixának sajátértékeit! Ha van nulla sajátérték, tegyük el a hozzá tartozó sajátvektort v-be, és számoljuk ki A(U+cv) értékét, ahol U a megoldásként kapott Ui értékekből alkotott vektor! Mit figyelhetünk meg, és mivel magyarázhatjuk? Hány megoldása van az egyenletrendszernek?

Előállítható-e az egyenletrendszer valamely szempont szerint kiszemelt megoldása az Ii értékekből alkotott I vektor függvényében MI alakban, és mi M ekkor?

Megoldás

In [1]:
%pylab inline
Populating the interactive namespace from numpy and matplotlib

Mivel mindegyik egyenlet lineáris, felírható mátrixis alakban az alábbi módon: (2101141201211214)(U1U2U3U4)=R(I1I2I3I4) Így, a megoldása a numpy csomag solve() metódusával egyszerűen lehetséges:

In [8]:
A = matrix([[-2, 1, 0, 1], [1, -4, 1, 2], [0, 1, -2, 1], [1, 2, 1, -4]])
I = matrix([[4], [4], [0], [-8]])
U = solve(A, I)
U
Out[8]:
matrix([[-0.66666667],
        [ 0.33333333],
        [ 1.33333333],
        [ 2.33333333]])

Az A mátrix sajátértékproblémájának megoldása az eig() függvénnyel lekérdezhető:

In [9]:
eig(A)
Out[9]:
(array([  4.44089210e-16,  -2.00000000e+00,  -4.00000000e+00,
         -6.00000000e+00]),
 matrix([[ -5.00000000e-01,  -7.07106781e-01,   5.00000000e-01,
           -1.04672831e-16],
         [ -5.00000000e-01,   1.07552856e-16,  -5.00000000e-01,
           -7.07106781e-01],
         [ -5.00000000e-01,   7.07106781e-01,   5.00000000e-01,
           -1.04672831e-16],
         [ -5.00000000e-01,   1.63064007e-16,  -5.00000000e-01,
            7.07106781e-01]]))

Mint látható, az első sajátértéke sokkal kisebb a többinél, vagyis valószínűleg csak a kerekítés miatt nem nulla. Vegyük az ehhez tartozó v vektort, és végezzük az a fent írt műveletet:

In [36]:
v = eig(A)[1][:,0]
A*(U + rand()*v)
Out[36]:
matrix([[  4.00000000e+00],
        [  4.00000000e+00],
        [  8.88178420e-16],
        [ -8.00000000e+00]])

Ez pont az egyenlet inhomogén részét tartalmazó I vektor, vagyis az (U+cv) vektor is kielégíti az egyenletet. Ez matematikailag azzal a tétellel magyarázható, miszerint egy inhomogén lineáris egyenlet megoldásához hozzáadva az inhomogén egyenlet megoldásának tetszőleges többszörösét, az is megoldás lesz, ezáltal, végtelen megoldása lesz az egyenletnek.

Fizikailag pedig azt a jelentést hordozza, hogy a potenciálfüggvény nem tetszőlegesen eltolható egy konstanssal, hiszen a 0 sajátértékhez tartozó vektor minden komponense egyenlő.

Tegyük fel, hogy az egyik megoldásvektor előállítható az áramokból valamilyen U=MI módon! Mivel U megoldása az egyenletnek, ezért biztos hogy teljesül, hogy AU=I, amit behelyettesítve, az kapjuk, hogy U=MAU, vagyis az MA mátrixszorzat az egységmátrixot kell adnia, tehát M és A inverzek. Mivel azonban A-nak van 0 sajátértéke, ezért determinánsa is 0, így tehát nem lehet inverze. Ez azt jelenti, hogy nem létezik ilyen M mátrix.