Döntsük el, hogy a következő mátrix lehet-e lehet-e ortonormált bázisok közti áttérés mátrixa, azaz ortogonális mátrix-e?
$$T=\left(\begin{array}{ccc}0.7288991255358142 & -0.4338837391175581 & -0.5295762133276873\\ -0.3335273011906018 & 0.4504844339512097 & -0.8281445007534446\\ 0.5978842732114963 & 0.7802619276224011 & 0.1836456374361667\\ \end{array}\right)$$Végezzük el a bázistranszformációt az 1. feladatbeli $M_2$ mátrixon, és ellenőrizzük, hogy a spúrja és determinánsa megváltozott-e!
Segítségül a mátrixot listaformátumban megadtuk a következő cellában.
T=[[ 0.7288991255358142, -0.4338837391175581, -0.5295762133276873],
[-0.3335273011906018, 0.4504844339512097, -0.8281445007534446],
[ 0.5978842732114963, 0.7802619276224011, 0.1836456374361667]]
Először betöltjük a pylab
csomagot.
%pylab inline
Eztuán, létrehozzuk a $T$ mátrixot (mivel a T
változónév már foglalt, Tm
-nek nevezzük). Egy mátrixot akkor nevezünk ortogonálisnak, ha a transzponáltja megegyezik az inverzével, így az kell leellenőrizni, hogy a Tm
mátrixot összeszorozva az inverzével, az egységmátrixot kapjuk-e.
Tm = matrix(T)
Tm*Tm.T
Mivel a diagonális elemek 1-ek, a többi pedig (kerekítési hibán belül) 0, ez az egységmátrix, vagyis a Tm
mátrix valóban ortogonális.
Eután el kell végezni a bázistranszformációt. Ezt úgy tudjuk megtenni, ha az $M_2$ mátrixot két oldalról megszorozzuk a $T$ mátrixszal, és annak inverzével, ami jelen esetben nem más mint a transzponált:
M2 = matrix([[7,9,6],[9,3,0],[1,2,3]])
M2v = Tm*M2*Tm.T
print("det(M2) = {}; det(M2v) = {}".format(det(M2), det(M2v)))
print("Sp(M2) = {}; Sp(M2v) = {}".format(trace(M2), trace(M2v)))
Valóban nem változott sem a determináns, sem pedig a spúr.