Open In App

Integrate a Chebyshev series and set the order of integration using NumPy in Python

Last Updated : 01 May, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

In this article, we will discuss how to integrate the Chebyshev series and set the order of integration in Python and NumPy.

chebyshev.chebint method

Chebyshev polynomials are significant in approximation theory because the Chebyshev nodes are used as matching points for optimizing polynomial interpolation. To perform Chebyshev Integration, NumPy provides a function called Chebyshev.chebint() method, which is used to integrate the Chebyshev series with a given order. It will take two parameters, the first is c which takes an array and, the second is m which is used to set the integration order.

Syntax: chebyshev.chebint(c,m)

Parameter:

  • c: an array
  • m: order of integration.

Return: Chebyshev series coefficients of the integral.

Example 1:

In this example, we will create a one-dimensional NumPy coefficient array with 6 elements and integrate the series by setting orders with 3,4,1, and 6.

Python3




# import the numpy module
import numpy
  
# import chebyshev
from numpy.polynomial import chebyshev
  
# Create an array of Chebyshev series 
# coefficients with 6 elements
coefficient_array = numpy.array([1,2,3,4,3,5])
  
# display array
print("Coefficient array: ", coefficient_array)
  
# display the dimensions
print("Dimensions: ", coefficient_array.ndim)
  
# integrate chebyshev series with order 3
print("\nChebyshev series with order 3"
      chebyshev.chebint(coefficient_array, m = 3))
  
# integrate chebyshev series with order 4
print("\nChebyshev series with order 4",
      chebyshev.chebint(coefficient_array, m = 4))
  
# integrate chebyshev series with order 1
print("\nChebyshev series with order 1",
      chebyshev.chebint(coefficient_array, m = 1))
  
# integrate chebyshev series with order 6
print("\nChebyshev series with order 6",
      chebyshev.chebint(coefficient_array, m = 6))


Output:

Coefficient array:  [1 2 3 4 3 5]

Dimensions:  1

Chebyshev series with order 3 [ 0.08072917  0.          0.08854167 -0.01458333 -0.00104167 -0.00625

 -0.00699405  0.00178571  0.00186012]

Chebyshev series with order 4 [ 0.00390625  0.03645833  0.00364583  0.01493056 -0.00104167  0.00059524

 -0.00066964 -0.00063244  0.00011161  0.00010334]

Chebyshev series with order 1 [ 0.04166667 -0.5        -0.5         0.         -0.125       0.3

  0.41666667]

Chebyshev series with order 6 [ 2.28949653e-04  1.05251736e-03  3.25520833e-04  5.98338294e-04

  1.02306548e-04  1.68960813e-04  1.55009921e-06  1.05923446e-05

 -3.87524802e-06 -2.84184854e-06  3.10019841e-07  2.34863516e-07]

Example 2:

In this example, we will create a two-dimensional NumPy coefficient array with 6 elements with shape 2×2 and, integrate the series by setting orders with 3,4,1, and 6.

Python3




# import the numpy module
import numpy
  
# import chebyshev
from numpy.polynomial import chebyshev
  
# Create an 2 D array of Chebyshev series 
# coefficients with 6 elements
coefficient_array = numpy.array([[1, 2, 3, 4, 3, 5], [5, 6, 8, 9, 0, 0]])
  
# display array
print("Coefficient array: ", coefficient_array)
  
# display the dimensions
print("Dimensions: ", coefficient_array.ndim)
  
# integrate chebyshev series with order 3
print("\nChebyshev series with order 3",
      chebyshev.chebint(coefficient_array, m=3))
  
# integrate chebyshev series with order 4
print("\nChebyshev series with order 4",
      chebyshev.chebint(coefficient_array, m=4))
  
# integrate chebyshev series with order 1
print("\nChebyshev series with order 1",
      chebyshev.chebint(coefficient_array, m=1))
  
# integrate chebyshev series with order 6
print("\nChebyshev series with order 6",
      chebyshev.chebint(coefficient_array, m=6))


Output:

Coefficient array:  [[1 2 3 4 3 5]

 [5 6 8 9 0 0]]

Dimensions:  2

Chebyshev series with order 3 [[0.078125   0.09375    0.125      0.140625   0.         0.        ]

 [0.125      0.25       0.375      0.5        0.375      0.625     ]

 [0.10416667 0.125      0.16666667 0.1875     0.         0.        ]

 [0.04166667 0.08333333 0.125      0.16666667 0.125      0.20833333]

 [0.02604167 0.03125    0.04166667 0.046875   0.         0.        ]]

Chebyshev series with order 4 [[0.015625   0.03125    0.046875   0.0625     0.046875   0.078125  ]

 [0.02604167 0.03125    0.04166667 0.046875   0.         0.        ]

 [0.02083333 0.04166667 0.0625     0.08333333 0.0625     0.10416667]

 [0.01302083 0.015625   0.02083333 0.0234375  0.         0.        ]

 [0.00520833 0.01041667 0.015625   0.02083333 0.015625   0.02604167]

 [0.00260417 0.003125   0.00416667 0.0046875  0.         0.        ]]

Chebyshev series with order 1 [[1.25 1.5  2.   2.25 0.   0.  ]

 [1.   2.   3.   4.   3.   5.  ]

 [1.25 1.5  2.   2.25 0.   0.  ]]

Chebyshev series with order 6 [[4.34027778e-04 8.68055556e-04 1.30208333e-03 1.73611111e-03

  1.30208333e-03 2.17013889e-03]

 [5.42534722e-04 6.51041667e-04 8.68055556e-04 9.76562500e-04

  0.00000000e+00 0.00000000e+00]

 [6.51041667e-04 1.30208333e-03 1.95312500e-03 2.60416667e-03

  1.95312500e-03 3.25520833e-03]

 [3.25520833e-04 3.90625000e-04 5.20833333e-04 5.85937500e-04

  0.00000000e+00 0.00000000e+00]

 [2.60416667e-04 5.20833333e-04 7.81250000e-04 1.04166667e-03

  7.81250000e-04 1.30208333e-03]

 [1.08506944e-04 1.30208333e-04 1.73611111e-04 1.95312500e-04

  0.00000000e+00 0.00000000e+00]

 [4.34027778e-05 8.68055556e-05 1.30208333e-04 1.73611111e-04

  1.30208333e-04 2.17013889e-04]

 [1.55009921e-05 1.86011905e-05 2.48015873e-05 2.79017857e-05

  0.00000000e+00 0.00000000e+00]]



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads