proposition: Lemma char_poly_altE : forall n (M: 'M[R]_(1 + n)), char_poly_alt M = char_poly M.
proof: Proof. rewrite /char_poly_alt /char_poly => n M. rewrite BareissE //. move => p h h'; apply/monic_lreg. exact: pminor_char_poly_mx_monic. Qed.
imports: mathcomp(ssreflect ssrfun ssrbool eqtype ssrnat div seq path) mathcomp(ssralg fintype perm choice) mathcomp(matrix bigop zmodp mxalgebra poly polydiv mxpoly) ssrcomplements dvdring minor atomic_operations polydvd