horner — polynomial/rational evaluation
horner(P,x)
evaluates the polynomial or rational
matrix P = P(s) when the variable s of the
polynomial is replaced by x:
horner(P,x)=P(x)
Example (Bilinear transform): Assume P = P(s) is
a rational matrix then the rational matrix
P((1+s)/(1-s)) is obtained by horner(P,(1+s)/(1-s)).
To evaluate a rational matrix at given frequencies use
preferably the freq primitive.
//evaluation of a polynomial for a vector of numbers P=poly(1:3,'x') horner(P,[1 2 5]) horner(P,[1 2 5]+%i) //evaluation of a rational s=poly(0,'s');M=[s,1/s]; horner(M,1) horner(M,%i) horner(M,1/s) //evaluation of a polynomial for a matrix of numbers X= [1 2;3 4] p=poly(1:3,'x','c') m=horner(p, X) 1*X.^0+2*X.^1+3*X.^2