Say one can add and multiply two algebraic numbers. Let there be an (real) algebraic number $A$, defined by a integer polynomial $\mathbb Z[x]$ a two rational endpoints which bracket the given root. Then, let there be another polynomial $p$, also in $\mathbb Z[x]$.
How does one compute the value of $p(A)$? I mean the procedure, does one employ Horner's scheme (multiplication and addition)? I'm asking because in general the degree of an algebraic number (i.e. of the defining polynomial) resulting from addition or multiplication grows quickly (I think it is degree(first number) $\times$ degree(second number) so perhaps using Horner's scheme grows the underlying polynomial too quickly? Or is it possible to factor the intermediate polynomial after each addition and multiplication?
In any case, are there other means than Horner's scheme find the polynomial value at a given algebraic point?
PS: Is it any simpler if one only needs to check whether the value is zero? What algorithm one uses in such case?
Thank you!
Edit: By "evaluating" $p(A)$ I mean to substitute $x$ in $p(x)$ by $A$.
PPS: when $p$ is integer polynomial of degree $m$ and the minimal polynomial of $A$ has degree $n$, what is the degree of the minimal polynomial of $p(A)$? Is it possible to bound its degree solely by $m$ and $n$?