O polinômio característico de uma matriz quadrada A é definido como o polinômio p A (x) = det ( I x- A ) onde I é a matriz de identidade e det é o determinante . Observe que essa definição sempre nos fornece um polinômio monônico, de modo que a solução é única.
Sua tarefa para esse desafio é calcular os coeficientes do polinômio característico para uma matriz com valor inteiro; para isso, você pode usar built-ins, mas isso é desencorajado.
Regras
- entrada é uma matriz inteira NxN (N ≥ 1) em qualquer formato conveniente
- seu programa / função produzirá / retornará os coeficientes em ordem crescente ou decrescente (especifique qual)
- os coeficientes são normatizados de modo que o coeficiente de x N seja 1 (consulte casos de teste)
- você não precisa lidar com entradas inválidas
Casos de teste
Os coeficientes são dados em ordem decrescente (por exemplo, x N , x N-1 , ..., x 2 , x, 1):
[0] -> [1 0]
[1] -> [1 -1]
[1 1; 0 1] -> [1 -2 1]
[80 80; 57 71] -> [1 -151 1120]
[1 2 0; 2 -3 5; 0 1 1] -> [1 1 -14 12]
[4 2 1 3; 4 -3 9 0; -1 1 0 3; 20 -4 5 20] -> [1 -21 -83 559 -1987]
[0 5 0 12 -3 -6; 6 3 7 16 4 2; 4 0 5 1 13 -2; 12 10 12 -2 1 -6; 16 13 12 -4 7 10; 6 17 0 3 3 -1] -> [1 -12 -484 3249 -7065 -836601 -44200]
[1 0 0 1 0 0 0; 1 1 0 0 1 0 1; 1 1 0 1 1 0 0; 1 1 0 1 1 0 0; 1 1 0 1 1 1 1; 1 1 1 0 1 1 1; 0 1 0 0 0 0 1] -> [1 -6 10 -6 3 -2 0 0]
[ 1.00000000e+00 -1.51000000e+02 1.12000000e+03]
, por exemplo?