verzija: SageMath 9.4
%display latex
var('y z s t a b c d')
Baza vektorskog prostora nije jedinstvena. U zadacima u kojima treba odrediti neku bazu za neki vektorski prostor ili potprostor u rješenju je uvijek ponuđena jedna moguća baza. Međutim, ako vi dobijete neku drugu bazu, kako provjeriti da li je i vaša baza također dobra? Postavlja se zapravo pitanje kako ispitati za dvije dane baze da li određuju isti potprostor. Pokazat ćemo na dva primjera kako se to efikasno može ispitati.
Neka je $W$ vektorski prostor svih rješenja homogenog sustava linearnih jednadžbi
$$\begin{align*}x+2y+2z-s+3t&=0\\ x+2y+3z+s+t&=0\,.\\ 3x+6y+8z+s+5t&=0\end{align*}$$
Odredite jednu bazu i dimenziju prostora $W$.
sustav=[x+2*y+2*z-s+3*t==0,x+2*y+3*z+s+t==0,3*x+6*y+8*z+s+5*t==0]
Riješimo li sustav tako da varijable $y$, $s$ i $t$ budu parametri, dobivamo
$$(x,y,z,s,t)=(-2y+5s-7t,\, y,\, -2s+2t,\, s,\, t)=y(-2,1,0,0,0)+s(5,0,-2,1,0)+t(-7,0,2,0,1)$$
iz čega slijedi da je $\mathcal{B}_1=\big\{(-2,1,0,0,0),\,(5,0,-2,1,0),\,(-7,0,2,0,1)\big\}$ jedna baza za $W$ pa je $\dim{W}=3$.
solve(sustav,[x,y,z,s,t])
Riješimo li sustav tako da varijable $x$, $y$ i $z$ budu parametri, dobivamo
$$(x,y,z,s,t)=\Big(x,\, y,\, z,\, -\frac{1}{2}x-y-\frac{7}{4}z,\, -\frac{1}{2}x-y-\frac{5}{4}z\Big)=x\Big(1,0,0,-\frac{1}{2},-\frac{1}{2}\Big)+y(0,1,0,-1,-1)+z\Big(0,0,1,-\frac{7}{4},-\frac{5}{4}\Big)$$
iz čega slijedi da je $\mathcal{B}_2=\left\{\Big(1,0,0,-\frac{1}{2},-\frac{1}{2}\Big),\, (0,1,0,-1,-1),\, \Big(0,0,1,-\frac{7}{4},-\frac{5}{4}\Big)\right\}$ jedna baza za $W$ pa je $\dim{W}=3$.
solve(sustav,[s,t,x,y,z])
Pretpostavimo da je u rješenju dana baza $\mathcal{B}_1=\big\{(-2,1,0,0,0),\,(5,0,-2,1,0),\,(-7,0,2,0,1)\big\}$ za prostor $W$, a da ste vi tijekom rješavanja sustava dobili bazu $\mathcal{B}_2=\left\{\Big(1,0,0,-\frac{1}{2},-\frac{1}{2}\Big),\, (0,1,0,-1,-1),\, \Big(0,0,1,-\frac{7}{4},-\frac{5}{4}\Big)\right\}$ za prostor $W$.
Pitanje je sada kako ispitati da li je i vaše rješenje za bazu zaista dobro, tj. pitamo se da li baze $\mathcal{B}_1$ i $\mathcal{B}_2$ razapinju isti potprostor od $\mathbb{R}^5$. Kao prvo, vaša baza i baza ponuđena u rješenju moraju imati isti broj elemenata. U ovom slučaju $\mathcal{B}_1$ i $\mathcal{B}_2$ imaju isti broj elemenata. No, to još uvijek ne znači da razapinju isti potprostor od $\mathbb{R}^5$. Sada vektore iz baze $\mathcal{B}_1$ smjestimo u retke matrice $B_1$, a vektore iz baze $\mathcal{B}_2$ smjestimo u retke matrice $B_2$. Možemo vektore smjestiti u stupce umjesto u retke, ali lakše je u SAGE-u matricu unositi po recima. Općenito u retke matrice stavljamo zapravo koordinate promatranih vektora s obzirom na kanonsku bazu promatranog vektorskog prostora.
B1=matrix(QQ,[[-2,1,0,0,0],[5,0,-2,1,0],[-7,0,2,0,1]])
B2=matrix(QQ,[[1,0,0,-1/2,-1/2],[0,1,0,-1,-1],[0,0,1,-7/4,-5/4]])
B1,B2
Izračunamo rangove matrica $B_1$ i $B_2$. Kako obje matrice imaju rang $3$, to znači da su oba skupa $\mathcal{B}_1$ i $\mathcal{B}_2$ linearno nezavisni i zaista oba skupa razapinju potprostore dimenzije $3$.
rank(B1),rank(B2)
Konačno, sve vektore iz $\mathcal{B}_1$ i $\mathcal{B}_2$ smjestimo u retke jedne matrice $B$ i izračunamo njezin rang. Kako je rang te matrice i dalje ostao jednak $3$, to znači da baze $\mathcal{B}_1$ i $\mathcal{B}_2$ razapinju isti potprostor od $\mathbb{R}^5$. Dakle, da bi vaše rješenje bilo dobro, moraju sve tri matrice $B_1$, $B_2$ i $B$ imati isti rang koji je u ovom slučaju jednak $3$, što je jednako dimenziji potprostora $W$.
B=B1.stack(B2); B
rank(B)
Dakle, $\mathcal{B}_1$ i $\mathcal{B}_2$ su zaista dvije različite baze prostora $W$.
Odredite jednu bazu i dimenziju prostora $V=\left\{\begin{bmatrix}a&b\\ c&d\end{bmatrix}\in M_2(\mathbb{R}):\, c+2d=0,\ a+b-2c=0\right\}$.
sustav2=[c+2*d==0,a+b-2*c==0]
Riješimo li sustav $c+2d=0,\ a+b-2c=0$ tako da varijable $a$ i $c$ budu parametri, dobivamo
$$\begin{bmatrix}a&b\\ c&d\end{bmatrix}=\begin{bmatrix}a&-a+2c\\ c&-\frac{1}{2}c\end{bmatrix}=a\begin{bmatrix}1&-1\\ 0&0\end{bmatrix}+c\begin{bmatrix}0&2\\ 1&-\frac{1}{2}\end{bmatrix}$$
pa je $\mathcal{B}_1=\left\{\begin{bmatrix}1&-1\\ 0&0\end{bmatrix},\ \begin{bmatrix}0&2\\ 1&-\frac{1}{2}\end{bmatrix}\right\}$ jedna baza za $V$ i $\dim{V}=2$.
solve(sustav2,[d,b,c,a])
Riješimo li sustav $c+2d=0,\ a+b-2c=0$ tako da varijable $a$ i $b$ budu parametri, dobivamo
$$\begin{bmatrix}a&b\\ c&d\end{bmatrix}=\begin{bmatrix}a&b\\ \frac{1}{2}a+\frac{1}{2}b&-\frac{1}{4}a-\frac{1}{4}b\end{bmatrix}=a\begin{bmatrix}1&0\\ \frac{1}{2}&-\frac{1}{4}\end{bmatrix}+b\begin{bmatrix}0&1\\ \frac{1}{2}&-\frac{1}{4}\end{bmatrix}$$
pa je $\mathcal{B}_2=\left\{\begin{bmatrix}1&0\\ \frac{1}{2}&-\frac{1}{4}\end{bmatrix},\ \begin{bmatrix}0&1\\ \frac{1}{2}&-\frac{1}{4}\end{bmatrix}\right\}$ jedna baza za $V$ i $\dim{V}=2$.
solve(sustav2,[c,d,a,b])
Da bismo provjerili da $\mathcal{B}_1$ i $\mathcal{B}_2$ razapinju isti potprostor od $M_2(\mathbb{R})$, koordinate vektora iz tih skupova u kanonskoj bazi od $M_2(\mathbb{R})$ smjestimo redom u matrice $B_1$, $B_2$ i $B$ kao i u prethodnom primjeru i provjerimo da sve tri matrice imaju isti rang koji je u ovom slučaju jednak $2$.
B1=matrix(QQ,[[1,-1,0,0],[0,2,1,-1/2]])
B2=matrix(QQ,[[1,0,1/2,-1/4],[0,1,1/2,-1/4]])
B=B1.stack(B2)
B1,B2,B
rank(B1),rank(B2),rank(B)
Dakle, $\mathcal{B}_1$ i $\mathcal{B}_2$ su zaista dvije različite baze za potprostor $V$.
Gore pokazane provjere možemo napraviti i u Maximi. Ovdje ćemo maximu pozvati direktno iz SAGE-a, tako da na početku ćelije napišemo %%maxima. Na taj način govorimo SAGE-u da u toj ćeliji unosimo maxima kod kojeg će onda izvršiti Maxima. Donje kodove možete izvršiti direktno i u programu Maxima bez SAGE-a, na primjer u wxMaxima sučelju u kojemu će se matrice također lijepo ispisati u obliku tablice. Ovdje ćemo samo pokazati provjere na matricama bez prethodnog rješavanja sustava, iako i u maximi također možemo rješavati sustave linearnih jednadžbi pomoću gotove naredbe linsolve slično kao i u SAGE-u pomoću naredbe solve.
%%maxima
B1:matrix([-2,1,0,0,0],[5,0,-2,1,0],[-7,0,2,0,1]);
B2:matrix([1,0,0,-1/2,-1/2],[0,1,0,-1,-1],[0,0,1,-7/4,-5/4]);
B:addrow(B1,B2);
rank(B1);
rank(B2);
rank(B);
%%maxima
B1:matrix([1,-1,0,0],[0,2,1,-1/2]);
B2:matrix([1,0,1/2,-1/4],[0,1,1/2,-1/4]);
B:addrow(B1,B2);
rank(B1);
rank(B2);
rank(B);