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]))
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>
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. |
Equivalent to numpy.polyval.
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/math/polyval