logo

Modulo a scaglioni di fila

Una matrice è in forma Row Echelon se ha le seguenti proprietà:

invertendo la stringa in Java
  • Qualsiasi riga composta interamente da zeri si trova nella parte inferiore della matrice.
  • Per ogni riga che non contiene interamente zeri, la prima voce diversa da zero è 1 (chiamata 1 iniziale).
  • Per due righe successive (diverse da zero), l'1 iniziale nella riga superiore è più a sinistra di quello iniziale nella riga inferiore.

Per la forma a scaglioni di riga ridotta, l'1 iniziale di ogni riga contiene 0 sotto e sopra in quella colonna.



Di seguito è riportato un esempio di forma a scaglioni:

egin{bmatrix} 1 & 2 & -1 & 4  0 & 1 & 0 & 3  0 & 0 & 1 & 2 end{bmatrix}

e forma ridotta a scaglioni:



egin{bmatrix} 0 & 1 & 0 & 5  0 & 0 & 1 & 3  0 & 0 & 0 & 0 end{bmatrix}

Qualsiasi matrice può essere trasformata in una forma a scaglioni di righe ridotte, utilizzando una tecnica chiamata eliminazione gaussiana. Ciò è particolarmente utile per risolvere sistemi di equazioni lineari.

Eliminazione gaussiana

L'eliminazione gaussiana è un modo per convertire una matrice nella forma a scaglioni di righe ridotte. Può anche essere usato come un modo per trovare una soluzione a una soluzione al sistema di equazioni lineari. L'idea alla base di ciò è che eseguiamo alcune operazioni matematiche sulla riga e continuiamo finché non rimane una sola variabile.



Di seguito sono elencate alcune operazioni che possiamo eseguire:

conversione della data in stringa
  • Scambia due righe qualsiasi
  • Aggiungi due righe insieme.
  • Moltiplica una riga per una costante diversa da zero (ad esempio 1/3, -1/5, 2).

Data la seguente equazione lineare:

x - 2y + z = -1  2x + y - 3z = 8  4x - 7y + z = -2

e la matrice aumentata sopra

egin{bmatrix} 1 & -2 & 1 & : & -1  2 & 1 & 3 & : & 8 4 & -7 & 1 & : & -2 end{bmatrix}

Ora dobbiamo convertirlo nella forma a scaglioni. Per convertirlo nella forma a scaglioni, dobbiamo eseguire l'eliminazione gaussiana.

  • Per prima cosa dobbiamo sottrarre 2*r1dalla r2e 4*r1dalla r3per ottenere lo 0 al primo posto di r2E R3.

egin{bmatrix} 1 & -2 & 1 & : & -1  0 & 5 & -5 & : & 10 0 & 1 & -3 & : & 2 end{bmatrix}

  • Successivamente, scambieremo le righe, r2 e r3 e successivamente sottrarremo 5*r2da r3per ottenere il secondo 0 nella terza riga.

egin{bmatrix} 1 & -2 & 1 & : & -1  0 & 1 & -3 & : & 2 0 & 0 & 10 & : & 0 end{bmatrix}

  • Ora possiamo dedurne il valore Con da r3,cioè 10 z =0 ⇾ z=0. Con l'aiuto del valore di z = 0, possiamo metterlo in r2, y = 2. Allo stesso modo, possiamo mettere il valore di y e z in r1e otteniamo un valore di x=3

Rango della matrice

Il rango della matrice è il numero di righe diverse da zero nella forma a scaglioni di riga. Per trovare il rango, dobbiamo eseguire i seguenti passaggi:

  • Trova la forma a scaglioni della matrice data
  • Contare il numero di righe diverse da zero.

Prendiamo una matrice di esempio:

esempio di classe Java

egin{bmatrix} 4 & 0 & 1 2 & 0 & 2 3 & 0 & 3 end{bmatrix}

Ora riduciamo la matrice sopra alla forma a scaglioni

egin{bmatrix} 1 & 0 & frac{1}{4} 0 & 0 & 1 0 & 0 & 0 end{bmatrix}

Qui, solo due righe contengono elementi diversi da zero. Quindi il rango della matrice è 2.

Implementazione

  • Per convertire una matrice in una forma ridotta a scaglioni di righe, abbiamo utilizzato il pacchetto Sympy in Python, dobbiamo prima installarlo.

python3

# install sympy> ! pip install sympy> # import sympy> import> sympy> # find the reduced row echelon form> sympy.Matrix([[>4>,>0>,>1>],[>2>,>0>,>2>],[>3>,>0>,>3>]]).rref()> # find the rank of matrix> print>('Rank of matrix :',sympy.Matrix([[>4>,>0>,>1>],[>2>,>0>,>2>],[>3>,>0>,>3>]]).rank())>
>
>

Produzione:

(Matrix([  [1, 0, 0],  [0, 0, 1],  [0, 0, 0]]), (0, 2))    Rank of matrix : 2>