cjnelson9
(cjnelson9)
1
I posted something like this years ago in many places, but I cant 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.
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
cjnelson9
(cjnelson9)
3
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]
cjnelson9
(cjnelson9)
5
With the initialization cells from SynergeticsCoordinatesDemo.nb (600.8 KB) - Mathematica Notebook
http : // Buckminster Fuller Notebooks -- from Wolfram Library Archive
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]
cjnelson9
(cjnelson9)
7
With the initialization cells from SynergeticsCoordinatesDemo.nb (600.8 KB) - Mathematica Notebook
http : // Buckminster Fuller Notebooks -- from Wolfram Library Archive
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].
cjnelson9
(cjnelson9)
8
With the initialization cells from SynergeticsCoordinatesDemo.nb (600.8 KB) - Mathematica Notebook
http : // Buckminster Fuller Notebooks -- from Wolfram Library Archive
In[1]:= Clear[f, a, b, c, d]
In[2]:= f[x_] := a x^3 + b x^2 + c x + d
In[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^2
In[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^2
In[7]:= Expand[FullSimplify[%]]
Out[7]= c + 2 b x + 3 a x^2
cjnelson9
(cjnelson9)
10
cjnelson9
(cjnelson9)
11
Reply Preview will not show what I want to post.
Cliff Nelson
cjnelson9
(cjnelson9)
12
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[%]]
cjnelson9
(cjnelson9)
13
see attachment derivatives rootofunity.nb
cjnelson9
(cjnelson9)
15
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]