Em matemática, a forma normal de Smith (às vezes abreviada como SNF) é uma forma normal que pode ser definida para qualquer matriz (não necessariamente quadrada) com entradas em um domínio de ideais principais (DIP). A forma normal de Smith de uma matriz é diagonal e pode ser obtida da matriz original multiplicando à esquerda e à direita por matrizes invertíveis quadradas. Em particular, os inteiros são um DIP, então pode-se sempre calcular a forma normal de Smith de uma matriz de inteiros. A forma normal de Smith é muito útil para trabalhar com módulos finitamente gerados sobre um DIP e, em particular, para deduzir a estrutura de um quociente de um módulo livre. Recebe o nome do matemático irlandês Henry John Stephen Smith.
Seja uma matriz não nula sobre um domínio de ideais principais . Existem matrizes invertíveis e (com entradas em , e unidades em ) tais que o produto é
e os elementos diagonais satisfazem para todo . Esta é a forma normal de Smith da matriz . Os elementos são únicos a menos de multiplicação por uma unidade e são chamados de divisores elementares, invariantes ou fatores invariantes. Eles podem ser calculados (a menos de multiplicação por uma unidade) como
onde (chamado i-ésimo divisor determinantal) é igual ao máximo divisor comum dos determinantes de todos os menores da matriz e .
Exemplo : Para uma matriz , com e .
O primeiro objetivo é encontrar matrizes quadradas invertíveis e tais que o produto seja diagonal. Esta é a parte mais difícil do algoritmo. Uma vez alcançada a diagonalidade, torna-se relativamente fácil colocar a matriz na forma normal de Smith. Colocando de forma mais abstrata, o objetivo é mostrar que, pensando em como um mapa de (o -módulo livre de posto ) para (o -módulo livre de posto ), existem isomorfismos e tais que tem a forma simples de uma matriz diagonal. As matrizes e podem ser encontradas começando com matrizes identidade do tamanho apropriado e modificando cada vez que uma operação de linha é realizada sobre no algoritmo pela operação de coluna correspondente (por exemplo, se a linha é somada à linha de , então a coluna deve ser subtraída da coluna de para manter o produto invariante), e similarmente modificando para cada operação de coluna realizada. Como as operações de linha são multiplicações à esquerda e as operações de coluna são multiplicações à direita, isso preserva o invariante onde denotam os valores atuais e denota a matriz original; eventualmente as matrizes neste invariante se tornam diagonais. Apenas operações de linha e coluna invertíveis são realizadas, o que garante que e permaneçam matrizes invertíveis.
Para , escreva para o número de fatores primos de (estes existem e são únicos, pois qualquer DIP é também um domínio de fatoração única). Em particular, é também um domínio de Bézout, então é um domínio de MDC e o mdc de quaisquer dois elementos satisfaz uma identidade de Bézout para alguns .
Para colocar uma matriz na forma normal de Smith, pode-se aplicar repetidamente o seguinte, onde o índice varia de 1 a .
Escolha como o menor índice de coluna de com uma entrada não nula, começando a busca no índice de coluna se .
Desejamos ter ; se este for o caso, este passo está completo; caso contrário, há por hipótese algum com , e podemos trocar as linhas e , obtendo assim .
Nosso pivô escolhido está agora na posição .
Se há uma entrada na posição (k,jt) tal que , então, fazendo , sabemos pela propriedade de Bézout que existem σ, τ em R tais que
Por multiplicação à esquerda com uma matriz invertível apropriada L, pode-se conseguir que a linha t do produto matricial seja a soma de σ vezes a linha t original e τ vezes a linha k original, que a linha k do produto seja outra combinação linear dessas linhas originais e que todas as outras linhas permaneçam inalteradas. Explicitamente, se σ e τ satisfazem a equação acima, então para e (cujas divisões são possíveis pela definição de β) tem-se
de modo que a matriz
é invertível, com inversa
Agora L pode ser obtida encaixando nas linhas e colunas t e k da matriz identidade. Por construção, a matriz obtida após multiplicação à esquerda por L tem entrada β na posição (t,jt) (e, devido à nossa escolha de α e γ, também tem uma entrada 0 na posição (k,jt), o que é útil embora não essencial para o algoritmo). Esta nova entrada β divide a entrada que estava lá antes, e assim em particular ; portanto, repetir estes passos deve eventualmente terminar. Termina-se com uma matriz tendo uma entrada na posição (t,jt) que divide todas as entradas na coluna jt.
Finalmente, somando múltiplos apropriados da linha t, pode-se conseguir que todas as entradas na coluna jt, exceto a da posição (t,jt), sejam zero. Isso pode ser alcançado por multiplicação à esquerda com uma matriz apropriada. No entanto, para tornar a matriz totalmente diagonal, precisamos também eliminar entradas não nulas na linha da posição (t,jt). Isso pode ser alcançado repetindo os passos do Passo II para colunas em vez de linhas, e usando multiplicação à direita pela transposta da matriz L obtida. Em geral, isso fará com que as entradas zero da aplicação anterior do Passo III se tornem não nulas novamente.
No entanto, observe que cada aplicação do Passo II para linhas ou colunas deve continuar a reduzir o valor de , e assim o processo deve eventualmente parar após algum número de iterações, levando a uma matriz onde a entrada na posição (t,jt) é a única entrada não nula tanto em sua linha quanto em sua coluna.
Neste ponto, apenas o bloco de A abaixo e à direita de (t,jt) precisa ser diagonalizado, e conceitualmente o algoritmo pode ser aplicado recursivamente, tratando este bloco como uma matriz separada. Em outras palavras, podemos incrementar t em um e voltar ao Passo I.
Aplicando os passos descritos acima às colunas não nulas restantes da matriz resultante (se houver), obtemos uma matriz com índices de coluna onde . As entradas da matriz são não nulas, e todas as outras entradas são zero.
Agora podemos mover as colunas nulas desta matriz para a direita, de modo que as entradas não nulas fiquem nas posições para . Abreviadamente, defina como o elemento na posição .
A condição de divisibilidade das entradas diagonais pode não ser satisfeita. Para qualquer índice para o qual , pode-se corrigir essa deficiência por operações apenas nas linhas e colunas e : primeiro some a coluna à coluna para obter uma entrada na coluna i sem perturbar a entrada na posição , e então aplique uma operação de linha para tornar a entrada na posição igual a como no Passo II; finalmente proceda como no Passo III para tornar a matriz diagonal novamente. Como a nova entrada na posição é uma combinação linear dos originais, ela é divisível por β.
O valor não muda pela operação acima (é δ do determinante da submatriz superior ), de modo que essa operação diminui (movendo fatores primos para a direita) o valor de
Assim, após um número finito de aplicações desta operação, nenhuma aplicação adicional é possível, o que significa que obtivemos como desejado.
Como todas as manipulações de linha e coluna envolvidas no processo são invertíveis, isso mostra que existem matrizes invertíveis e S, T tais que o produto S A T satisfaz a definição de uma forma normal de Smith. Em particular, isso mostra que a forma normal de Smith existe, o que foi assumido sem prova na definição.
A forma normal de Smith é útil para calcular a homologia de um complexo de cadeias quando os módulos de cadeia do complexo de cadeias são finitamente gerados. Por exemplo, em topologia, pode ser usada para calcular a homologia de um complexo simplicial finito ou complexo CW sobre os inteiros, porque os mapas de fronteira em tal complexo são apenas matrizes de inteiros. Também pode ser usada para determinar os fatores invariantes que ocorrem no teorema da estrutura para módulos finitamente gerados sobre um domínio de ideais principais, que inclui o teorema fundamental dos grupos abelianos finitamente gerados.
A forma normal de Smith também é usada em teoria de controle para calcular zeros de transmissão e bloqueio de uma matriz de função de transferência.
Como exemplo, encontraremos a forma normal de Smith da seguinte matriz sobre os inteiros.
As seguintes matrizes são os passos intermediários à medida que o algoritmo é aplicado à matriz acima.
Portanto, a forma normal de Smith é
e os fatores invariantes são 2, 2 e 156.
A forma normal de Smith de uma matriz N-por-N A pode ser calculada em tempo . Se a matriz for esparsa, o cálculo é tipicamente muito mais rápido.
A forma normal de Smith pode ser usada para determinar se matrizes com entradas sobre um corpo comum são semelhantes. Especificamente, duas matrizes A e B são semelhantes se e somente se as matrizes características e têm a mesma forma normal de Smith (trabalhando no DIP ).
Por exemplo, com
A e B são semelhantes porque as formas normais de Smith de suas matrizes características coincidem, mas não são semelhantes a C porque as formas normais de Smith das matrizes características não coincidem.