Domanda:
Come si calcola, in maniera rapida, il rango di una matrice ?
Robigus
2012-07-30 11:12:41 UTC
L'algoritmo che utilizzo, e che si basa sullo studio degli orlati via via sempre maggiori, è troppo lungo da applicare, per quanto poco complesso.

Ad esempio, sia la matrice 4 x 4, si parte considerando il rango r compreso tra 1 <= r <= 4.
Si studia un orlato 2 x 2, se diverso da 0 si riduce di un elemento l'intervallo di ricerca con 2 <= r <= 4
Stesso procedimento ancora, ma su orlato 3 x 3 ottenendo 3<= r <= 4
Ed infine calcolo il determinante della matrice, applicando sempre lo stesso algoritmo.

Il problema di questo procedimento è che, se il determinante è uguale a 0, occorre cambiare orlato e, soltanto quando siamo sicuri che tutti i possibili orlati hanno determinante nullo, posso dichiarare il rango uguale al livello in cui mi sono fermato.

Su matrici troppo grandi, in poche parole, ci butto il sangue.

C'è qualche procedimento più rapido?
Una risposta:
math
2012-07-30 11:40:01 UTC
Salve.. ho un bel po' di esperienza in questo campo.. Metodi più veloci ahimè non ce ne sono.. posso però darti qualche piccolo consiglio.



se hai una matrice n x n, con n>2, inutile partire dagli orlati 2 x 2 perché se n è grande sono parecchi. Poi devi andare a considerare quelli 3 x 3 e così via..



Fai molto prima se innanzitutto vai a calcolare il determinante dell'intera matrice (se è quadrata) o della matrice quadrata più grande in essa contenuta (se è rettangolare) in modo che se trovi il determinante diverso da 0 puoi già fermarti. Se invece lo trovi uguale a 0 passi a considerare gli orlati subito minori e potrai quindi fermarti se ne trovi uno con det diverso da 0.. Insomma partendo dal maggiore verso il minore fai prima.



Un altro consiglio che posso darti è quello, prima di partire a fare "conti" di "osservare la matrice". Se due righe o 2 colonne sono uguali o una è combinazione lineare dell'altra, o una si ottiene dalla combinazione lineare delle altre 2 puoi già dire che il determinante è 0, senza fare i conti.



ad esempio:



1 2 3 -4

-1 7 -5 9

3 -1 6 5

0 9 -2 5



Ha determinante uguale a 0, infatti la 4^ riga si ottiene dallo somma delle prime 2. Puoi passare quindi a considerare un minore 3x3 e ovviamente puoi già escludere tutti i minori ( o orlati ) formati dalla prima, seconda e quarta riga in quanto avranno sempre det = 0.

Escudi quindi ad esempio la prima riga e l'ultima colonna e hai:



-1 7 -5

3 -1 6

0 9 -2



che è più comodo in quanto ha uno 0. Calcoli il determinante che è diverso da 0 è quindi il rango è 3.

Come puoi vedere, anche se non ti fossi accorto del fatto che il determinante della matrice 4x4 è 0 e lo avessi calcolato, con soli 3 determinati sei arrivato a trovare il rango...



Spero di essere stato chiaro



Se hai dubbi chiedi pure



ciao



Josè


Questo contenuto è stato originariamente pubblicato su Y! Answers, un sito di domande e risposte chiuso nel 2021.
Loading...