_gr_mat_charpoly_danilevsky_inplace, _gr_mat_charpoly_danilevsky, gr_mat_charpoly_danilevsky, _gr_mat_charpoly_gauss, gr_mat_charpoly_gauss, _gr_mat_charpoly_householder, gr_mat_charpoly_householder
#include <flint/gr_mat.h>The characteristic polynomial with O(n^3) operations, by Danilevsky's reduction to a block companion (Frobenius) form [Dan1937], or by reduction to Hessenberg form with Gaussian elimination or with Householder reflections followed by gr_mat_charpoly_from_hessenberg. The inplace version overwrites its input.
These algorithms divide and test for zero, so they need a field; the Householder version also needs square roots and complex conjugation. They return GR_DOMAIN or GR_UNABLE when a division or square root is impossible or a zero test cannot be decided.
References#
- [Dan1937] A. M. Danilevsky, "On the numerical solution of the secular equation" (in Russian), Matematicheskii Sbornik 2(44):1 (1937), 169-171
The FLINT team, “_gr_mat_charpoly_danilevsky_inplace, _gr_mat_charpoly_danilevsky, gr_mat_charpoly_danilevsky, _gr_mat_charpoly_gauss, gr_mat_charpoly_gauss, _gr_mat_charpoly_householder, gr_mat_charpoly_householder (gr_mat.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/gr_mat/_gr_mat_charpoly_danilevsky_inplace.html (generated 2026-10-20).
@misc{flint-doc-gr-mat-gr-mat-charpoly-danilevsky-inplace,
author = {{The FLINT team}},
title = {{\_gr\_mat\_charpoly\_danilevsky\_inplace, \_gr\_mat\_charpoly\_danilevsky, gr\_mat\_charpoly\_danilevsky, \_gr\_mat\_charpoly\_gauss, gr\_mat\_charpoly\_gauss, \_gr\_mat\_charpoly\_householder, gr\_mat\_charpoly\_householder (gr\_mat.h)}},
howpublished = {FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev},
year = {2026},
url = {https://flintlib.org/doc/gr_mat/_gr_mat_charpoly_danilevsky_inplace.html},
note = {Generated 2026-10-20}
}