In this article, we will discuss how to evaluate a Chebyshev Series at points X when coefficients are multi-dimensional.
To evaluate the Chebyshev series at points, NumPy provides a function called chebyshev.chebval which can be used to integrate the Chebyshev series.
Syntax: Chebyshev.chebval(x, c, tensor)
Parameters:
- x – array_like, compatible object. If x is a list or tuple, it is converted to an array, otherwise, it is left unchanged and treated as a scalar. In either case, x or its elements must support addition and multiplication with themselves and with the elements of c.
- c – array_like. An array of coefficients is ordered so that the coefficients for terms of degree n are contained in c[n]. If c is multidimensional the remaining indices enumerate multiple polynomials. In the two-dimensional case, the coefficients may be thought of as stored in the columns of c.
- tensor – boolean. If True, the shape of the coefficient array is extended with ones on the right, one for each dimension of x.
Example 1:
In the first example. let us consider a 2D array and evaluate it in the point [1,2]. Import the necessary packages as shown and pass the appropriate parameters as shown below.
Python3
import numpy as np from numpy.polynomial import chebyshev # multidimensional array of coefficients c = np.arange( 9 ).reshape( 3 , 3 ) print (f 'The shape of the array is {c.shape}' ) print (f 'The dimension of the array is {c.ndim}D' ) print (f 'The datatype of the array is {c.dtype}' ) # pass the points to evaluate at x to the # chebval function res = chebyshev.chebval([ 1 , 2 ], c, tensor = True ) # chebyshev series evaluated at point [1,2] print (f 'Resultant series ---> {res}' ) |
Output:
Example 2:
In the first example. let us consider a 3D array and evaluate it in the point [11,12]. Import the necessary packages as shown and pass the appropriate parameters as shown below.
Python3
import numpy as np from numpy.polynomial import chebyshev # multidimensional array of coefficients c = np.arange( 9 ).reshape( 3 , 3 , 1 ) print (f 'The shape of the array is {c.shape}' ) print (f 'The dimension of the array is {c.ndim}D' ) print (f 'The datatype of the array is {c.dtype}' ) # pass the points to evaluate at x to the chebval function res = chebyshev.chebval([ 11 , 12 ], c, tensor = True ) # chebyshev series evaluated at point [1,2] print (f 'Resultant series ---> {res}' ) |
Output:
Example 3:
In the third example. let us consider a different 3D array of shape (3,3,3) and evaluate it in the point [33,56]. Import the necessary packages as shown and pass the appropriate parameters as shown below.
Python3
import numpy as np from numpy.polynomial import chebyshev # multidimensional array of coefficients c = np.arange( 27 ).reshape( 3 , 3 , 3 ) print (f 'The shape of the array is {c.shape}' ) print (f 'The dimension of the array is {c.ndim}D' ) print (f 'The datatype of the array is {c.dtype}' ) # pass the points to evaluate at x to the chebval function res = chebyshev.chebval([ 33 , 56 ], c, tensor = True ) # chebyshev series evaluated at point [33,56] print (f 'Resultant series ---> {res}' ) |
Output: