"Source: Text/Basics/Mat.text";
"Line: 2658";
"Date: Thu Sep 25 14:47:46 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Basics/Mat.text, line: 2658
// Example: H27E11 ()
print "Example: H27E11";
ei := GetEchoInput();
SetEchoInput(true);
RR := RealField(10);
r := 4;
c := 5;
A := [RR!Random([-2^10..2^10])/2^9 : i in [1..r*c]];
M := Matrix(r,c,A);
M;
R,Q := RQDecomposition(M); R, Q;
Max([Abs(x) : x in Eltseq(R*Q-M)]);
Max([Abs(x) : x in Eltseq(Transpose(Q)*Q-1)]);
//
CC<i> := ComplexField(5);
r := 5;
c := 3;
A := [CC!Random([-2^10..2^10])/2^9 : j in [1..r*c]];
B := [CC!Random([-2^10..2^10])/2^9 : j in [1..r*c]];
M := Matrix(r,c,A) + i*Matrix(r,c,B);
R,Q := RQDecomposition(M); R, Q;
Max([Abs(x) : x in Eltseq(R*Q-M)]);
Max([Abs(x) : x in Eltseq(ConjugateTranspose(Q)*Q-1)]);
//
r := 5;
c := 5;
A := [RR!Random([-2^10..2^10])/2^9 : j in [1..r*c]];
M := Matrix(r,c,A);
MI := NumericalInverse(M); MI;
Max([Abs(x) : x in Eltseq(M*MI-1)]);
SetEchoInput(ei);
