Em matemática (álgebra linear), o algoritmo de Faddeev–LeVerrier é um método recursivo para calcular os coeficientes do polinômio característico

p

A

( λ ) = det ( λ

I

n

− A )

{\displaystyle p_{A}(\lambda )=\det(\lambda I_{n}-A)}

de uma matriz quadrada A, com o nome de Dmitry Konstantinovich Faddeev e Urbain Le Verrier. O cálculo deste polinômio produz os autovalores de A como suas raízes; como um polinômio matricial na própria matriz A, ele se anula pelo teorema de Cayley–Hamilton. Calcular o polinômio característico diretamente a partir da definição do determinante é computacionalmente trabalhoso na medida em que introduz uma nova quantidade simbólica

λ

{\displaystyle \lambda }

; em contraste, o algoritmo de Faddeev–LeVerrier trabalha diretamente com coeficientes da matriz

A

{\displaystyle A}

. O algoritmo foi redescoberto independentemente várias vezes em diferentes formas. Foi publicado pela primeira vez em 1840 por Urbain Le Verrier, posteriormente redesenvolvido por P. Horst, Jean-Marie Souriau, na sua forma atual aqui por Faddeev e Sominsky, e ainda por J. S. Frame, e outros. (Para pontos históricos, veja Householder. Um atalho elegante para a prova, contornando polinômios de Newton, foi introduzido por Hou. A maior parte da apresentação aqui segue Gantmacher, p. 88.)

O algoritmo O objetivo é calcular os coeficientes ck do polinômio característico da matriz n×n A,

p

A

( λ ) ≡ det ( λ

I

n

− A ) =

∑

k = 0

n

c

k

λ

k

,

{\displaystyle p_{A}(\lambda )\equiv \det(\lambda I_{n}-A)=\sum _{k=0}^{n}c_{k}\lambda ^{k}~,}

onde, evidentemente, cn = 1 (polinômios característicos são polinômios mônicos) e c0 = (−1)n det A. Os coeficientes cn − i são determinados por indução em i, usando uma sequência auxiliar de matrizes

M

0

≡ 0

c

n

= 1

( k = 0 )

M

k

≡ A

M

k − 1

+

c

n − k + 1

I

c

n − k

= −

1 k

t r

( A

M

k

)

k = 1 , ... , n

.

{\displaystyle {\begin{aligned}M_{0}&\equiv 0&c_{n}&=1\qquad &(k=0)\\M_{k}&\equiv AM_{k-1}+c_{n-k+1}I\qquad \qquad &c_{n-k}&=-{\frac {1}{k}}\mathrm {tr} (AM_{k})\qquad &k=1,\ldots ,n~.\end{aligned}}}

Assim,

M

1

= I

,

c

n − 1

= −

t r

A = −

c

n

t r

A ;

{\displaystyle M_{1}=I~,\quad c_{n-1}=-\mathrm {tr} A=-c_{n}\mathrm {tr} A;}

M

2

= A − I

t r

A ,

c

n − 2

= −

1 2

(

t r

A

2

− (

t r

A

)

2

)

= −

1 2

(

c

n

t r

A

2

+

c

n − 1

t r

A ) ;

{\displaystyle M_{2}=A-I\mathrm {tr} A,\quad c_{n-2}=-{\frac {1}{2}}{\Bigl (}\mathrm {tr} A^{2}-(\mathrm {tr} A)^{2}{\Bigr )}=-{\frac {1}{2}}(c_{n}\mathrm {tr} A^{2}+c_{n-1}\mathrm {tr} A);}

M

3

=

A

2

− A

t r

A −

1 2

(

t r

A

2

− (

t r

A

)

2

)

I ,

{\displaystyle M_{3}=A^{2}-A\mathrm {tr} A-{\frac {1}{2}}{\Bigl (}\mathrm {tr} A^{2}-(\mathrm {tr} A)^{2}{\Bigr )}I,}

c

n − 3

= −

1 6

(

( tr ⁡ A

)

3

− 3 tr ⁡ (

A

2

) ( tr ⁡ A ) + 2 tr ⁡ (

A

3

)

)

= −

1 3

(

c

n

t r

A

3

+

c

n − 1

t r

A

2

+

c

n − 2

t r

A ) ;

{\displaystyle c_{n-3}=-{\tfrac {1}{6}}{\Bigl (}(\operatorname {tr} A)^{3}-3\operatorname {tr} (A^{2})(\operatorname {tr} A)+2\operatorname {tr} (A^{3}){\Bigr )}=-{\frac {1}{3}}(c_{n}\mathrm {tr} A^{3}+c_{n-1}\mathrm {tr} A^{2}+c_{n-2}\mathrm {tr} A);}

etc., ...;

M

m

=

∑

k = 1

m

c

n − m + k

A

k − 1

,

{\displaystyle M_{m}=\sum _{k=1}^{m}c_{n-m+k}A^{k-1}~,}

c

n − m

= −

1 m

(

c

n

t r

A

m

+

c

n − 1

t r

A

m − 1

+ . . . +

c

n − m + 1

t r

A ) = −

1 m

∑

k = 1

m

c

n − m + k

t r

A

k

; . . .

{\displaystyle c_{n-m}=-{\frac {1}{m}}(c_{n}\mathrm {tr} A^{m}+c_{n-1}\mathrm {tr} A^{m-1}+...+c_{n-m+1}\mathrm {tr} A)=-{\frac {1}{m}}\sum _{k=1}^{m}c_{n-m+k}\mathrm {tr} A^{k}~;...}

Observe que A−1 = − Mn /c0 = (−1)n−1Mn/detA termina a recursão em λ. Isso pode ser usado para obter a inversa ou o determinante de A.

Derivação A prova baseia-se nos modos da matriz adjunta, Bk ≡ Mn−k, as matrizes auxiliares encontradas. Esta matriz é definida por

( λ I − A ) B = I

p

A

( λ )

{\displaystyle (\lambda I-A)B=I~p_{A}(\lambda )}

e é, portanto, proporcional à resolvente

B = ( λ I − A

)

− 1

I

p

A

( λ )

.

{\displaystyle B=(\lambda I-A)^{-1}I~p_{A}(\lambda )~.}

É evidentemente um polinômio matricial em λ de grau n−1. Portanto,

B ≡

∑

k = 0

n − 1

λ

k

B

k

=

∑

k = 0

n

λ

k

M

n − k

,

{\displaystyle B\equiv \sum _{k=0}^{n-1}\lambda ^{k}~B_{k}=\sum _{k=0}^{n}\lambda ^{k}~M_{n-k},}

onde se pode definir o inofensivo M0≡0. Inserindo as formas polinomiais explícitas na equação de definição da adjunta, acima,

∑

k = 0

n

λ

k + 1

M

n − k

−

λ

k

( A

M

n − k

+

c

k

I ) = 0

.

{\displaystyle \sum _{k=0}^{n}\lambda ^{k+1}M_{n-k}-\lambda ^{k}(AM_{n-k}+c_{k}I)=0~.}

Agora, na ordem mais alta, o primeiro termo se anula por M0=0; enquanto na ordem mais baixa (constante em λ, da equação de definição da adjunta, acima),

M

n

A =

B

0

A =

c

0

,

{\displaystyle M_{n}A=B_{0}A=c_{0}~,}

de modo que deslocando os índices fictícios do primeiro termo obtém-se

∑

k = 1

n

λ

k

(

M

1 + n − k

− A

M

n − k

+

c

k

I

)

= 0

,

{\displaystyle \sum _{k=1}^{n}\lambda ^{k}{\Big (}M_{1+n-k}-AM_{n-k}+c_{k}I{\Big )}=0~,}

o que dita a recursão

∴

M

m

= A

M

m − 1

+

c

n − m + 1

I

,

{\displaystyle \therefore \qquad M_{m}=AM_{m-1}+c_{n-m+1}I~,}

para m=1,...,n. Observe que o índice ascendente equivale a descer nas potências de λ, mas os coeficientes polinomiais c ainda precisam ser determinados em termos dos Ms e A. Isso pode ser alcançado mais facilmente através da seguinte equação auxiliar (Hou, 1998),

λ

∂

p

A

( λ )

∂ λ

− n p = tr ⁡ A B

.

{\displaystyle \lambda {\frac {\partial p_{A}(\lambda )}{\partial \lambda }}-np=\operatorname {tr} AB~.}

Esta é apenas o traço da equação de definição para B em virtude da fórmula de Jacobi,

∂

p

A

( λ )

∂ λ

=

p

A

( λ )

∑

m = 0

∞

λ

− ( m + 1 )

tr ⁡

A

m

=

p

A

( λ )

tr ⁡

I

λ I − A

≡ tr ⁡ B

.

{\displaystyle {\frac {\partial p_{A}(\lambda )}{\partial \lambda }}=p_{A}(\lambda )\sum _{m=0}^{\infty }\lambda ^{-(m+1)}\operatorname {tr} A^{m}=p_{A}(\lambda )~\operatorname {tr} {\frac {I}{\lambda I-A}}\equiv \operatorname {tr} B~.}

Inserindo as formas polinomiais dos modos nesta equação auxiliar obtém-se

∑

k = 1

n

λ

k

(

k

c

k

− n

c

k

− tr ⁡ A

M

n − k

)

= 0

,

{\displaystyle \sum _{k=1}^{n}\lambda ^{k}{\Big (}kc_{k}-nc_{k}-\operatorname {tr} AM_{n-k}{\Big )}=0~,}

de modo que

∑

m = 1

n − 1

λ

n − m

(

m

c

n − m

+ tr ⁡ A

M

m

)

= 0

,

{\displaystyle \sum _{m=1}^{n-1}\lambda ^{n-m}{\Big (}mc_{n-m}+\operatorname {tr} AM_{m}{\Big )}=0~,}

e finalmente

∴

c

n − m

= −

1 m

tr ⁡ A

M

m

.

{\displaystyle \therefore \qquad c_{n-m}=-{\frac {1}{m}}\operatorname {tr} AM_{m}~.}

Isso completa a recursão da seção anterior, desdobrando-se em potências decrescentes de λ. Observe ainda no algoritmo que, mais diretamente,

M

m

= A

M

m − 1

−

1

m − 1

( tr ⁡ A

M

m − 1

) I

,

{\displaystyle M_{m}=AM_{m-1}-{\frac {1}{m-1}}(\operatorname {tr} AM_{m-1})I~,}

e, em conformidade com o teorema de Cayley–Hamilton,

adj ⁡ ( A ) = ( − 1

)

n − 1

M

n

= ( − 1

)

n − 1

(

A

n − 1

+

c

n − 1

A

n − 2

+ . . . +

c

2

A +

c

1

I ) = ( − 1

)

n − 1

∑

k = 1

n

c

k

A

k − 1

.

{\displaystyle \operatorname {adj} (A)=(-1)^{n-1}M_{n}=(-1)^{n-1}(A^{n-1}+c_{n-1}A^{n-2}+...+c_{2}A+c_{1}I)=(-1)^{n-1}\sum _{k=1}^{n}c_{k}A^{k-1}~.}

A solução final pode ser mais convenientemente expressa em termos de polinômios de Bell exponenciais completos como

c

n − k

=

( − 1

)

n − k

k !

B

k

(

tr ⁡ A , − 1 !

tr ⁡

A

2

, 2 !

tr ⁡

A

3

, ... , ( − 1

)

k − 1

( k − 1 ) !

tr ⁡

A

k

)

.

{\displaystyle c_{n-k}={\frac {(-1)^{n-k}}{k!}}{\mathcal {B}}_{k}{\Bigl (}\operatorname {tr} A,-1!~\operatorname {tr} A^{2},2!~\operatorname {tr} A^{3},\ldots ,(-1)^{k-1}(k-1)!~\operatorname {tr} A^{k}{\Bigr )}.}

Exemplo

A =

[

3

1

5

3

3

1

4

6

4

]

{\displaystyle {\displaystyle A=\left[{\begin{array}{rrr}3&1&5\\3&3&1\\4&6&4\end{array}}\right]}}

M

0

=

[

0

0

0

0

0

0

0

0

0

]

c

3

=

1

M

1

=

[

1

0

0

0

1

0

0

0

1

]

A

M

1

=

[

3

1

5

3

3

1

4

6

4

]

c

2

= −

1

1

10

=

− 10

M

2

=

[

− 7

1

5

3

− 7

1

4

6

− 6

]

A

M

2

=

[

2

26

− 14

− 8

− 12

12

6

− 14

2

]

c

1

= −

1

2

( − 8 )

=

4

M

3

=

[

6

26

− 14

− 8

− 8

12

6

− 14

6

]

A

M

3

=

[

40

0

0

0

40

0

0

0

40

]

c

0

= −

1

3

120

=

− 40

{\displaystyle {\displaystyle {\begin{aligned}M_{0}&=\left[{\begin{array}{rrr}0&0&0\\0&0&0\\0&0&0\end{array}}\right]\quad &&&c_{3}&&&&&=&1\\M_{\mathbf {\color {blue}1} }&=\left[{\begin{array}{rrr}1&0&0\\0&1&0\\0&0&1\end{array}}\right]&A~M_{1}&=\left[{\begin{array}{rrr}\mathbf {\color {red}3} &1&5\\3&\mathbf {\color {red}3} &1\\4&6&\mathbf {\color {red}4} \end{array}}\right]&c_{2}&&&=-{\frac {1}{\mathbf {\color {blue}1} }}\mathbf {\color {red}10} &&=&-10\\M_{\mathbf {\color {blue}2} }&=\left[{\begin{array}{rrr}-7&1&5\\3&-7&1\\4&6&-6\end{array}}\right]\qquad &A~M_{2}&=\left[{\begin{array}{rrr}\mathbf {\color {red}2} &26&-14\\-8&\mathbf {\color {red}-12} &12\\6&-14&\mathbf {\color {red}2} \end{array}}\right]\qquad &c_{1}&&&=-{\frac {1}{\mathbf {\color {blue}2} }}\mathbf {\color {red}(-8)} &&=&4\\M_{\mathbf {\color {blue}3} }&=\left[{\begin{array}{rrr}6&26&-14\\-8&-8&12\\6&-14&6\end{array}}\right]\qquad &A~M_{3}&=\left[{\begin{array}{rrr}\mathbf {\color {red}40} &0&0\\0&\mathbf {\color {red}40} &0\\0&0&\mathbf {\color {red}40} \end{array}}\right]\qquad &c_{0}&&&=-{\frac {1}{\mathbf {\color {blue}3} }}\mathbf {\color {red}120} &&=&-40\end{aligned}}}}

Além disso,

M

4

= A

M

3

+

c

0

I = 0

{\displaystyle {\displaystyle M_{4}=A~M_{3}+c_{0}~I=0}}

, o que confirma os cálculos acima. O polinômio característico da matriz A é, portanto,

p

A

( λ ) =

λ

3

− 10

λ

2

+ 4 λ − 40

{\displaystyle {\displaystyle p_{A}(\lambda )=\lambda ^{3}-10\lambda ^{2}+4\lambda -40}}

; o determinante de A é

det ( A ) = ( − 1

)

3

c

0

= 40

{\displaystyle {\displaystyle \det(A)=(-1)^{3}c_{0}=40}}

; o traço é 10 = −c2; e a inversa de A é

A

− 1

= −

1

c

0

M

3

=

1 40

[

6

26

− 14

− 8

− 8

12

6

− 14

6

]

=

[

0

,

15

0

,

65

− 0

,

35

− 0

,

20

− 0

,

20

0

,

30

0

,

15

− 0

,

35

0

,

15

]

{\displaystyle {\displaystyle A^{-1}=-{\frac {1}{c_{0}}}~M_{3}={\frac {1}{40}}\left[{\begin{array}{rrr}6&26&-14\\-8&-8&12\\6&-14&6\end{array}}\right]=\left[{\begin{array}{rrr}0{,}15&0{,}65&-0{,}35\\-0{,}20&-0{,}20&0{,}30\\0{,}15&-0{,}35&0{,}15\end{array}}\right]}}

.

Uma expressão equivalente mas distinta Um determinante compacto de uma solução matricial m×m para a fórmula de Jacobi acima pode, alternativamente, determinar os coeficientes c,

c

n − m

=

( − 1

)

m

m !

|

tr ⁡ A

m − 1

0

⋯

0

tr ⁡

A

2

tr ⁡ A

m − 2

⋯

0

⋮

⋮

⋮

tr ⁡

A

m − 1

tr ⁡

A

m − 2

⋯

⋯

1

tr ⁡

A

m

tr ⁡

A

m − 1

⋯

⋯

tr ⁡ A

|

.

{\displaystyle c_{n-m}={\frac {(-1)^{m}}{m!}}{\begin{vmatrix}\operatorname {tr} A&m-1&0&\cdots &0\\\operatorname {tr} A^{2}&\operatorname {tr} A&m-2&\cdots &0\\\vdots &\vdots &&&\vdots \\\operatorname {tr} A^{m-1}&\operatorname {tr} A^{m-2}&\cdots &\cdots &1\\\operatorname {tr} A^{m}&\operatorname {tr} A^{m-1}&\cdots &\cdots &\operatorname {tr} A\end{vmatrix}}~.}

Ver também Polinômio característico Método de Horner Determinante de Fredholm

Referências

Bibliografia Barbaresco F. (2019) Souriau Exponential Map Algorithm for Machine Learning on Matrix Lie Groups. In: Nielsen F., Barbaresco F. (eds) Geometric Science of Information. GSI 2019. Lecture Notes in Computer Science, vol 11712. Springer, Cham. https://doi.org/10.1007/978-3-030-26980-7_10