View source on GitHub |
Computes the elementwise value of a polynomial.
tf.math.polyval(
coeffs, x, name=None
)
If x
is a tensor and coeffs
is a list n + 1 tensors,
this function returns the value of the n-th order polynomial
p(x) = coeffs[n-1] + coeffs[n-2] * x + ... + coeffs[0] * x**(n-1)
evaluated using Horner's method, i.e.
p(x) = coeffs[n-1] + x * (coeffs[n-2] + ... + x * (coeffs[1] + x * coeffs[0]))
Usage Example:
coefficients = [1.0, 2.5, -4.2]
x = 5.0
y = tf.math.polyval(coefficients, x)
y
<tf.Tensor: shape=(), dtype=float32, numpy=33.3>
Usage Example:
tf.math.polyval([2, 1, 0], 3) # evaluates 2 * (3**2) + 1 * (3**1) + 0 * (3**0)
<tf.Tensor: shape=(), dtype=int32, numpy=21>
tf.math.polyval
can also be used in polynomial regression. Taking
advantage of this function can facilitate writing a polynomial equation
as compared to explicitly writing it out, especially for higher degree
polynomials.
x = tf.constant(3)
theta1 = tf.Variable(2)
theta2 = tf.Variable(1)
theta3 = tf.Variable(0)
tf.math.polyval([theta1, theta2, theta3], x)
<tf.Tensor: shape=(), dtype=int32, numpy=21>
Args | |
---|---|
coeffs
|
A list of Tensor representing the coefficients of the polynomial.
|
x
|
A Tensor representing the variable of the polynomial.
|
name
|
A name for the operation (optional). |
Returns | |
---|---|
A tensor of the shape as the expression p(x) with usual broadcasting
rules for element-wise addition and multiplication applied.
|
numpy compatibility
Equivalent to numpy.polyval.