Traçando as raízes de um polinômio

Traçando as raízes de um polinômio

Quero traçar as raízes de qualquer polinômio no plano complexo.

Exemplo: Seja $P(x)=x^4-x^3-1$ dado. Quero representar graficamente no plano complexo $Oxy$ todas as quatro raízes deste polinômio.

Suponho que o Tikz possa ser uma ferramenta útil neste caso, mas não tenho experiência neste pacote.

Responder1

Quando você muda para matemática mais técnica, você deve usar o sagetexpacote, pois ele dá acesso a um CAS de código aberto chamadoSÁBIO. A documentação do CTAN éaqui. Aqui está a maneira “rápida e suja” de conseguir o que deseja.

\documentclass{article}
\usepackage{sagetex}
\begin{document}
\begin{sagesilent}
x = polygen(QQ)
f = x^4-x^3-1
root_list = f.roots(CC) 
real_roots = []
for root in root_list:
    real_roots += [root[0].n(digits=3)]
P = list_plot(real_roots,color='red',size=25)
\end{sagesilent}
The roots of the polynomial $\sage{f}$ plotted in the complex plane
\begin{center}
\sageplot[scale=.8]{P}
\end{center}
The roots of $\sage{f}$ are $\sage{real_roots}$.
\end{document}

Aqui está a saída: insira a descrição da imagem aqui Não conheço os meandros do código, apenas hackeei alguns códigos referindo-me aesseeessepara descobrir o código. Acho que x = polygen(QQ)vou deixar você encontrar raízes de polinômios com coeficientes racionais e f.roots(CC)dizer ao Sage para encontrar quaisquer raízes complexas. Como o SAGE é um CAS, esses números podem ser objetos como sqrt(2) e queremos forçá-los a decimais que possam ser plotados. Isso é conseguido por for root in root_list: real_roots += [root[0].n(digits=3)]. O gráfico real é armazenado em uma variável, P, onde P = list_plot(real_roots,color='red',size=25)cor e tamanho se referem aos pontos que são inicialmente pequenos demais para serem vistos facilmente. Tudo isso é feito no sagesilentmodo, que é como um rascunho que não entra no documento. No código LaTeX, use \sage{}para obter números/cálculos e \sageplot{}para obter os gráficos que são feitos no SAGE. Fazer os gráficos por meio do sage ajuda a encurtar o código e, como um CAS está fazendo as contas, você pode alterar a função (lembre-se de que precisa de multiplicação entre coeficientes e variáveis) e o SAGE analisará o resultado. Você pode, com um pouco mais de codificação, fazer com que o gráfico tenha uma aparência mais bonita. tikzVocê pode consultar como eu fiz isso para a função Zetaaqui. Isso exigirá algumas linhas extras. Observe que no meu código, o SAGE também conseguiu fornecer os 4 zeros por \sage{real_roots}. Ter um CAS fazendo o trabalho evita erros.

SAGE não faz parte da distribuição LaTeX; a melhor forma de acessá-lo é através de uma conta Cocalc gratuita clicandoaqui.

Responder2

TikZ não é um sistema de álgebra computacional. É claro que você mesmo pode calcular as raízes e plotá-las usando coordenadas polares. (Em princípio você poderia até deixar TikZ resolve numericamente as equações que determinam as raízes, mas isso seria um pouco maluco.)

\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{amsmath}
\DeclareMathOperator{\re}{Re}
\DeclareMathOperator{\im}{Im}
\begin{document}
\begin{tikzpicture}[scale=4]
 \draw[-latex] (-1.5,0) -- (1.75,0) node[below left] {$\re z$};
 \draw[-latex] (0,-1.5) -- (0,1.5) node[below right] {$\im z$};
 \draw (1,0.05) -- (1,-0.05) node[below]{1};
 \draw (0.05,1) -- (-0.05,1) node[left]{i};
 \foreach \X/\Y in {-76.5/0.94,76.5/0.94,180/0.82,0/1.38}
  {\fill (\X:\Y) circle[radius=1pt];}
\end{tikzpicture}
\end{document}

insira a descrição da imagem aqui

Responder3

Da próxima vez, você deve postar um exemplo prático mínimo para atrair mais usuários para sua postagem. De qualquer forma, você é um novo usuário, então esta resposta é para lhe dar as boas-vindas ao TeX.SE!


Em primeiro lugar, não creio que tenha mais do que duas raízes reais.

Você pode plotar isso facilmente com TikZ:

\documentclass[tikz]{standalone}
\usetikzlibrary{intersections}
\begin{document}
\begin{tikzpicture}[>=stealth,scale=2]
\draw[->] (0,-2.5)--(0,2.5) node[left] {$y$};
\draw[->,name path=ox] (-2.5,0)--(2.5,0) node[above]{$x$};
\draw (0,0) node[below left] {$O$};
\foreach \i in {-2,-1,1,2} {
    \draw (-.05,\i)--(.05,\i);
    \draw (0,\i) node[left] {$\i$};
    \draw (\i,-.05)--(\i,.05);
    \draw (\i,0) node[below] {$\i$};
}
\draw[red,name path=pl] plot[smooth,samples=500,domain=-1.1:1.6] (\x,{\x*\x*\x*\x-\x*\x*\x-1});
\path[name intersections={of=ox and pl,by={i1,i2}}];
\fill (i1) circle (1pt) node[above right] {$A$};
\fill (i2) circle (1pt) node[below right] {$B$};
\end{tikzpicture}
\end{document}

insira a descrição da imagem aqui

Agora, quando você tiver as interseções, poderá ter suas coordenadas:

\documentclass[tikz]{standalone}
\usetikzlibrary{intersections}
\newdimen\xa 
\newdimen\xb 
\newdimen\ya 
\newdimen\yb
\makeatletter
\def\convertto#1#2{\strip@pt\dimexpr #2*65536/\number\dimexpr 1#1}
\makeatother
% https://tex.stackexchange.com/a/239496/156344
\begin{document}
\begin{tikzpicture}[>=stealth,scale=2]
\draw[->] (0,-2.5)--(0,2.5) node[left] {$y$};
\draw[->,name path=ox] (-2.5,0)--(2.5,0) node[above]{$x$};
\draw (0,0) node[below left] {$O$};
\foreach \i in {-2,-1,1,2} {
    \draw (-.05,\i)--(.05,\i);
    \draw (0,\i) node[left] {$\i$};
    \draw (\i,-.05)--(\i,.05);
    \draw (\i,0) node[below] {$\i$};
}
\draw[red,name path=pl] plot[smooth,samples=500,domain=-1.1:1.6] (\x,{\x*\x*\x*\x-\x*\x*\x-1});
\path[name intersections={of=ox and pl,by={i1,i2}}];
\fill (i1) circle (1pt) node[above right] {$A$};
\path (i1); \pgfgetlastxy{\xa}{\ya}
\fill (i2) circle (1pt) node[below right] {$B$};
\path (i2); \pgfgetlastxy{\xb}{\yb} 
\draw (0,-3) node[text width=10cm,align=left] {%
There are two roots:\\
$A$ at $({\convertto{cm}{\xa}*2}, 0)$ and $B$ at $({\convertto{cm}{\xb}*2}, 0)$.};
\end{tikzpicture}
\end{document}

insira a descrição da imagem aqui

Claro que você pode usar sempre \xae \xbonde quiser ;-)


Como disse a marmota, TikZ não é uma calculadora. Só pode nos ajudar a encontrar as raízes reais usando interseções. E não acho que seja fácil fazer isso com qualquer ferramenta LaTeX além de encontrar você mesmo as raízes.

informação relacionada