  Complexity bounds for many problems on matrices with univariate polynomial
entries have been improved in the last few years. Still, for most related
algorithms, efficient implementations are not available, which leaves open the
question of the practical impact of these algorithms, e.g. on applications such
as decoding some error-correcting codes and solving polynomial systems or
structured linear systems. In this paper, we discuss implementation aspects for
most fundamental operations: multiplication, truncated inversion, approximants,
interpolants, kernels, linear system solving, determinant, and basis reduction.
We focus on prime fields with a word-size modulus, relying on Shoup's C++
library NTL. Combining these new tools to implement variants of Villard's
algorithm for the resultant of generic bivariate polynomials (ISSAC 2018), we
get better performance than the state of the art for large parameters.
