Divide one Legendre series by another in Python

To divide one Legendre series by another, use the polynomial.legendre.legdiv() method in Python NumPy. The method returns a tuple containing the quotient and remainder of Legendre series coefficients.

The function performs polynomial division where the arguments are sequences of coefficients from lowest order "term" to highest. For example, [1,2,3] represents the series P_0 + 2*P_1 + 3*P_2. The parameters c1 and c2 are 1-D arrays of Legendre series coefficients ordered from low to high.

Syntax

numpy.polynomial.legendre.legdiv(c1, c2)

Parameters:

  • c1 ? 1-D array of Legendre series coefficients (dividend)
  • c2 ? 1-D array of Legendre series coefficients (divisor)

Returns: A tuple (quotient, remainder) of Legendre series coefficients.

Example

Let's divide two Legendre series and examine the quotient and remainder ?

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

# Create 1-D arrays of Legendre series coefficients
c1 = np.array([2, 3, 4])  # dividend: 2*P_0 + 3*P_1 + 4*P_2
c2 = np.array([4, 3, 2])  # divisor: 4*P_0 + 3*P_1 + 2*P_2

# Display the arrays of coefficients
print("Dividend coefficients:", c1)
print("Divisor coefficients:", c2)

# Perform division
quotient, remainder = L.legdiv(c1, c2)
print("\nQuotient:", quotient)
print("Remainder:", remainder)

# Verify: dividend = divisor * quotient + remainder
verification = L.legadd(L.legmul(c2, quotient), remainder)
print("\nVerification (should equal dividend):", verification)
print("Original dividend:", c1)
Dividend coefficients: [2 3 4]
Divisor coefficients: [4 3 2]

Quotient: [2.]
Remainder: [-6. -3.]

Verification (should equal dividend): [2. 3. 4.]
Original dividend: [2 3 4]

Understanding the Result

The division returns:

  • Quotient: [2.] represents 2*P_0
  • Remainder: [-6., -3.] represents -6*P_0 - 3*P_1

This means: (2*P_0 + 3*P_1 + 4*P_2) รท (4*P_0 + 3*P_1 + 2*P_2) = 2*P_0 + remainder

Simple Division Example

Here's a simpler case where one polynomial divides evenly ?

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

# Simple case: divide [4, 2] by [2, 1]
dividend = np.array([4, 2])  # 4*P_0 + 2*P_1
divisor = np.array([2, 1])   # 2*P_0 + 1*P_1

quotient, remainder = L.legdiv(dividend, divisor)

print("Dividend:", dividend)
print("Divisor:", divisor)
print("Quotient:", quotient)
print("Remainder:", remainder)
Dividend: [4 2]
Divisor: [2 1]
Quotient: [2.]
Remainder: [0.]

Conclusion

The legdiv() function performs polynomial division on Legendre series, returning both quotient and remainder. Use this for polynomial long division operations in the Legendre basis, which is useful in numerical analysis and approximation theory.

Updated on: 2026-03-26T20:39:51+05:30

185 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements