Equação do terceiro grau: solução por meio de Python

math

Prof. Doherty Andrade –www.metodosnumericos.com.br

  1. Introdução

Vamos tomar como padrão a equação cúbica
$$x^3+ax^2+bx+c=0,$$
com coeficientes \(a,b,c\) reais ou complexos.
Tomemos $$Q= \frac{a^2-3b}{9}$$
e $$R= \frac{2a^3-9ab+27c}{54}.$$

Se \(Q\) e \(R\) são reais (isso é sempre verdade quando \(a,b,c\) são reais) e \(R^2<Q^3\), então a equação cúbica tem três raízes reais.

Determina-se estas raízes calculando
$$\theta = \arccos\left(\frac{R}{\sqrt{Q^3}}\right)$$
e as três raízes:
$$x_1= -2\sqrt{Q}\cos\left(\frac{\theta}{3}\right)- \frac{a}{3},$$
$$x_2= -2\sqrt{Q}\cos\left(\frac{\theta+2\pi}{3}\right)- \frac{a}{3},$$
$$x_3= -2\sqrt{Q}\cos\left(\frac{\theta-2\pi}{3}\right)- \frac{a}{3}.$$
Isso apareceu pela primeira vez no trabalho de François Viète de 1615.

Caso contrário, calcule
$$ A= -\left[ R + \sqrt{R^2-Q^3} \right]^{\frac{1}{3}}$$
onde o sinal da raiz quadrada é escolhido para termos
$$\Re\left[ \overline{R } \sqrt{R^2-Q^3} \right] \geq 0.$$

Se \(Q\) e \(R\) são ambos reais, então \(A\) e a parte real acima são equivalentes a
$$A= -\mbox{sgn}(R)\left[ \vert R \vert + \sqrt{R^2-Q^3} \right]^{\frac{1}{3}}$$
onde a raiz quadrada positiva é assumida.

A seguir calcule
$$B= \begin{cases}\frac{Q}{A}, \mbox{ se } A\neq 0 \cr
0, \mbox{ se } A= 0.\end{cases}$$

Assim, as três raízes são dadas em termos de \(A\) e de \(B\):

$$x_1= \left( A + B\right)- \frac{a}{3}$$

$$x_2= -\frac{1}{2}\left( A + B\right)- \frac{a}{3}+i\frac{\sqrt{3}}{2}\left(A – B\right)$$

$$x_3= -\frac{1}{2}\left( A + B\right)- \frac{a}{3} – i\frac{\sqrt{3}}{2}\left(A – B\right)$$

2. Código Python

Clique aqui para ver o arquivo em Python com o algoritmo que determina as raízes da equação do terceiro grau.

Tags :

Compartilhe:

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *