Evaluate polynomial on vector or matrix.

polyval(p, x)

  polyvalm(p, A)

Arguments

p

vector representing a polynomial.

x

vector of values where to evaluate the polynomial.

A

matrix; needs to be square.

Details

polyval valuates the polynomial given by p at the values specified by the elements of x. If x is a matrix, the polynomial will be evaluated at each element and a matrix returned.

polyvalm will evaluate the polynomial in the matrix sense, i.e., matrix multiplication is used instead of element by element multiplication as used in 'polyval'. The argument matrix A must be a square matrix.

Value

Vector of values, resp. a matrix.

See also

Examples

  # Evaluate 3 x^2 + 2 x + 1 at x = 5, 7, and 9
  p = c(3, 2, 1);
  polyval(p, c(5, 7, 9))    # 86  162  262
#> [1]  86 162 262

  # Apply the characteristic polynomial to its matrix
  A <- pascal(4)
  p <- pracma::Poly(A)      # characteristic polynomial of A
  polyvalm(p, A)            # almost zero 4x4-matrix
#>              [,1]         [,2]         [,3]         [,4]
#> [1,] 3.381850e-12 1.151435e-11 2.633627e-11 4.985523e-11
#> [2,] 1.162093e-11 3.894807e-11 8.895995e-11 1.678657e-10
#> [3,] 2.576783e-11 8.628476e-11 1.964683e-10 3.705836e-10
#> [4,] 4.969891e-11 1.659757e-10 3.778453e-10 7.123223e-10