"Source: Text/Basics/Mat.text";
"Line: 3001";
"Date: Thu Sep 25 14:47:46 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Basics/Mat.text, line: 3001
// Example: H27E13 ()
print "Example: H27E13";
ei := GetEchoInput();
SetEchoInput(true);
RR := RealField(10);
r := 5;
c := 5;
A := [RR!Random([-2^10..2^10])/2^9 : i in [1..r*c]];
M := Matrix(r,c,A);
H := NumericalHessenbergForm(M); H;
S := NumericalSchurForm(M); S; // need not be diag in real case
NumericalEigenvalues(M);
M := M + Transpose(M); // make symmetric
NumericalEigenvalues(M); // all real
//
// example with companion matrix of a polynomial
//
f:=Polynomial([Random(10^(12-j)) : j in [0..8]] cat [1]); f;
NumericalEigenvalues(ChangeRing(CompanionMatrix(f),RR));
Sort([r[1] : r in Roots(f,ComplexField(10))],func<x,y|Real(x)-Real(y)>);
SetEchoInput(ei);
