A aplicação de linha de comando aceita coeficientes polinomiais e um parâmetro de precisão, calculando os zeros reais do polinômio.
O aplicativo foi criado para resolver o problema de calcular as raízes reais de um determinado polinômio de uma maneira única.
A aplicação de linha de comando aceita coeficientes polinomiais e um parâmetro de precisão, calculando os zeros reais do polinômio.
Aplicação Java de linha de comando.
O conceito deste algoritmo envolve as seguintes etapas:
No entanto, há um catch-22: primeiro devemos calcular os zeros da função derivada para definir os zeros do próprio polinômio!
Solução: Aplicamos recursão até chegarmos a um polinômio que permite o cálculo fácil de seus zeros. Este processo pode ser repetido até que derivemos uma função afim
Desvantagens:
Para graus realistas encontrados na vida real, não deve haver nenhum problema
O algoritmo foi projetado sem assumir quaisquer dados de ponto flutuante, utilizando genéricos Java.
O aplicativo suporta o uso de Double ou BigDecimal, mas uma versão Float poderia facilmente ser implementada
É uma prova de conceito. Programá-lo apenas para BigDecimal teria sido suficiente, mas o uso de genéricos torna os algoritmos mais frios e mais ilustrativos para iniciantes
Ainda não testei extensivamente o aplicativo, e há uma possibilidade de que ele possa ser ajustado para melhorar a precisão e a funcionalidade em mais cenários. No entanto, acredito que o código tenha um grande potencial.
Eu acho que ele pode ser efetivamente ajustado para funcionar em todos os cenários.
As calculadoras de raiz polinomiais são um grampo no campo das carreiras de ciência da computação.
Contribuo com a minha versão da solução para o problema.
Não é uma solução muito eficiente, uma vez que a complexidade computacional no pior caso é O(G2), onde G representa o grau polinomial
No entanto, acho que o trabalho é feito de forma eficaz
O algoritmo é baseado no cálculo das raízes de um polinômio, assumindo que as raízes de sua função derivada são conhecidas.
Sob essa suposição, é simples calcular as raízes porque podemos determinar o limite de alcance das raízes.(Ver:Propriedades das raízes polinomiais)
Desta forma, podemos determinar o alcance de cada raiz potencial usando as raízes da função derivada, e podemos calcular os zeros aplicando o teorema de Bolzano.
Mas... precisamos da função para calcular as raízes da função derivada!
Não há problema. Usamos recursão para calcular as raízes de um polinômio. A função recursiva tem um caso de terminação para o cenário de um polinômio de grau zero (uma constante), que assumimos não tem raízes.
Uma vez que a função derivada tem um grau menor do que o polinômio original, usando recursão, podemos calcular as raízes de um polinômio em zero graus, tornando-se um problema simples de resolver.
Essa maneira de proceder pode exigir precisão em nossos cálculos, mas isso não é um problema se usarmos a classe Java BigDecimal.