Ask Your Question

Muno's profile - activity

2019-06-26 07:45:36 +0200 received badge  Famous Question (source)
2018-06-08 15:50:45 +0200 received badge  Notable Question (source)
2018-04-03 21:28:35 +0200 received badge  Popular Question (source)
2017-07-06 23:11:31 +0200 received badge  Nice Question (source)
2017-07-06 19:52:52 +0200 received badge  Student (source)
2017-07-06 17:22:30 +0200 asked a question Polynomial Long Division with Variable Coefficients

I want to divide the following polynomial (in terms of $t$) with coefficients in terms of $\lambda$.

$$(\lambda^6 - 5\lambda^4 + 6\lambda^2 - 1)t^5 + (\lambda^5 - 4\lambda^3 + 3\lambda^2)t^6$$

by $$ \lambda t^2 -\lambda^2 t + \lambda$$

The resulting quotient will include a fractional component (the numerator's degree will be strictly less than the denominator's degree).

This is what a quotient and remainder, added together, might look like:

$$ t(\frac{2\lambda^8 - 9 \lambda^6 + 2 \lambda^5 + 6 \lambda^4 - 4\lambda^2}{\lambda}) + t^3(\frac{2\lambda^6 - 9\lambda^4 + 3\lambda^3 + 6\lambda^2 -1 }{\lambda}) + \frac{t(\lambda^4 - 2\lambda) + (\lambda^3 - 4\lambda^2)}{\lambda t^2 - \lambda^2 t + \lambda}$$

I have tried the following thus far Any suggestions? The code below "does not work", because it outputs a quotient whose degree is greater than the degree of the dividend. Here $y$ takes the place of $\lambda$ and $x$ takes the place of $t$.

The quotient is: 

-2*x^8 - x^4*y^4 + 2.0*x^6 - 3.0*x^5 - 1.0*x^4 - (2*x^5 + x^3)*y^3 + (-2*x^6 + 2.0*x^4 - x^2)*y^2 + (-2*x^7 + 
4.0*x^5 + 1.0*x^3 - x)*y - 1
The remainder is: 

 -x^5 + (2*x^10 + 3.0*x^7 - 1.0*x^6 + 3.0*x^5 + 1.0*x^4 + x^2 + 1)*y

The code:

from sympy import Function, rsolve_poly, Symbol, rsolve, rsolve_hyper, oo
from sympy.abc import n

x = var('x')
y = var('y')
P.<x,y> = PolynomialRing(CC)
f = (y**5 - 4*y**3 + 3*y**2)*x**6 + (y**6 - 5*y**4 + 6*y**2 - 1)*x**5
g = y*x**2 - y**2*x + y

def division(dividend, divisor): 
    return (dividend._maxima_().divide(divisor).sage())

a = division(f,g)
print("The quotient is: \n")
print(a[0])
print("The remainder is: \n")
print(a[1])