5ce5316a33 2021-03-01 1: %%%%%%%%%%%%%%%%%%%%%
5ce5316a33 2021-03-01 2: % LINEAR ALGEBRA
5ce5316a33 2021-03-01 3: %%%%%%%%%%%%%%%%%%%%%
5ce5316a33 2021-03-01 4:
5ce5316a33 2021-03-01 5: % Enable fancy output for easier viewing of
5ce5316a33 2021-03-01 6: % matrix output
5ce5316a33 2021-03-01 7: %fancy_output$
5ce5316a33 2021-03-01 8:
5ce5316a33 2021-03-01 9: % Load linear algebra package
5ce5316a33 2021-03-01 10: load_package linalg$
5ce5316a33 2021-03-01 11:
5ce5316a33 2021-03-01 12: % Define a complex 3x3 matrix
5ce5316a33 2021-03-01 13: m1 := mat((1+i*3, 2-i*5, 7-i), (4-i*2, 6+i*9,-8+i*4), (-3-i*7, 3+i*2, -1+i*6));
5ce5316a33 2021-03-01 14:
5ce5316a33 2021-03-01 15: % Determinant of matrix
5ce5316a33 2021-03-01 16: write "|m1| = ", det(m1)$
5ce5316a33 2021-03-01 17:
5ce5316a33 2021-03-01 18: % Trace of matrix
5ce5316a33 2021-03-01 19: write "trace(m1) = ", trace(m1)$
5ce5316a33 2021-03-01 20:
5ce5316a33 2021-03-01 21: % Characteristic polynomial
5ce5316a33 2021-03-01 22: write "characteristic polynomial of m1:";
5ce5316a33 2021-03-01 23: char_poly(m1,eta);
5ce5316a33 2021-03-01 24:
5ce5316a33 2021-03-01 25: % Enable real arithmetic
5ce5316a33 2021-03-01 26: on rounded$
5ce5316a33 2021-03-01 27:
5ce5316a33 2021-03-01 28: % Singular value decomposition of a matrix.
5ce5316a33 2021-03-01 29: a := mat((1,3),(-4,3));
5ce5316a33 2021-03-01 30: write "Singular Value Decomposition of a:"$
5ce5316a33 2021-03-01 31: svd(a);
5ce5316a33 2021-03-01 32:
5ce5316a33 2021-03-01 33: off rounded;
5ce5316a33 2021-03-01 34: end;