Evaluate a 2D Legendre series at points (x, y) with 3D array of coefficient in Python


To evaluate a 2D Legendre series at points x, y, use the polynomial.legendre.legval2d() method in Python Numpy. The method returns the values of the two dimensional Legendre series at points formed from pairs of corresponding values from x and y.

The 1st parameter is x, y. The two dimensional series is evaluated at the points (x, y), where x and y must have the same shape. If x or y is a list or tuple, it is first converted to an ndarray, otherwise it is left unchanged and if it isn’t an ndarray it is treated as a scalar.

The 2nd parameter is c. Array of coefficients ordered so that the coefficient of the term of multidegree i,j is contained in c[i,j]. If c has dimension greater than two the remaining indices enumerate multiple sets of coefficients.

Steps

At first, import the required library −

import numpy as np
from numpy.polynomial import legendre as L

Create a 3D array of coefficients −

c = np.arange(24).reshape(2,2,6)

Display the array −

print("Our Array...\n",c)

Check the Dimensions −

print("\nDimensions of our Array...\n",c.ndim)

Get the Datatype −

print("\nDatatype of our Array object...\n",c.dtype)

Get the Shape −

print("\nShape of our Array object...\n",c.shape)

To evaluate a 2D Legendre series at points x, y, use the polynomial.legendre.legval2d() method in Python Numpy −

print("\nResult...\n",L.legval2d([1,2],[1,2],c))

Example

import numpy as np
from numpy.polynomial import legendre as L

# Create a 3D array of coefficients
c = np.arange(24).reshape(2,2,6)

# Display the array
print("Our Array...\n",c)

# Check the Dimensions
print("\nDimensions of our Array...\n",c.ndim)

# Get the Datatype
print("\nDatatype of our Array object...\n",c.dtype)

# Get the Shape
print("\nShape of our Array object...\n",c.shape)

# To evaluate a 2D Legendre series at points x, y, use the polynomial.legendre.legval2d() method in Python Numpy
print("\nResult...\n",L.legval2d([1,2],[1,2],c))

Output

Our Array...
   [[[ 0 1 2 3 4 5]
   [ 6 7 8 9 10 11]]

   [[12 13 14 15 16 17]
   [18 19 20 21 22 23]]]

Dimensions of our Array...
3

Datatype of our Array object...
int64

Shape of our Array object...
(2, 2, 6)

Result...
   [[ 36. 108.]
   [ 40. 117.]
   [ 44. 126.]
   [ 48. 135.]
   [ 52. 144.]
   [ 56. 153.]]

Updated on: 07-Mar-2022

69 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements