[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [obm-l] determinantes




Eduardo Henrique Leitner said:
> olá, gostaria de saber se existe uma definição exata de determinante de
> uma matriz...
>
> é que eu já vi 3 definições distintas e gostaria de saber se todas sao
> aceitas como definições mesmo, ou apenas uma delas é a certa e as outras
> sao teoremas a partir dessa, ou é ainda uma outra além dessa 3...
> [...]

As três estão certas.

Eu vou confundir as coisas mais um pouco e introduzir um quarta (!)
definição de determinante na história:

Def.: O determinante de uma matriz é a única transformação multilinear
alternada das colunas dessa matriz tal que det(I) = 1.

Eu vou agora explicar o que significa essa definição.

O determinante é multilinear
----------------------------

Isso quer dizer que se uma matriz A possui colunas [a_1+b_1, a_2, ...,
a_n], então

det[a_1+b_1, a_2, ..., a_n] = det[a_1, a_2, ..., a_n] + det[b_1, a_2, ...,
a_n].

e analogamente para as outras colunas. Além disso,

det[c*a_1, a_2, ..., a_n] = c*det[a_1, a_2, ..., a_n]

e analogamente para as outras colunas.

O determinante é alternado
--------------------------

Isso quer dizer que, ao trocar duas colunas quaisquer da matriz, o seu
determinante muda de sinal. Em outras palavras,

det[a_1, ..., a_i, ..., a_j, ..., a_n] = -det[a_1, ..., a_j, ..., a_i,
..., a_n]

para todos os i e j, 1 <= i < j <= n.

det(I) = 1
----------

Seja I a matriz identidade, i.e. I = [e_1 e_2 ... e_n], onde e_i é o vetor
que tem zeros em todas as posições, exceto a i-ésima posição, onde ele tem
um 1. Então det(I) = 1, por definição.
============================================================

Isso é muito legal, mas como eu faço para, realmente, calcular um
determinante?

Considere a matriz A = [a b; c d] (isto é, a matriz 2x2 que tem os
elementos a e b na primeira linha e c e d na segunda linha). Quanto vale
det(A)?

D = det[a b; c d] = det[a b; 0 d] + det[0 b; c d] pela multinearidade na
primeira coluna. Aplicando a multilinearidade nas segundas colunas das
duas matrizes, temos que
det[a b; 0 d] = det[a 0; 0 d] + det[a b; 0 0]
det[0 b; c d] = det[0 0; c d] + det[0 b; c 0].

Logo D = det[a 0; 0 d] + det[a b; 0 0] + det[0 0; c d] + det[0 b; c 0].

Usando novamente a multinearidade em cada uma das colunas, removemos as
variáveis de dentro da matriz. O que resta é
D = ad*det[1 0; 0 1] + ab*det[1 1; 0 0] + cd*det[0 0; 1 1] + bc*det[0 1; 1
0].
A primeira matriz é a identidade, logo seu determinante é um. A última
matriz, ao trocarmos a primeira e a segunda colunas, torna-se a
identidade, logo ela tem determinante -1 (pois invertemos o sinal do
determinante ao trocar as duas colunas). Logo
D = ad - bc + ab*det[1 1; 0 0] + cd*det[0 0; 1 1].

Mas quanto vale det[1 1; 0 0]? Ora, se trocarmos as duas colunas deste
determinante, ele deve mudar de sinal. Mas, com essa operação, a matriz
sobre a qual operamos não muda, logo det[1 1; 0 0] = -det[1 1; 0 0] <=>
det[1 1; 0 0] = 0. Analogamente, det[0 0; 1 1] = 0. Finalmente,

det[a b; c d] = ad - bc.

Note que podemos generalizar o que acabamos que fazer: se uma matriz tem
duas colunas iguais então seu determinante é zero, pois permutá-las muda o
sinal deste mas, ao mesmo tempo, não o altera.

E se quisermos um determinante 3x3? Mesma coisa, exceto que agora teremos
9 matrizes só de zeros e uns. Três delas terão determinante zero; todas as
outras terão determinante +-1.

Eu não farei essa conta, mas vale a pena conferir que essa conta dá o
mesmo que a regra de Sarrus.
============================================================

Agora eu vou começar a responder a sua pergunta: provarei que a definição
do Iezzi equivale à minha.

Considere a matriz A = [a_1 a_2 ... a_n], onde a_i é o i-ésimo vetor
coluna de A e seja ainda a_1 = (x_1, x_2, ..., x_n).

Pela multilinearidade do determinante,

det A = x_1*det[e_1 a_2 ... a_n] + x_2*det[e_2 a_2 ... a_n] + ... +
x_n*det[e_n a_2 ... a_n].

Agora eu precisarei dos dois seguintes lemas:

Lema 1: Se a matriz A tem duas colunas, uma múltipla da outra, então det A
= 0.

Prova: Se A = [a_1 ... a_i ... c*a_i ... a_n], então
det A = c * det[a_1 ... a_i ... a_i ... a_n] = c * 0 = 0.

Lema 2: det[a_1 ... a_i ... (a_j - k*a_i) ... a_n] = det[a_1 ... a_i ...
a_j ... a_n].

Prova: Pela multinearidade na j-ésima coluna, det[a_1 ... a_i ... (a_j -
k*a_i) ... a_n] = det[a_1 ... a_i ... a_j ... a_n] + det[a_1 ... a_i ...
-k*a_i ... a_n] = det[a_1 ... a_i ... a_j ... a_n].

Em particular estes dois lemas implicam que podemos zerar a i-ésima
coordenada de todas as colunas exceto a primeira de [e_i a_2 ... a_n] sem
alterar o determinante -- basta tomar a matriz B_i = [e_i a_2-a_i2*e_i ...
a_n-a_in*e_i]. Seja então B_i = [e_i b_1 ... b_(n-1)]. Troque agora a
primeira coluna com a segunda, a segunda com a terceira e assim
sucessivamente, até trocar a (i-1)-ésima coluna com a i-ésima coluna.
Nessa história, a coluna e_i andou até a i-ésima posição, preservando a
ordem relativa das outras colunas. Seja C_i essa nova matriz.

Como efetuamos i-1 trocas de colunas, det C_i = (-1)^(i-1) * det B_i. Mas
o jeitão da matriz C_i é este aqui (use uma fonte de largura fixa):

     1         j       n
     |         |       |
     V         V       V
1-> [* * ... * 0 * ... *]
    [* * ... * 0 * ... *]
    [. . .   . . . .   .]
    [. .  .  . . .  .  .]
    [. .   . . . .   . .]
    [* * ... * 0 * ... *]
j-> [0 0 ... 0 1 0 ... 0]
    [* * ... * 0 * ... *]
    [. . .   . . . .   .]
    [. .  .  . . .  .  .]
    [. .   . . . .   . .]
n-> [* * ... * 0 * ... *]

Esqueça agora que a j-ésima linha e a j-ésima coluna existem e faça a
decomposição que eu fiz para o determinante 2x2 (e esbocei para o 3x3)
para as outras n-1 colunas, *sem mexer na j-ésima coluna*. Como nenhuma
das colunas possui j-ésima coordenada não nula, nenhuma das n-1 colunas
terminará com um vetor e_j. Finalmente, permute as colunas para que a
matriz termine como a identidade (possivelmente com mudanças de sinal).
Note agora que quando as n-1 colunas estiverem posiciondas para que elas
formem a identidade, desconsiderando a j-ésima linha e a j-ésima coluna,
elas continuam formando a identidade mesmo se mantivermos a j-ésima linha
e a j-ésima coluna. Logo as matrizes que dariam um se estivéssemos
calculando det[b_1 b_2 ... b_(n-1)] continuam dando o mesmo valor. Logo
det C_i = det[b_1 b_2 ... b_(n-1)]. Logo det B_i = (-1)^(i+1) * det[b_1
b_2 ... b_(n-1)] (pois (-1)^(i-1)=(-1)^(i+1)), logo

det A = x_1*(-1)^(1+1)*det[b_11 b_12 ... b_1n] + ... +
x_n*(-1)^(n+1)*det[b_n1 b_n2 ... b_nn], onde b_ij é a (j+1)-ésima coluna
de A, com a i-ésima coordenada suprimida.

Mas isso é a soma dos produtos dos elementos da primeira coluna
multiplicados pelos seus respectivos cofatores.
============================================================

Agora para a segunda definição:

Note que para calcular det A, A uma matriz de ordem nxn, expandimos esta
matriz em n^n outras matrizes. Mas só aquelas que não repetem nenhum
vetor-coluna são não-nulas, e existem n! delas, associadas às permutações
das colunas de [e_1 e_2 ... e_n].

Considere agora uma dessas permutações. Cada troca de colunas é uma
inversão da permutação das colunas. Se for necessário um número par de
inversões, essa matriz contribui com uma parcela positiva no determinante;
caso contrário, contribui com uma parcela negativa.

Logo está demonstrada a equivalência com a definição do Hugo.
============================================================

Lema: Se A é triangular então det A = a_11*a_22*...*a_nn.

Prova: Segue trivialmente através da aplicação repetida do Teorema de
Laplace na primeira coluna (no fundo foi isso que eu demonstrei na
definição do Iezzi).

Note que para provar que se A e B são semelhantes então det A = det B,
basta demonstrar que det AB = det A * det B, pois então A = P*B*P^-1 =>
det A = det P*B*P^(-1) = det P*det B*det P(-1) = det B*det(P*P(-1)) = det
B*det I = B.

Note agora que se C = AB então c_ij = a_i1*b_1j + a_i2*b_2j + ... +
a_in*b_nj. Então, aplicando a multilinearidade na primeira coluna de C,
temos que

det C = b_11*det[a_1' c_2 ... c_n] + b_21*det[a_2' c_2 ... c_n] + ... +
b_n1*det[a_n' c_2 ... c_n]

onde a_i' é a i-ésima *linha* de A e c_i é a i-ésima coluna de C. Aplique
novamente a multinearidade na segunda, na terceira, ..., na n-ésima
coluna, nesta ordem. Apenas as matrizes nas quais todos os a_i' são
distintos podem ter determinantes não-nulos. Permute as colunas dessas
matrizes até que todas se tornem iguais a [a_1' a_2' ... a_n']. Note que o
sinal que os termos não-nulos terão adquirido correspondendem justamente à
paridade da permutação original das colunas, que corresponde à permutação
dos b_ij, quando os b_ij são considerados em ordem crescente.

Logo, colocando det[a_1' a_2' ... a_n'] em evidência, o que sobra é o
determinante de B, dessa vez considerado sobre o ponto de vista de
permutações.

Logo sabemos que det C = det B * det[a_1' a_2' ... a_n']. Basta, portanto,
demonstrar o seguinte lema:

Lema: det A = det A', onde A' é a transposta de A.

Prova: Note que se P = [e_s(1) e_s(2) ... e_s(n)], onde s: {1, ..., n} ->
{1, ..., n} é uma permutação, então trocar a i-ésima e a j-ésima colunas
de P equivale a trocar a s(i)-ésima e a s(j)-ésima linhas de P, logo o
determinante de P' = [e_t(1) e_t(2) ... e_t(n)], onde t é a permutação
inversa de s, é igual ao de P. Logo s tem a mesma paridade de t. Logo ao
transpormos a matriz, o determinante não se altera (olhe para o
determinante sobre o ponto de vista de permutações).
============================================================

Ufa!

Se você quiser saber mais sobre álgebra linear e/ou determinantes, uma boa
referência é o livro "Álgebra Linear" do Elon (publicado pela SBM). Uma
abordagem mais elementar, mas também muito boa, é feita no "A Matemática
do Ensino Médio -- Volume 3", do Elon, Paulo Cezar, Morgado e José Paulo
Carneiro.

[]s,

-- 
Fábio "ctg \pi" Dias Moreira


=========================================================================
Instruções para entrar na lista, sair da lista e usar a lista em
http://www.mat.puc-rio.br/~nicolau/olimp/obm-l.html
=========================================================================