Come capire se il determinante di una matrice è nullo

Blowtorch
Buonasera, vi chiedo chiarimenti circa un dubbio che mi è sorto nel risolvere un esercizio.
Nel calcolare

$det(A) = [[1,-1,1,2],[2,1,1,0],[-1,1,0,-2],[2,1,2,0]]$

ho eseguito le seguenti operazioni al fine di diagonalizzare: $Row_2(A) = Row_2(A) + 2*Row_3(A), Row_3(A) = Row_3(A) + Row_1(A)$ ottenendo la seguente matrice:

$[[1,-1,1,2],[0,3,1,-4],[0,0,1,0],[2,1,2,0]]$.

A tal punto, avendo anche incontrato difficoltà nel continuare, ho ipotizzato che il determinate fosse nullo e ne ho avuto la conferma sbirciando il risultato dell'esercizio. Mi chiedo quindi come si possa, in un caso del genere, prevedere tale risultato, senza dover necessariamente ricorrere agli Sviluppi di Laplace.

Edit: Ovviamente mi riferisco ai casi in cui $n >= 4$, è chiaro che con una matrice 3x3 la scelta migliore sia applicare la Regola di Sarrus.

Risposte
anto_zoolander
Ciao!
Per $ngeq4$ se non vuoi usare gli sviluppi di Laplace e ti serve sapere solo se è nullo o no: ti basta vedere se le colonne sono linearmente dipendenti o indipendenti

Altrimenti se ti serve sapere il numerino, quello rimane il metodo più veloce che io sappia.

Comunque nel tuo caso ti sei ricondotto ad una riga con tutti zeri ed un solo uno, quindi lo sviluppo è banale.

Blowtorch
Ciao, ti ringrazio per l'attenzione! La mia domanda era riferita esclusivamente ai casi in cui il determinante è nullo, ed effettivamente, come hai suggerito, in tal caso è sufficiente verificare la dipendenza lineare dei vettori colonna. Preso da chissà quali ragionamenti non ci avevo minimamente pensato!

anto_zoolander
Figurati.
Ovviamente vale lo stesso con le righe!

Blowtorch
Certo.
Anche se, pensandoci bene, a quel punto converebbe applicare gli Sviluppi di Laplace piuttosto che verificare la dipendenza. Più che altro mi riferivo a un metodo pressoché immediato per poter affermare che, in casi come quello che ho proposto, il determinante sia 0, ma sembrerebbe che non esista e che quindi sia necessario procedere con tutti i calcoli.

dissonance
Se hai iniziato a fare operazioni sulle righe, ti conviene portare a termine l'algoritmo. In alternativa, puoi applicare da subito gli sviluppi di Laplace. Mischiare i due metodi è un buon modo per fare errori di conto difficili da individuare dopo (ma questa è solo la mia opinione).

gugo82
In generale, riduzione di Gauss e passa la paura...

Però fai le cose fino in fondo, non fermarti in mezzo.
Non serve a nulla lasciare gli esercizi a metà e tirare ad indovinare.

Blowtorch
"gugo82":
In generale, riduzione di Gauss e passa la paura...

Però fai le cose fino in fondo, non fermarti in mezzo.
Non serve a nulla lasciare gli esercizi a metà e tirare ad indovinare.


Sono assolutamente d'accordo. Ho aperto questo topic proprio per chiarire il dubbio secondo il quale pensavo esistesse un metodo (valido) per affermare che, in specifici casi, il determinante fosse nullo. Ovviamente non tirerei mai ad indovinare, si trattava soltanto di una curiosità :D.

"dissonance":
Se hai iniziato a fare operazioni sulle righe, ti conviene portare a termine l'algoritmo. In alternativa, puoi applicare da subito gli sviluppi di Laplace. Mischiare i due metodi è un buon modo per fare errori di conto difficili da individuare dopo (ma questa è solo la mia opinione).


Quindi, arrivato al punto indicato nel primo post in cui ho difficoltà a continuare con la diagonalizzazione, la cosa più corretta sarebbe quella di lasciar perdere Gauss e applicare Laplace alla matrice iniziale, giusto?

gugo82
Il fatto è che, sin dal primo post, non si capisce bene come mai tu abbia difficoltà a terminare l'algoritmo di Gauss (che resta la via più semplice per fare tutti i conti con matrici "grandi").

Un'idea me la sono fatta: usi "male" l'algoritmo perché, quando fissi l'attenzione su un pivot (ad esempio $a_(1,1)=1$), per "uccidere" i termini sotto di esso non usi la riga cui il pivot appartiene (quindi \(\operatorname{Row}_1(A)\)) ma vai a cercarne anche altre... Il che ti crea casini.[nota]Il procedimento che usi è comunque corretto, perchè il medico non prescrive quali righe combinare linearmente per ottenere il risultato. Tuttavia, procedere con ordine aiuta.[/nota]

Vediamo un po' di mettere ordine nelle cose.
In quanto segue uso $r_i$ al posto di \(\operatorname{Row}_i(A)\) per snellire la notazione e la freccetta \(\leftarrow\) al posto di $=$ per denotare la sostituzione di una riga con un'altra.

[list=1][*:3s9byxc7] Partiamo dal primo pivot, i.e. $a_(1,1)=1$ ed "uccidiamo" i termini non nulli sotto di esso: per fare ciò usiamo solo la riga $r_1$.
Le operazioni da compiere sono \(r_2 \leftarrow r_2 - 2r_1\), \(r_3 \leftarrow r_3+r_1\) e \(r_4 \leftarrow r_4 - 2r_1\) ed esse restituiscono:
\[
\begin{pmatrix}
1 & -1 & 1 & 2 \\
0 & 3 & -1 & -4 \\
0 & 0 & 1 & 0 \\
0 & 3 & 0 & -4
\end{pmatrix}\; .
\]
[/*:m:3s9byxc7]
[*:3s9byxc7] Visto che abbiamo "ucciso" tutti i termini sotto il primo pivot, passiamo al secondo $a_(2,2)=3$.
Per "uccidere" tutti i termini non nulli sotto di esso non serve più usare la riga $r_1$ (perché ciò farebbe comparire nuovamente "zozzerie" sotto al primo pivot), quindi per scalinare usiamo solo $r_2$.
L'unica operazione \(r_4\leftarrow r_4 - r_2\) ti dà:
\[
\begin{pmatrix}
1 & -1 & 1 & 2 \\
0 & 3 & -1 & -4 \\
0 & 0 & 1 & 0 \\
0 & 0 & 1 & 0
\end{pmatrix}\; .
\]
[/*:m:3s9byxc7]
[*:3s9byxc7] Abbiamo terminato con il secondo pivot ed ora possiamo scegliere:

    [*:3s9byxc7] o terminiamo l'algoritmo di Gauss, "uccidendo" i termini sotto il pivot $a_(3,3)=1$ con l'uso di $r_3$ (perché usare anche $r_1$ ed $r_2$ farebbe comparire "zozzerie" sotto agli altri due pivot precedenti) e constatando che l'ultima riga della matrice si annulla;
    [/*:m:3s9byxc7]
    [*:3s9byxc7] oppure osserviamo che la matrice cui siamo giunti ha due righe uguali e perciò $A$ ha righe dipendenti.[/*:m:3s9byxc7][/list:u:3s9byxc7] [/*:m:3s9byxc7][/list:o:3s9byxc7]

    In ogni caso, quanto abbiamo trovato implica \(\det A = 0\).[nota]In realtà, la dipendenza delle righe di $A$ era chiara sin dal primo passaggio: infatti la quarta riga $(0,3,-1,-4)$ ottenuta con la prima iterazione è differenza della seconda e terza riga $(0,3,0,-4) - (0,0,1,0)$.[/nota]

    Dunque, in generale, facendo le cose con ordine questi conti vengono più semplici.

Blowtorch
Non potevi essere più chiaro di così! Effettivamente, come ho specificato nel primo post, tutto scaturisce da una difficoltà incontrata nell'applicare l'algoritmo di Gauss, che ha portato a pormi il quesito del topic. Ad ogni modo mi hai fatto capire dove sbagliavo, ti ringrazio!

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.