# derivative of polynomial using primitive roots of unity

Posted 8 years ago
4412 Views
|
14 Replies
|
0 Total Likes
|
 I posted something like this years ago in many places, but I canÂ’t find it now.It computes the derivative of a small polynomial with the primitive fifth root of unity.I asked if anybody could use a similar method to compute anti derivatives.http://library.wolfram.com/infocenter/MathSource/600/ In[96]:= Clear[f] In[97]:= f[x_] := x^2 - x - 1 In[98]:= r5 = rootOfUnity[5] Out[98]= B[1, 1, 1, -4, 1] In[99]:= df[x_] := Sum[(f[x + r5^p] - f[x - r5^p])/r5^p, {p, 1, 5}]/2/5 In[100]:= D[f[x], x] Out[100]= -1 + 2 x In[101]:= ExpandAll[df[x]] Out[101]= B[-1, -1, -1, -1, 4] + x B[2, 2, 2, 2, -8] Cliff Nelson
14 Replies
Sort By:
Posted 8 years ago
 Each parenthesis in v(n) should be a bracket. f[x_] = Plus @@ (v[#1]*x^#1 & ) /@ Range[9] x*v[1] + x^2*v[2] + x^3*v[3] + x^4*v[4] + x^5*v[5] + x^6*v[6] + x^7*v[7] + x^8*v[8] + x^9*v[9] 
Posted 8 years ago
Posted 8 years ago
 see attachment derivatives rootofunity.nb Attachments:
Posted 8 years ago
 Now it shows what I want as Code Sample. Clear[f, a, b, c, d] f[x_] := e*x^4 + a*x^3 + b*x^2 + c*x + d r5 = Exp[(2*Pi*I)/5] df[x_] := Sum[(f[x + r5^p] - f[x - r5^p])/r5^p, {p, 1, 5}]/(2*5) D[f[x], x] Expand[df[x]] Expand[FullSimplify[%]] 
Posted 8 years ago
 Reply Preview will not show what I want to post.Cliff Nelson
Posted 8 years ago
 http : // library.wolfram.com/infocenter/MathSource/600/Spaces were added to the link above, it should be:http:// library.wolfram.com/infocenter/MathSource/600/Cliff Nelson
Posted 8 years ago
Posted 8 years ago
 With the initialization cells from SynergeticsCoordinatesDemo.nb (600.8 KB) - Mathematica Notebookhttp : // library.wolfram.com/infocenter/MathSource/600/In[1]:= Clear[f, a, b, c, d]In[2]:= f[x_] := a x^3 + b x^2 + c x + dIn[3]:= r5 = Exp[(2 [Pi] I)/5]Out[3]= E^((2 I [Pi])/5)r5 is B[1, 1, 1, -4, 1] with BuckyNumbers.In[4]:= df[x_] := Sum[(f[x + r5^p] - f[x - r5^p])/r5^p, {p, 1, 5}]/(2*5)In[5]:= D[f[x], x]Out[5]= c + 2 b x + 3 a x^2In[6]:= Expand[df[x]] Out[6]= a/5 + c + 1/5 a E^(-((2 I [Pi])/5)) + 1/5 a E^((2 I [Pi])/5) + 1/5 a E^(-((4 I [Pi])/5)) + 1/5 a E^((4 I [Pi])/5) + 2 b x + 3 a x^2In[7]:= Expand[FullSimplify[%]]Out[7]= c + 2 b x + 3 a x^2
Posted 8 years ago
 With the initialization cells from SynergeticsCoordinatesDemo.nb (600.8 KB) - Mathematica Notebookhttp : // library.wolfram.com/infocenter/MathSource/600/ Clear[f, a, b, c, d] f[x_] := a x^3 + b x^2 + c x + d r5 = rootOfUnity[5] B[1, 1, 1, -4, 1] df[x_] := Sum[(f[x + r5^p] - f[x - r5^p])/r5^p, {p, 1, 5}]/2/5 D[f[x], x] c + 2 b x + 3 a x^2 Expand[df[x]] /. B[0, 0, 0, 0, 0] -> 0 c B[1, 1, 1, 1, -4] + b x B[2, 2, 2, 2, -8] + a x^2 B[3, 3, 3, 3, -12] You use a different version of Mathematica than I do. Check the derivative of f[x].
Posted 8 years ago
Posted 8 years ago
 With the initialization cells from SynergeticsCoordinatesDemo.nb (600.8 KB) - Mathematica Notebookhttp : // library.wolfram.com/infocenter/MathSource/600/ In[44]:= Clear[f,a,b,c,d] In[45]:= f[x_] := a*x^3 + b*x^2 + c*x + d In[46]:= r5=rootOfUnity[5] Out[46]= B[1,1,1,-4,1] In[47]:= df[x_] := Sum[(f[x + r5^p] - f[x - r5^p])/r5^p, {p, 1, 5}]/2/5 In[48]:= D[f[x],x] Out[48]= c + 2*b*x + 3*a*x^2 In[49]:= Expand[df[x]] /. B[0, 0, 0, 0, 0] -> 0 Out[49]= c B[1,1,1,1,-4]+b x B[2,2,2,2,-8]+a x^2 B[3,3,3,3,-12] 
Posted 8 years ago
Posted 8 years ago
 The polynomial was too small.With the initialization cells from SynergeticsCoordinatesDemo.nb (600.8 KB) - Mathematica Notebook In[64]:= Clear[f] In[65]:= f[x_] := x^3 + x^2 - x - 1 In[66]:= r5 = rootOfUnity[5] Out[66]= B[1, 1, 1, -4, 1] In[67]:= df[x_] := Sum[(f[x + r5^p] - f[x - r5^p])/r5^p, {p, 1, 5}]/2/5 In[68]:= D[f[x], x] Out[68]= -1 + 2 x + 3 x^2 In[70]:= Expand[df[x]] Out[70]= B[-1, -1, -1, -1, 4] + x B[2, 2, 2, 2, -8] + x^2 B[3, 3, 3, 3, -12] 
Posted 8 years ago