"Source: Text/Basics/Mat.text";
"Line: 2983";
"Date: Wed Mar 24 19:05:07 2021";
"Main: Thu May 25 10:02:38 2023";
// original file: Text/Basics/Mat.text, line: 2983
// 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);
