Generate a Legendre series with given complex roots in Python

To generate a Legendre series from complex roots in Python, use the polynomial.legendre.legfromroots() method from NumPy. This method returns a 1-D array of coefficients representing the Legendre polynomial. When complex roots are provided, the output array will be of complex type even if the resulting coefficients are real numbers.

Syntax

numpy.polynomial.legendre.legfromroots(roots)

Parameters

roots − A sequence containing the roots of the polynomial.

Return Value

Returns a 1-D array of Legendre series coefficients ordered from low to high degree.

Example

Let's generate a Legendre series with complex roots -j and j where j is the imaginary unit ?

from numpy.polynomial import legendre as L

# Create complex roots
j = complex(0, 1)
roots = (-j, j)

# Generate Legendre series from complex roots
result = L.legfromroots(roots)
print("Legendre coefficients:")
print(result)

# Check the datatype
print("\nDatatype:", result.dtype)

# Check the shape
print("Shape:", result.shape)
Legendre coefficients:
[1.33333333+0.j 0.        +0.j 0.66666667+0.j]

Datatype: complex128
Shape: (3,)

How It Works

The legfromroots() method constructs a Legendre polynomial that has the specified roots. For complex roots ±j, the resulting polynomial is (x - j)(x + j) = x² + 1. This polynomial is then converted to Legendre series form with coefficients [4/3, 0, 2/3].

Example with Multiple Complex Roots

Here's an example with more complex roots ?

from numpy.polynomial import legendre as L

# Define multiple complex roots
roots = [1+2j, 1-2j, -1+1j, -1-1j]

# Generate Legendre series
coefficients = L.legfromroots(roots)
print("Coefficients:", coefficients)
print("Degree:", len(coefficients) - 1)
Coefficients: [2.53333333+0.j 0.        +0.j 1.73333333+0.j 0.        +0.j
 0.26666667+0.j]
Degree: 4

Key Points

  • Complex roots always produce complex coefficient arrays, even when coefficients are real
  • The degree of the resulting polynomial equals the number of roots
  • Coefficients are ordered from low to high degree terms
  • Conjugate pairs of complex roots will produce real polynomials

Conclusion

Use legfromroots() to generate Legendre series from complex roots. The method automatically handles complex arithmetic and returns appropriately typed coefficient arrays for further polynomial operations.

Updated on: 2026-03-26T21:01:54+05:30

261 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements