My polynomial equation is becoming very big. I need to simplify it before finding roots.
I used few simplification methods as shown in code. I could not simplify expression. Trying to do this many times but could not solve.
please anybody help me. I am new to sage.
In the code below array range is (0,10). n = 10 . I need to solve for n = 50. Equation will become very big. Here my problem is simplification. I need to simplify where ever possible in the code.
Code:
from sage.all import *
a,c1,c2 = var( 'a c1 c2')
Y = [ 0,0,c1,c2 ]
mu = 2.00*(10**(-9))
Ev = 1.06*(10**12)
d = 1.00*(10**(-9))
L = 20*d
Pi = 3.141592654
Iv = Pi*((d**4)/64)
kw = (300*(Ev*Iv/(L**4)))
musq = (mu/L)**2
for i in range(0,10):
Y.append(maxima.expand(((((-a)+musq*kw*(L**4)/(Ev*Iv))*(i+1)*(i+2)*Y[i+2])-(kw*(L**4)/(Ev*Iv))*Y[i])/((1-(a*musq))*(i+1)*(i+2)*(i+3)*(i+4))))
e1 = maxima.expand(sum(Y))
print 'e1'
print e1
z = []
for j in range(0,10):
z.append(maxima.ratexpand(j*Y[j]))
e2 = maxima.expand(sum(z))
print 'e2'
print e2
a11 = maxima.ratsimp(maxima.combine(maxima.expand(e1.coeff(c1))))
print 'a11'
print a11
a12 = maxima.ratsimp(maxima.combine(maxima.expand(e1.coeff(c2))))
print 'a12'
print a12
a21 = maxima.ratsimp(maxima.combine(maxima.expand(e2.coeff(c1))))
print 'a21'
print a21
a22 = maxima.ratsimp(maxima.combine(maxima.expand(e2.coeff(c2))))
print 'a22'
print a22
M = maxima.matrix([a11,a12],[a21,a22])
#print 'M'
#print M
maxima.ratmx = True
maxima.sparse = True
det = maxima.num(maxima.combine(maxima.ratexpand(M.determinant())))
print 'det'
print det
R = maxima.allroots(det)
print R