Em álgebra, a divisão polinomial é um algoritmo para dividir um polinômio por outro polinômio de menor ou igual grau, ou seja, uma versão generalizada da técnica aritmética de divisão . Considerando os polinômios e , em que o grau de é maior ou igual ao grau do polinômio não nulo , existe um único par de polinômios e tal que

, ou seja, ,

sendo que, ou o grau de é menor do que o de , ou é nulo. Dividir o dividendo pelo divisor não nulo , significa obter os polinômios e . O grau do quociente é igual ao grau do dividendo menos o grau do divisor . Se o resto for zero, o polinômio tem o polinômio como fator e diz-se que é divisível por .

Como e são unicamente definidos, não dependem do método utilizado para determiná-los.

Método da chave O método da chave consiste em um algoritmo baseado na clássica divisão de Euclides para números inteiros (também conhecida como método da chave), com as devidas adequações:

.

Exemplo Encontre o quociente e o resto da divisão de (dividendo) pelo divisor .

No dividendo, todos os termos com expoentes inferiores ao maior devem ser escritos explicitamente, mesmo que os seus coeficientes sejam zero:

O quociente e o resto podem ser determinados como segue:

1. Divide-se o primeiro termo do dividendo pelo termo de maior grau do divisor (aquele com a maior potência de ) e insere-se o resultado () abaixo do divisor:

2. Multiplica-se o divisor pelo resultado obtido (o primeiro termo de eventual quociente) e escreve-se o resultado () sob o dividendo:

3. Subtrai-se o produto recém obtido do dividendo e escreve-se o resultado () embaixo:

4. Repete-se as três etapas anteriores, com a observação que desta vez o polinômio que acaba de ser escrito é usado como dividendo:

5. Repete-se a etapa 4 até que o polinômio resultado da subtração fique com grau menor do que o grau do divisor. Tal polinômio é o resto da divisão, sendo neste exemplo obtido no passo seguinte:

Finalizado o processo, pode-se escrever:

.

Método dos coeficientes a determinar O método dos coeficientes a determinar, também chamado de método de Descartes, consiste em encontrar os coeficientes dos polinômios e pela relação

de acordo com o grau que tais polinômios podem apresentar. Usam-se os fatos de que o grau do quociente é igual à subtração dos graus de e e de que o grau do resto é menor do que o grau de (ou igual no caso em que tem grau .

Exemplo Encontre o quociente e o resto da divisão de (dividendo) pelo divisor .

Nota-se, inicialmente, que os graus de e são, respectivamente, e , de modo que o grau de é , ou seja, , com . Ainda, como o grau do resto é menor do que o grau de , tem grau zero, ou seja, . Substituindo em

obtém-se:

o que conduz ao seguinte sistema linear

,

o qual fornece , e . Assim, e . Ou seja, .

Divisões por polinômios do tipo Ao dividir um polinômio qualquer por um de grau 1 do tipo , pode ser utilizado o Teorema do resto, o Teorema de D’Alembert e o Teorema do fator.

O Teorema do resto garante o resto de uma divisão de um polinômio qualquer por um polinômio do tipo , com , é igual a , ou seja, . Já o Teorema de D’Alembert afirma que para que um polinômio seja divisível por é necessário e suficiente que seja raiz de , ou seja, que .

O Teorema do fator diz que se é uma raiz de , com grau maior que zero, então o polinômio é um fator de . Assim, é divisível por e por , com , se, e somente se, for divisível por .

Com o disposto acima, para realizar a divisão de um polinômio por um polinômio do tipo podemos utilizar o dispositivo ou algoritmo de Briot-Ruffini.

Exemplo de código fonte Neste exemplo, criamos dois objetos da classe PolynomialFunction, um representando o polinômio P(x) = x^4 + 2x^3 - 5x^2 + 4x + 3 e outro representando o polinômio Q(x) = x^2 + x - 2. Em seguida, utilizamos o método polynomialDivision da classe PolynomialFunction para realizar a divisão polinomial de P(x) por Q(x). O método retorna um array com dois objetos PolynomialFunction, o primeiro representando o quociente da divisão e o segundo representando o resto.import org.apache.commons.math3.analysis.polynomials.PolynomialFunction; import org.apache.commons.math3.analysis.polynomials.PolynomialFunctionNewtonForm; import org.apache.commons.math3.analysis.polynomials.PolynomialFunctionLagrangeForm; import org.apache.commons.math3.analysis.polynomials.PolynomialFunctionNewtonForm.NevilleInterpolator;

public class PolynomialDivisionExample {

public static void main(String[] args) { // Criando o polinômio P(x) = x^4 + 2x^3 - 5x^2 + 4x + 3 PolynomialFunction p = new PolynomialFunction(new double[] {3, 4, -5, 2, 1});

// Criando o polinômio Q(x) = x^2 + x - 2 PolynomialFunction q = new PolynomialFunction(new double[] {-2, 1, 1});

// Realizando a divisão polinomial P(x) / Q(x) PolynomialFunction[] result = p.polynomialDivision(q); PolynomialFunction quotient = result; // Quociente PolynomialFunction remainder = result; // Resto

// Exibindo o resultado da divisão polinomial System.out.println("Quociente: " + quotient); System.out.println("Resto: " + remainder);

Ver também Algoritmo de Briot-Ruffini Teorema fundamental da álgebra Teorema do resto

Categoria:Algoritmos Categoria:Polinómios Categoria:Álgebra computacional