Message Boards Message Boards

0
|
4844 Views
|
14 Replies
|
0 Total Likes
View groups...
Share
Share this post:
GROUPS:

derivative of polynomial using primitive roots of unity

Posted 9 years ago

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

POSTED BY: cjnelson9
14 Replies

enter image description here

POSTED BY: Simon Cadrin
Posted 9 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 BY: cjnelson9

enter image description here

POSTED BY: Simon Cadrin
Posted 9 years ago

With the initialization cells from SynergeticsCoordinatesDemo.nb (600.8 KB) - Mathematica Notebook

http : // 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 BY: cjnelson9

enter image description here

POSTED BY: Simon Cadrin
Posted 9 years ago

With the initialization cells from SynergeticsCoordinatesDemo.nb (600.8 KB) - Mathematica Notebook

http : // 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 BY: cjnelson9
Posted 9 years ago

With the initialization cells from SynergeticsCoordinatesDemo.nb (600.8 KB) - Mathematica Notebook

http : // 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 + 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

POSTED BY: cjnelson9

enter image description here

POSTED BY: Simon Cadrin
Posted 9 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 BY: cjnelson9
Posted 9 years ago

Reply Preview will not show what I want to post.

Cliff Nelson

POSTED BY: cjnelson9
Posted 9 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 BY: cjnelson9
Posted 9 years ago

see attachment derivatives rootofunity.nb

Attachments:
POSTED BY: cjnelson9

enter image description here

POSTED BY: Simon Cadrin
Posted 9 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 BY: cjnelson9
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract