# Matrix and Polynomial Computations

Introduction

### Non-Elementary Matrix Functions:

Balance(M) = Return a balanced matrix with same eigenvalues
CharPoly(M) = Characteristic polynomial of square matrix or scalar M
CompM(P) = Companion matrix of polynomial P
Concat(X, Y) = Concatenate the columns of matrix X and Y
ConcatR(X, Y) = Concatenate the rows of matrix X and Y
Conj(M) = ComplexConjugate(M)
Decomp(M) = The LU decomposition of matrix M
Det(M) = Determinate of matrix M
Diagonal(V) = Diagonal matrix from a column or row vector V
EigenVa(M) = Eigenvalues of square matrix M
EigenVe(M) = Eigenvectors of square matrix M
EigenVe2(M) = Eigenvectors of square matrix M by SVD >>> Download Program Eigen
Hess(M) = Return upper Hessenberg matrix, same eigenvalues
Hilbert(n) = Equals an n by n Hilbert matrix
Image(M) = Returns a basis for the image/range of matrix M
Inv(M) = Inverse of matrix M
IsDiag(M) = Returns 1 if M is a diagonal matrix, else 0
MatId(n) = Equals an n by n identity matrix
MinPoly(M) = Minimal polynomial of square matrix or scalar M
NormV(V) = Norm of vector V, its length
Pascal(n) = Equals an n by n Pascal triangle, Pij = Bino(i,j)
Rank(M) = Rank of matrix M
RPYM(R, P, Y) = Rotation matrix, R = roll, P = pitch, Y = yaw
RREF(M) = Return Reduced Row Echelon Form of matrix M
RREFa(M, V) = RREF solution U to augmented matrix [M,V], M*U=V
Solve(M, V) = Solve for vector U where square matrix M * U = V
SolveH(M) = Solve for vectors U != 0 where matrix M * U = 0
SolveS(M, V) = Solve for minimum vector U where matrix M * U = V
SVD(M) = Singular Value Decomposition, M = U * W * V^H >>> Download Program Algo358
Trace(M) = Sum of elements on the principal diagonal of M
Tran(M) = Transpose of matrix M
Vander(V) = Vandermonde's matrix from vector V

### Polynomial Functions:

Cheby(X) = Chebyshev polynomial of an integer
Cyclo(X) = Cyclotomic polynomial of integer > 0
Deriv(P) = Derivative of polynomial P
Integ(P) = Formal integral of polynomial P
Legen(X) = Legendre polynomial of integer >= 0
PolAdd(X, Y) = Polynomial X + Y
PolDisc(P) = Discriminant of polynomial P
PolDiv(X, Y) = Polynomial X / Y, "Re" = remainder
PolEval(P, X) = Polynomial P evaluated at X
PolMod(X, Y) = Returns "Re" = remainder of polynomial X / Y
PolMonic(P) = Monic polynomial of P, leading coeff. = 1 or {0}
PolMul(X, Y) = Polynomial X * Y
PolNorm(P) = Norm of polynomial P, leading coeff. not 0 or {0}
PolRecip(P) = Reciprocal polynomial of P, x^deg(P) * P(1/x)
PolRoots(P) = All of the roots of polynomial P
PolSturm(P) = Number of real roots in real polynomial P
PolSturmI(P, X, Y) = Number of real roots in P in interval (X, Y)
PolSub(X, Y) = Polynomial X - Y