MaplePrimes Questions

i am writing the code and unfortunately i am struck in a pb  where i assign initial condition values to u[i] from i 1 to N but when i use them in a loop it is not taking values of u[i] it is just taking value of u[1] only kindly help me in this regard i am attaching my file here.

automatic_differentiation.mw
 

restart

v := 1; a := 2; t := 0.1e-2; dt := 0.1e-3; N := 40; h := 1/40; K := 4

NULL

NULL

for i from 0 to N do x[i] := i*h end do

x[5]

1/8

(1)

initial_condition := []; for i to N do initial_condition := [op(initial_condition), evalf(2*v*Pi*sin(Pi*x[i])/(a+cos(Pi*x[i])))] end do

initial_conditions := [.1644933719, .3289856976, .4934717144, .6579375992, .8223563570, .9866828090, 1.150848028, 1.314753051, 1.478261707, 1.641192349, 1.803308276, 1.964306617, 2.123805434, 2.281328760, 2.436289364, 2.587968970, 2.735495794, 2.877819368, 3.013682762, 3.141592654, 3.259788188, 3.366210070, 3.458472370, 3.533840560, 3.589220824, 3.621167336, 3.625916040, 3.599455182, 3.537643690, 3.436388151, 3.291886154, 3.100937330, 2.861312732, 2.572157998, 2.234388242, 1.851015873, 1.427342882, .9709526944, .4914580366, 0.]; u := proc (i) local u_x, u_xx, expr, j; u_x := (1/2)*(u[i+1]-u[i-1])/h; u_xx := (u[i-1]-2*u[i]+u[i+1])/h^2; expr := -alpha*u[i]*u_x+v*u_xx; expr end proc
NULL

NULL

odes := [seq(u(i, [seq(u[j], j = 1 .. N-1)]), i = 1 .. N-1)]

for i to N-1 do assign(o[i] = odes[i]) end do

for i to N-1 do printf("u_%d = %s\n", i, convert(u(i), string)) end do

u_1 = -alpha*u[1]*(20*u[2]-20*u[0])+1600*u[0]-3200*u[1]+1600*u[2]
u_2 = -alpha*u[2]*(20*u[3]-20*u[1])+1600*u[1]-3200*u[2]+1600*u[3]
u_3 = -alpha*u[3]*(20*u[4]-20*u[2])+1600*u[2]-3200*u[3]+1600*u[4]
u_4 = -alpha*u[4]*(20*u[5]-20*u[3])+1600*u[3]-3200*u[4]+1600*u[5]
u_5 = -alpha*u[5]*(20*u[6]-20*u[4])+1600*u[4]-3200*u[5]+1600*u[6]
u_6 = -alpha*u[6]*(20*u[7]-20*u[5])+1600*u[5]-3200*u[6]+1600*u[7]
u_7 = -alpha*u[7]*(20*u[8]-20*u[6])+1600*u[6]-3200*u[7]+1600*u[8]
u_8 = -alpha*u[8]*(20*u[9]-20*u[7])+1600*u[7]-3200*u[8]+1600*u[9]
u_9 = -alpha*u[9]*(20*u[10]-20*u[8])+1600*u[8]-3200*u[9]+1600*u[10]
u_10 = -alpha*u[10]*(20*u[11]-20*u[9])+1600*u[9]-3200*u[10]+1600*u[11]
u_11 = -alpha*u[11]*(20*u[12]-20*u[10])+1600*u[10]-3200*u[11]+1600*u[12]
u_12 = -alpha*u[12]*(20*u[13]-20*u[11])+1600*u[11]-3200*u[12]+1600*u[13]
u_13 = -alpha*u[13]*(20*u[14]-20*u[12])+1600*u[12]-3200*u[13]+1600*u[14]
u_14 = -alpha*u[14]*(20*u[15]-20*u[13])+1600*u[13]-3200*u[14]+1600*u[15]
u_15 = -alpha*u[15]*(20*u[16]-20*u[14])+1600*u[14]-3200*u[15]+1600*u[16]
u_16 = -alpha*u[16]*(20*u[17]-20*u[15])+1600*u[15]-3200*u[16]+1600*u[17]
u_17 = -alpha*u[17]*(20*u[18]-20*u[16])+1600*u[16]-3200*u[17]+1600*u[18]
u_18 = -alpha*u[18]*(20*u[19]-20*u[17])+1600*u[17]-3200*u[18]+1600*u[19]
u_19 = -alpha*u[19]*(20*u[20]-20*u[18])+1600*u[18]-3200*u[19]+1600*u[20]
u_20 = -alpha*u[20]*(20*u[21]-20*u[19])+1600*u[19]-3200*u[20]+1600*u[21]
u_21 = -alpha*u[21]*(20*u[22]-20*u[20])+1600*u[20]-3200*u[21]+1600*u[22]
u_22 = -alpha*u[22]*(20*u[23]-20*u[21])+1600*u[21]-3200*u[22]+1600*u[23]
u_23 = -alpha*u[23]*(20*u[24]-20*u[22])+1600*u[22]-3200*u[23]+1600*u[24]
u_24 = -alpha*u[24]*(20*u[25]-20*u[23])+1600*u[23]-3200*u[24]+1600*u[25]
u_25 = -alpha*u[25]*(20*u[26]-20*u[24])+1600*u[24]-3200*u[25]+1600*u[26]
u_26 = -alpha*u[26]*(20*u[27]-20*u[25])+1600*u[25]-3200*u[26]+1600*u[27]
u_27 = -alpha*u[27]*(20*u[28]-20*u[26])+1600*u[26]-3200*u[27]+1600*u[28]
u_28 = -alpha*u[28]*(20*u[29]-20*u[27])+1600*u[27]-3200*u[28]+1600*u[29]
u_29 = -alpha*u[29]*(20*u[30]-20*u[28])+1600*u[28]-3200*u[29]+1600*u[30]
u_30 = -alpha*u[30]*(20*u[31]-20*u[29])+1600*u[29]-3200*u[30]+1600*u[31]
u_31 = -alpha*u[31]*(20*u[32]-20*u[30])+1600*u[30]-3200*u[31]+1600*u[32]
u_32 = -alpha*u[32]*(20*u[33]-20*u[31])+1600*u[31]-3200*u[32]+1600*u[33]
u_33 = -alpha*u[33]*(20*u[34]-20*u[32])+1600*u[32]-3200*u[33]+1600*u[34]
u_34 = -alpha*u[34]*(20*u[35]-20*u[33])+1600*u[33]-3200*u[34]+1600*u[35]
u_35 = -alpha*u[35]*(20*u[36]-20*u[34])+1600*u[34]-3200*u[35]+1600*u[36]
u_36 = -alpha*u[36]*(20*u[37]-20*u[35])+1600*u[35]-3200*u[36]+1600*u[37]
u_37 = -alpha*u[37]*(20*u[38]-20*u[36])+1600*u[36]-3200*u[37]+1600*u[38]
u_38 = -alpha*u[38]*(20*u[39]-20*u[37])+1600*u[37]-3200*u[38]+1600*u[39]
u_39 = -alpha*u[39]*(20*u[40]-20*u[38])+1600*u[38]-3200*u[39]+1600*u[40]

 

u := table(); for i to N do u[i] := initial_conditions[i] end do

.1644933719

 

.3289856976

 

.4934717144

 

.6579375992

 

.8223563570

 

.9866828090

 

1.150848028

 

1.314753051

 

1.478261707

 

1.641192349

 

1.803308276

 

1.964306617

 

2.123805434

 

2.281328760

 

2.436289364

 

2.587968970

 

2.735495794

 

2.877819368

 

3.013682762

 

3.141592654

 

3.259788188

 

3.366210070

 

3.458472370

 

3.533840560

 

3.589220824

 

3.621167336

 

3.625916040

 

3.599455182

 

3.537643690

 

3.436388151

 

3.291886154

 

3.100937330

 

2.861312732

 

2.572157998

 

2.234388242

 

1.851015873

 

1.427342882

 

.9709526944

 

.4914580366

 

0.

(2)

for i from 2 to N do T1[i] := (u[i+1]-u[i-1])/(2*h); T2[i] := u[i]*T1[i]; T3[i] := (u[i-1]-2*u[i]+u[i+1])/h^2; u[i][1] := v*T3[i]-T2[i] end do

20*u[3]-3.289867438

 

u[2]*(20*u[3]-3.289867438)

 

263.1893950-3200*u[2]+1600*u[3]

 

263.1893950-3200*u[2]+1600*u[3]-u[2]*(20*u[3]-3.289867438)

 

20*u[4]-20*u[2]

 

u[3]*(20*u[4]-20*u[2])

 

1600*u[2]-3200*u[3]+1600*u[4]

 

1600*u[2]-3200*u[3]+1600*u[4]-u[3]*(20*u[4]-20*u[2])

 

20*u[5]-20*u[3]

 

u[4]*(20*u[5]-20*u[3])

 

1600*u[3]-3200*u[4]+1600*u[5]

 

1600*u[3]-3200*u[4]+1600*u[5]-u[4]*(20*u[5]-20*u[3])

 

20*u[6]-20*u[4]

 

u[5]*(20*u[6]-20*u[4])

 

1600*u[4]-3200*u[5]+1600*u[6]

 

1600*u[4]-3200*u[5]+1600*u[6]-u[5]*(20*u[6]-20*u[4])

 

20*u[7]-20*u[5]

 

u[6]*(20*u[7]-20*u[5])

 

1600*u[5]-3200*u[6]+1600*u[7]

 

1600*u[5]-3200*u[6]+1600*u[7]-u[6]*(20*u[7]-20*u[5])

 

20*u[8]-20*u[6]

 

u[7]*(20*u[8]-20*u[6])

 

1600*u[6]-3200*u[7]+1600*u[8]

 

1600*u[6]-3200*u[7]+1600*u[8]-u[7]*(20*u[8]-20*u[6])

 

20*u[9]-20*u[7]

 

u[8]*(20*u[9]-20*u[7])

 

1600*u[7]-3200*u[8]+1600*u[9]

 

1600*u[7]-3200*u[8]+1600*u[9]-u[8]*(20*u[9]-20*u[7])

 

20*u[10]-20*u[8]

 

u[9]*(20*u[10]-20*u[8])

 

1600*u[8]-3200*u[9]+1600*u[10]

 

1600*u[8]-3200*u[9]+1600*u[10]-u[9]*(20*u[10]-20*u[8])

 

20*u[11]-20*u[9]

 

u[10]*(20*u[11]-20*u[9])

 

1600*u[9]-3200*u[10]+1600*u[11]

 

1600*u[9]-3200*u[10]+1600*u[11]-u[10]*(20*u[11]-20*u[9])

 

20*u[12]-20*u[10]

 

u[11]*(20*u[12]-20*u[10])

 

1600*u[10]-3200*u[11]+1600*u[12]

 

1600*u[10]-3200*u[11]+1600*u[12]-u[11]*(20*u[12]-20*u[10])

 

20*u[13]-20*u[11]

 

u[12]*(20*u[13]-20*u[11])

 

1600*u[11]-3200*u[12]+1600*u[13]

 

1600*u[11]-3200*u[12]+1600*u[13]-u[12]*(20*u[13]-20*u[11])

 

20*u[14]-20*u[12]

 

u[13]*(20*u[14]-20*u[12])

 

1600*u[12]-3200*u[13]+1600*u[14]

 

1600*u[12]-3200*u[13]+1600*u[14]-u[13]*(20*u[14]-20*u[12])

 

20*u[15]-20*u[13]

 

u[14]*(20*u[15]-20*u[13])

 

1600*u[13]-3200*u[14]+1600*u[15]

 

1600*u[13]-3200*u[14]+1600*u[15]-u[14]*(20*u[15]-20*u[13])

 

20*u[16]-20*u[14]

 

u[15]*(20*u[16]-20*u[14])

 

1600*u[14]-3200*u[15]+1600*u[16]

 

1600*u[14]-3200*u[15]+1600*u[16]-u[15]*(20*u[16]-20*u[14])

 

20*u[17]-20*u[15]

 

u[16]*(20*u[17]-20*u[15])

 

1600*u[15]-3200*u[16]+1600*u[17]

 

1600*u[15]-3200*u[16]+1600*u[17]-u[16]*(20*u[17]-20*u[15])

 

20*u[18]-20*u[16]

 

u[17]*(20*u[18]-20*u[16])

 

1600*u[16]-3200*u[17]+1600*u[18]

 

1600*u[16]-3200*u[17]+1600*u[18]-u[17]*(20*u[18]-20*u[16])

 

20*u[19]-20*u[17]

 

u[18]*(20*u[19]-20*u[17])

 

1600*u[17]-3200*u[18]+1600*u[19]

 

1600*u[17]-3200*u[18]+1600*u[19]-u[18]*(20*u[19]-20*u[17])

 

20*u[20]-20*u[18]

 

u[19]*(20*u[20]-20*u[18])

 

1600*u[18]-3200*u[19]+1600*u[20]

 

1600*u[18]-3200*u[19]+1600*u[20]-u[19]*(20*u[20]-20*u[18])

 

20*u[21]-20*u[19]

 

u[20]*(20*u[21]-20*u[19])

 

1600*u[19]-3200*u[20]+1600*u[21]

 

1600*u[19]-3200*u[20]+1600*u[21]-u[20]*(20*u[21]-20*u[19])

 

20*u[22]-20*u[20]

 

u[21]*(20*u[22]-20*u[20])

 

1600*u[20]-3200*u[21]+1600*u[22]

 

1600*u[20]-3200*u[21]+1600*u[22]-u[21]*(20*u[22]-20*u[20])

 

20*u[23]-20*u[21]

 

u[22]*(20*u[23]-20*u[21])

 

1600*u[21]-3200*u[22]+1600*u[23]

 

1600*u[21]-3200*u[22]+1600*u[23]-u[22]*(20*u[23]-20*u[21])

 

20*u[24]-20*u[22]

 

u[23]*(20*u[24]-20*u[22])

 

1600*u[22]-3200*u[23]+1600*u[24]

 

1600*u[22]-3200*u[23]+1600*u[24]-u[23]*(20*u[24]-20*u[22])

 

20*u[25]-20*u[23]

 

u[24]*(20*u[25]-20*u[23])

 

1600*u[23]-3200*u[24]+1600*u[25]

 

1600*u[23]-3200*u[24]+1600*u[25]-u[24]*(20*u[25]-20*u[23])

 

20*u[26]-20*u[24]

 

u[25]*(20*u[26]-20*u[24])

 

1600*u[24]-3200*u[25]+1600*u[26]

 

1600*u[24]-3200*u[25]+1600*u[26]-u[25]*(20*u[26]-20*u[24])

 

20*u[27]-20*u[25]

 

u[26]*(20*u[27]-20*u[25])

 

1600*u[25]-3200*u[26]+1600*u[27]

 

1600*u[25]-3200*u[26]+1600*u[27]-u[26]*(20*u[27]-20*u[25])

 

20*u[28]-20*u[26]

 

u[27]*(20*u[28]-20*u[26])

 

1600*u[26]-3200*u[27]+1600*u[28]

 

1600*u[26]-3200*u[27]+1600*u[28]-u[27]*(20*u[28]-20*u[26])

 

20*u[29]-20*u[27]

 

u[28]*(20*u[29]-20*u[27])

 

1600*u[27]-3200*u[28]+1600*u[29]

 

1600*u[27]-3200*u[28]+1600*u[29]-u[28]*(20*u[29]-20*u[27])

 

20*u[30]-20*u[28]

 

u[29]*(20*u[30]-20*u[28])

 

1600*u[28]-3200*u[29]+1600*u[30]

 

1600*u[28]-3200*u[29]+1600*u[30]-u[29]*(20*u[30]-20*u[28])

 

20*u[31]-20*u[29]

 

u[30]*(20*u[31]-20*u[29])

 

1600*u[29]-3200*u[30]+1600*u[31]

 

1600*u[29]-3200*u[30]+1600*u[31]-u[30]*(20*u[31]-20*u[29])

 

20*u[32]-20*u[30]

 

u[31]*(20*u[32]-20*u[30])

 

1600*u[30]-3200*u[31]+1600*u[32]

 

1600*u[30]-3200*u[31]+1600*u[32]-u[31]*(20*u[32]-20*u[30])

 

20*u[33]-20*u[31]

 

u[32]*(20*u[33]-20*u[31])

 

1600*u[31]-3200*u[32]+1600*u[33]

 

1600*u[31]-3200*u[32]+1600*u[33]-u[32]*(20*u[33]-20*u[31])

 

20*u[34]-20*u[32]

 

u[33]*(20*u[34]-20*u[32])

 

1600*u[32]-3200*u[33]+1600*u[34]

 

1600*u[32]-3200*u[33]+1600*u[34]-u[33]*(20*u[34]-20*u[32])

 

20*u[35]-20*u[33]

 

u[34]*(20*u[35]-20*u[33])

 

1600*u[33]-3200*u[34]+1600*u[35]

 

1600*u[33]-3200*u[34]+1600*u[35]-u[34]*(20*u[35]-20*u[33])

 

20*u[36]-20*u[34]

 

u[35]*(20*u[36]-20*u[34])

 

1600*u[34]-3200*u[35]+1600*u[36]

 

1600*u[34]-3200*u[35]+1600*u[36]-u[35]*(20*u[36]-20*u[34])

 

20*u[37]-20*u[35]

 

u[36]*(20*u[37]-20*u[35])

 

1600*u[35]-3200*u[36]+1600*u[37]

 

1600*u[35]-3200*u[36]+1600*u[37]-u[36]*(20*u[37]-20*u[35])

 

20*u[38]-20*u[36]

 

u[37]*(20*u[38]-20*u[36])

 

1600*u[36]-3200*u[37]+1600*u[38]

 

1600*u[36]-3200*u[37]+1600*u[38]-u[37]*(20*u[38]-20*u[36])

 

20*u[39]-20*u[37]

 

u[38]*(20*u[39]-20*u[37])

 

1600*u[37]-3200*u[38]+1600*u[39]

 

1600*u[37]-3200*u[38]+1600*u[39]-u[38]*(20*u[39]-20*u[37])

 

20*u[40]-20*u[38]

 

u[39]*(20*u[40]-20*u[38])

 

1600*u[38]-3200*u[39]+1600*u[40]

 

1600*u[38]-3200*u[39]+1600*u[40]-u[39]*(20*u[40]-20*u[38])

 

20*u[41]-20*u[39]

 

u[40]*(20*u[41]-20*u[39])

 

1600*u[39]-3200*u[40]+1600*u[41]

 

1600*u[39]-3200*u[40]+1600*u[41]-u[40]*(20*u[41]-20*u[39])

(3)

u[1]

.1644933719

(4)

u[2]

u[2]

(5)
 

NULL

Download automatic_differentiation.mw

Why is this sum form for tan(x) not reported by FunctionAdvisor?
(sum = ''sum'')(-2/(2*Pi*n+Pi+2*x)-2/(-2*Pi*n-Pi+2*x), n = 0 .. infinity);
FunctionAdvisor(tan);

Function X__2(y1,y2) is a function of X__1(y1,y2). How do I express (implicitly) d(X__2)/d(y1) and d(X__2)/d(y2) in terms of d(X__1)/d(y1) and d(X__1)/d(y2) and perhaps of X__1 and X__2 themselves?

I illustrate what I mean with an example for X__1(y1,y2), where d(X__1)/d(y1) and d(X__1)/d(y2) are written in a relatively compact form in terms of X__1 itself:
 

restart;

X1 := RootOf((8*y__1^14 + 32*y__1^12*y__2^2 + 48*y__1^10*y__2^4 + 32*y__1^8*y__2^6 + 8*y__1^6*y__2^8 + 16*y__1^12 + 80*y__1^10*y__2^2 + 160*y__1^8*y__2^4 + 160*y__1^6*y__2^6 + 80*y__1^4*y__2^8 + 16*y__1^2*y__2^10)*_Z^10 + (40*y__1^13*y__2^2 + 120*y__1^11*y__2^4 + 120*y__1^9*y__2^6 + 40*y__1^7*y__2^8 + 16*y__1^13 + 176*y__1^11*y__2^2 + 544*y__1^9*y__2^4 + 736*y__1^7*y__2^6 + 464*y__1^5*y__2^8 + 112*y__1^3*y__2^10)*_Z^9 + (84*y__1^12*y__2^4 + 168*y__1^10*y__2^6 + 84*y__1^8*y__2^8 - 20*y__1^14 + 28*y__1^12*y__2^2 + 552*y__1^10*y__2^4 + 1288*y__1^8*y__2^6 + 1132*y__1^6*y__2^8 + 348*y__1^4*y__2^10 - 48*y__1^12 - 192*y__1^10*y__2^2 - 272*y__1^8*y__2^4 - 128*y__1^6*y__2^6 + 48*y__1^4*y__2^8 + 64*y__1^2*y__2^10 + 16*y__2^12)*_Z^8 + (88*y__1^11*y__2^6 + 88*y__1^9*y__2^8 - 80*y__1^13*y__2^2 + 56*y__1^11*y__2^4 + 960*y__1^9*y__2^6 + 1432*y__1^7*y__2^8 + 608*y__1^5*y__2^10 - 48*y__1^13 - 416*y__1^11*y__2^2 - 944*y__1^9*y__2^4 - 736*y__1^7*y__2^6 + 16*y__1^5*y__2^8 + 256*y__1^3*y__2^10 + 80*y__1*y__2^12)*_Z^7 + (40*y__1^10*y__2^8 - 128*y__1^12*y__2^4 + 168*y__1^10*y__2^6 + 928*y__1^8*y__2^8 + 632*y__1^6*y__2^10 + 12*y__1^14 - 192*y__1^12*y__2^2 - 1084*y__1^10*y__2^4 - 1472*y__1^8*y__2^6 - 340*y__1^6*y__2^8 + 432*y__1^4*y__2^10 + 180*y__1^2*y__2^12 + 48*y__1^12 + 144*y__1^10*y__2^2 + 112*y__1^8*y__2^4 - 48*y__1^6*y__2^6 - 96*y__1^4*y__2^8 - 32*y__1^2*y__2^10)*_Z^6 + (-92*y__1^11*y__2^6 + 228*y__1^9*y__2^8 + 368*y__1^7*y__2^10 + 32*y__1^13*y__2^2 - 384*y__1^11*y__2^4 - 1272*y__1^9*y__2^6 - 704*y__1^7*y__2^8 + 376*y__1^5*y__2^10 + 224*y__1^3*y__2^12 + 48*y__1^13 + 304*y__1^11*y__2^2 + 432*y__1^9*y__2^4 + 16*y__1^7*y__2^6 - 288*y__1^5*y__2^8 - 128*y__1^3*y__2^10)*_Z^5 + (-24*y__1^10*y__2^8 + 96*y__1^8*y__2^10 + 24*y__1^12*y__2^4 - 412*y__1^10*y__2^6 - 576*y__1^8*y__2^8 + 164*y__1^6*y__2^10 + 160*y__1^4*y__2^12 + 4*y__1^14 + 172*y__1^12*y__2^2 + 532*y__1^10*y__2^4 + 252*y__1^8*y__2^6 - 328*y__1^6*y__2^8 - 216*y__1^4*y__2^10 - 16*y__1^12 - 32*y__1^10*y__2^2 + 32*y__1^6*y__2^6 + 16*y__1^4*y__2^8)*_Z^4 + (-8*y__1^11*y__2^6 - 192*y__1^9*y__2^8 + 28*y__1^7*y__2^10 + 60*y__1^5*y__2^12 + 16*y__1^13*y__2^2 + 232*y__1^11*y__2^4 + 296*y__1^9*y__2^6 - 168*y__1^7*y__2^8 - 184*y__1^5*y__2^10 - 16*y__1^13 - 64*y__1^11*y__2^2 - 32*y__1^9*y__2^4 + 64*y__1^7*y__2^6 + 48*y__1^5*y__2^8)*_Z^3 + (-15*y__1^10*y__2^8 + 9*y__1^6*y__2^12 + 24*y__1^12*y__2^4 + 116*y__1^10*y__2^6 - 36*y__1^8*y__2^8 - 80*y__1^6*y__2^10 - 4*y__1^14 - 40*y__1^12*y__2^2 - 48*y__1^10*y__2^4 + 40*y__1^8*y__2^6 + 52*y__1^6*y__2^8)*_Z^2 + (12*y__1^11*y__2^6 - 4*y__1^9*y__2^8 - 16*y__1^7*y__2^10 - 8*y__1^13*y__2^2 - 24*y__1^11*y__2^4 + 8*y__1^9*y__2^6 + 24*y__1^7*y__2^8)*_Z - y__1^10*y__2^8 - y__1^8*y__2^10 - 4*y__1^12*y__2^4 + 4*y__1^8*y__2^8):

alias(X__1=X1);

X__2 := -y__1*y__2^2*X__1*(8*X__1^7*y__1^10 + 24*X__1^7*y__1^8*y__2^2 + 24*X__1^7*y__1^6*y__2^4 + 8*X__1^7*y__1^4*y__2^6 + 24*X__1^6*y__1^9*y__2^2 + 48*X__1^6*y__1^7*y__2^4 + 24*X__1^6*y__1^5*y__2^6 + 26*X__1^5*y__1^8*y__2^4 + 26*X__1^5*y__1^6*y__2^6 + 8*X__1^4*y__1^7*y__2^6 + 32*X__1^7*y__1^8 + 128*X__1^7*y__1^6*y__2^2 + 192*X__1^7*y__1^4*y__2^4 + 128*X__1^7*y__1^2*y__2^6 + 32*X__1^7*y__2^8 + 16*X__1^6*y__1^9 + 192*X__1^6*y__1^7*y__2^2 + 480*X__1^6*y__1^5*y__2^4 + 448*X__1^6*y__1^3*y__2^6 + 144*X__1^6*y__1*y__2^8 - 16*X__1^5*y__1^10 + 32*X__1^5*y__1^8*y__2^2 + 392*X__1^5*y__1^6*y__2^4 + 624*X__1^5*y__1^4*y__2^6 + 280*X__1^5*y__1^2*y__2^8 - 36*X__1^4*y__1^9*y__2^2 + 72*X__1^4*y__1^7*y__2^4 + 396*X__1^4*y__1^5*y__2^6 + 288*X__1^4*y__1^3*y__2^8 - 28*X__1^3*y__1^8*y__2^4 + 84*X__1^3*y__1^6*y__2^6 + 156*X__1^3*y__1^4*y__2^8 - 7*X__1^2*y__1^7*y__2^6 + 33*X__1^2*y__1^5*y__2^8 - 64*X__1^5*y__1^8 - 192*X__1^5*y__1^6*y__2^2 - 192*X__1^5*y__1^4*y__2^4 - 64*X__1^5*y__1^2*y__2^6 - 32*X__1^4*y__1^9 - 288*X__1^4*y__1^7*y__2^2 - 480*X__1^4*y__1^5*y__2^4 - 224*X__1^4*y__1^3*y__2^6 + 8*X__1^3*y__1^10 - 88*X__1^3*y__1^8*y__2^2 - 408*X__1^3*y__1^6*y__2^4 - 312*X__1^3*y__1^4*y__2^6 + 12*X__1^2*y__1^9*y__2^2 - 108*X__1^2*y__1^7*y__2^4 - 196*X__1^2*y__1^5*y__2^6 + 4*X__1^2*y__1^3*y__2^8 + 2*X__1*y__1^8*y__2^4 - 46*X__1*y__1^6*y__2^6 + 4*X__1*y__1^4*y__2^8 - y__1^7*y__2^6 + y__1^5*y__2^8 + 32*X__1^3*y__1^8 + 64*X__1^3*y__1^6*y__2^2 + 32*X__1^3*y__1^4*y__2^4 + 16*X__1^2*y__1^9 + 96*X__1^2*y__1^7*y__2^2 + 80*X__1^2*y__1^5*y__2^4 + 32*X__1*y__1^8*y__2^2 + 64*X__1*y__1^6*y__2^4 + 16*y__1^7*y__2^4)/(-8*X__1^7*y__1^11*y__2^2 - 24*X__1^7*y__1^9*y__2^4 - 24*X__1^7*y__1^7*y__2^6 - 8*X__1^7*y__1^5*y__2^8 - 32*X__1^6*y__1^10*y__2^4 - 64*X__1^6*y__1^8*y__2^6 - 32*X__1^6*y__1^6*y__2^8 - 50*X__1^5*y__1^9*y__2^6 - 50*X__1^5*y__1^7*y__2^8 - 28*X__1^4*y__1^8*y__2^8 + 32*X__1^8*y__1^10 + 160*X__1^8*y__1^8*y__2^2 + 320*X__1^8*y__1^6*y__2^4 + 320*X__1^8*y__1^4*y__2^6 + 160*X__1^8*y__1^2*y__2^8 + 32*X__1^8*y__2^10 + 160*X__1^7*y__1^9*y__2^2 + 640*X__1^7*y__1^7*y__2^4 + 960*X__1^7*y__1^5*y__2^6 + 640*X__1^7*y__1^3*y__2^8 + 160*X__1^7*y__1*y__2^10 - 8*X__1^6*y__1^12 - 24*X__1^6*y__1^10*y__2^2 + 328*X__1^6*y__1^8*y__2^4 + 1048*X__1^6*y__1^6*y__2^6 + 1056*X__1^6*y__1^4*y__2^8 + 352*X__1^6*y__1^2*y__2^10 - 24*X__1^5*y__1^11*y__2^2 - 48*X__1^5*y__1^9*y__2^4 + 400*X__1^5*y__1^7*y__2^6 + 848*X__1^5*y__1^5*y__2^8 + 424*X__1^5*y__1^3*y__2^10 - 38*X__1^4*y__1^10*y__2^4 - 54*X__1^4*y__1^8*y__2^6 + 274*X__1^4*y__1^6*y__2^8 + 290*X__1^4*y__1^4*y__2^10 - 44*X__1^3*y__1^9*y__2^6 - 32*X__1^3*y__1^7*y__2^8 + 104*X__1^3*y__1^5*y__2^10 - 27*X__1^2*y__1^8*y__2^8 + 15*X__1^2*y__1^6*y__2^10 - 64*X__1^6*y__1^10 - 256*X__1^6*y__1^8*y__2^2 - 384*X__1^6*y__1^6*y__2^4 - 256*X__1^6*y__1^4*y__2^6 - 64*X__1^6*y__1^2*y__2^8 - 256*X__1^5*y__1^9*y__2^2 - 768*X__1^5*y__1^7*y__2^4 - 768*X__1^5*y__1^5*y__2^6 - 256*X__1^5*y__1^3*y__2^8 + 16*X__1^4*y__1^12 + 32*X__1^4*y__1^10*y__2^2 - 408*X__1^4*y__1^8*y__2^4 - 848*X__1^4*y__1^6*y__2^6 - 424*X__1^4*y__1^4*y__2^8 + 48*X__1^3*y__1^11*y__2^2 + 48*X__1^3*y__1^9*y__2^4 - 352*X__1^3*y__1^7*y__2^6 - 352*X__1^3*y__1^5*y__2^8 + 54*X__1^2*y__1^10*y__2^4 - 150*X__1^2*y__1^6*y__2^8 + 22*X__1*y__1^9*y__2^6 - 30*X__1*y__1^7*y__2^8 - 2*y__1^8*y__2^8 + 32*X__1^4*y__1^10 + 96*X__1^4*y__1^8*y__2^2 + 96*X__1^4*y__1^6*y__2^4 + 32*X__1^4*y__1^4*y__2^6 + 96*X__1^3*y__1^9*y__2^2 + 192*X__1^3*y__1^7*y__2^4 + 96*X__1^3*y__1^5*y__2^6 - 8*X__1^2*y__1^12 - 8*X__1^2*y__1^10*y__2^2 + 104*X__1^2*y__1^8*y__2^4 + 104*X__1^2*y__1^6*y__2^6 - 16*X__1*y__1^11*y__2^2 + 48*X__1*y__1^7*y__2^6 - 8*y__1^10*y__2^4 + 8*y__1^8*y__2^6):


Synthetic representation of derivatives


derivatives for X__1 okay: written in terms of y__1, y__2, and X__1 itself.

derX1_y1 := diff(X1, y__1):
derX1_y2 := diff(X1, y__2):

Diff('X__1(y__1,y__2)', y__1) = collect~(normal(eval(derX1_y1, X1 = 'X__1(y__1,y__2)')), 'X__1(y__1,y__2)');
Diff('X__1(y__1,y__2)', y__2) = collect~(normal(eval(derX1_y2, X1 = 'X__1(y__1,y__2)')), 'X__1(y__1,y__2)');


derivatives for X__2 not okay (X__2 is itself a function of X__1): how do I write them in terms of y__1, y__2, X__1 AND the derivatives for X__1 just found? What's the most compact way to express these two derivatives below?

derX2_y1 := diff(X__2, y__1):
derX2_y2 := diff(X__2, y__2):

Diff('X__2(y__1,y__2)', y__1) = collect~(normal(eval(eval(derX2_y1, derX1_y1='Diff('X__1(y__1,y__2)', y__1)'), X__1 = 'X__1(y__1,y__2)')), 'X__1(y__1,y__2)');
Diff('X__2(y__1,y__2)', y__2) = collect~(normal(eval(derX2_y2, X__1 = 'X__1(y__1,y__2)')), 'X__1(y__1,y__2)');

``

 

Download compact_derivatives.mw


Thank you for the help.

I am plotting phase plot of two first order ode's.

I noticed when added +t to one ode, the plot generated losses all the slope fields. Any one knows why and if this is just limitation of DEplot or if there is a way to workaround it. 

THis worksheet has first example showing expected output, then second example where +t was added first ode. Now same code generates plot will all the slope field gone.


 

interface(version);

`Standard Worksheet Interface, Maple 2024.1, Windows 10, June 25 2024 Build ID 1835466`

sys:=[diff(x(t),t)+diff(y(t),t) = x(t)+y(t), 2*diff(x(t),t)+diff(y(t),t) = 2*x(t)+3*y(t)];
DEtools:-DEplot(sys,[x(t), y(t)],
        t = 0 .. 200,x = -1000 .. 1000,y = -1000 .. 1000,
        [[x(0)=1, y(0)=2]],
        labels = [x(t), y(t)],
        linecolor =red,arrowsize = 1.5,axes = boxed,
        color = 'magnitude[legacy]')

[diff(x(t), t)+diff(y(t), t) = x(t)+y(t), 2*(diff(x(t), t))+diff(y(t), t) = 2*x(t)+3*y(t)]

#added +t to the RHS of one ode. Everything else the same.
sys_2:=[diff(x(t),t)+diff(y(t),t) = x(t)+y(t)+t, 2*diff(x(t),t)+diff(y(t),t) = 2*x(t)+3*y(t)];
DEtools:-DEplot(sys_2,[x(t), y(t)],
        t = 0 .. 200,x = -1000 .. 1000,y = -1000 .. 1000,
        [[x(0)=1, y(0)=2]],
        labels = [x(t), y(t)],
        linecolor =red,arrowsize = 1.5,axes = boxed,
        color = 'magnitude[legacy]')

[diff(x(t), t)+diff(y(t), t) = x(t)+y(t)+t, 2*(diff(x(t), t))+diff(y(t), t) = 2*x(t)+3*y(t)]

dsolve([op(sys),x(0)=1, y(0)=2]);

{x(t) = 3*exp(t)-2*exp(-t), y(t) = 2*exp(-t)}

dsolve([op(sys_2),x(0)=1, y(0)=2]);

{x(t) = 4*exp(t)-4*exp(-t)+1-3*t, y(t) = 4*exp(-t)-2+2*t}

 


 

Download strange_DEplot.mw

update

if someone is interested, I found Maple has builtin function to check if system of ode's is autonomous or not. So changed my code to check first. Here is how to check:


 

interface(version);

`Standard Worksheet Interface, Maple 2024.1, Windows 10, June 25 2024 Build ID 1835466`

restart;

sys:=[diff(x(t),t)+diff(y(t),t) = x(t)+y(t), 2*diff(x(t),t)+diff(y(t),t) = 2*x(t)+3*y(t)];
if DEtools:-autonomous(sys,[x(t),y(t)],t) then
    DEtools:-DEplot(sys,[x(t), y(t)],
        t = 0 .. 200,x = -1000 .. 1000,y = -1000 .. 1000,
        [[x(0)=1, y(0)=2]],
        labels = [x(t), y(t)],
        linecolor =red,arrowsize = 1.5,axes = boxed,
        color = 'magnitude[legacy]');
else
  print("WARNING, non-autonomous system. Will not do phase plot");
fi;

[diff(x(t), t)+diff(y(t), t) = x(t)+y(t), 2*(diff(x(t), t))+diff(y(t), t) = 2*x(t)+3*y(t)]

#added +t to the RHS of one ode. Everything else the same.
sys_2:=[diff(x(t),t)+diff(y(t),t) = x(t)+y(t)+t, 2*diff(x(t),t)+diff(y(t),t) = 2*x(t)+3*y(t)];
if DEtools:-autonomous(sys_2,[x(t),y(t)],t) then
   DEtools:-DEplot(sys_2,[x(t), y(t)],
        t = 0 .. 200,x = -1000 .. 1000,y = -1000 .. 1000,
        [[x(0)=1, y(0)=2]],
        labels = [x(t), y(t)],
        linecolor =red,arrowsize = 1.5,axes = boxed,
        color = 'magnitude[legacy]');
else
  print("WARNING, non-autonomous system. Will not do phase plot");
fi;

[diff(x(t), t)+diff(y(t), t) = x(t)+y(t)+t, 2*(diff(x(t), t))+diff(y(t), t) = 2*x(t)+3*y(t)]

"WARNING, non-autonomous system. Will not do phase plot"

 


 

Download strange_DEplot_V2.mw

 

 

 

Hello everyone

I want to use some limitations in fsolve by using seq command, but I can not achieve to any solution.

Can you help me?

I provided my maple codes here

restart;
f := sin(x[1] + x[2]) - exp(x[1])*x[2] = 0;
g := x[1]^2 - x[2] - 2 = 0;
cond := {seq(x[i] = -1 .. 1, i = 1 .. 2)};

fsolve({f, g}, cond);

I found that  DynamicSystems package uses global variable called s

THis makes zero design sense. Why would a package use a global variable that could have been used by a user? 

What is the correct way to prevent this warning message from showing up, as I have no control over what variable can be used in global space.  I also tried to declare as local to the function that is using the package, but that did not help. Only way was to remove variable from global space before.

Any suggestions?  And why DynamicSystems is even using global symbols in first place?


 

interface(version);

`Standard Worksheet Interface, Maple 2024.1, Windows 10, June 25 2024 Build ID 1835466`

restart;

z

foo:=proc()
 local sv;

 DynamicSystems:-SystemOptions('statevariable'=sv);

end proc;
 

proc () local sv; DynamicSystems:-SystemOptions('statevariable' = sv) end proc

s:="test";
foo();

"test"

Warning, the global variable(s) {s} used by DynamicSystems are assigned values.  They must be unassigned to load DynamicSystems.  DynamicSystems:-SystemOptions may be used to reassign the options that use these variable(s):
  complexfreqvar = s

x

restart;

foo:=proc()
 local sv;
 local s;

 DynamicSystems:-SystemOptions('statevariable'=sv);

end proc;

proc () local sv, s; DynamicSystems:-SystemOptions('statevariable' = sv) end proc

s:="test";
foo();

"test"

Warning, the global variable(s) {s} used by DynamicSystems are assigned values.  They must be unassigned to load DynamicSystems.  DynamicSystems:-SystemOptions may be used to reassign the options that use these variable(s):
  complexfreqvar = s

x

restart;

#warnign goes away when there is no global used  s before the call is made
foo:=proc()
 local sv;
 local s;

 DynamicSystems:-SystemOptions('statevariable'=sv);

end proc;

proc () local sv, s; DynamicSystems:-SystemOptions('statevariable' = sv) end proc

foo();

x

 


 

Download dynamic_systems_uses_gloabl_s.mw

 

eq1 := x = (a^2 + b^2 - c^2)*(a^2 - b^2 + c^2)/((-a + b + c)*(a + b - c)*(a - b + c)*(a + b + c));
eq2 := y = (-a^2 + b^2 + c^2)*(a^2 + b^2 - c^2)/((-a + b + c)*(a + b - c)*(a - b + c)*(a + b + c));
eq3 := z = (-a^2 + b^2 + c^2)*(a^2 - b^2 + c^2)/((-a + b + c)*(a + b - c)*(a - b + c)*(a + b + c));
sol := solve({eq1, eq2, eq3, x + y + z = 1}, {a, b, c}, explicit);
No resolution. To find the Cartesian coordinates from barycentric coordinates;

Hello, I trying to sum up a series which involves several binomial terms, Maple simply gets stuck and give no results. I think I am not being smart to improve Maple performance. Please, see my code below:
 

>n1 := 423; x := 16; n2 := 81; y := 35; s1 := 0.1; b1 := 7; beta1 := 2.1; s2 := 0.1; b2 := 7; beta2 := 2.1;

>A := (h, v) -> Sum(Sum(binomial(n1 - x, j)*binomial(n2 - y, l)*(-1)^(j + l)*GAMMA(s1 + h + 1)*GAMMA(s2 + v + 1)*(-1)^(h + v)*(beta1 - 1)^h*(beta2 - 1)^v/(h!*GAMMA(s1 + 1)*v!*GAMMA(s2 + 1)*(x + b1*s1 + j + b1*h + y + b2*s2 + l + b2*v)*(r + x + b1*s1 + j + b1*v)), j = 0 .. n1 - x), l = 0 .. n2 - y);

>B := (h, v) -> Sum(Sum(binomial(n1 - x, j)*binomial(n2 - y, l)*(-1)^(j + l)*GAMMA(s1 + v + 1)*GAMMA(s2 + h + 1)*(-1)^(h + v)*(beta1 - 1)^v*(beta2 - 1)^h/(v!*GAMMA(s1 + 1)*h!*GAMMA(s2 + 1)*(y + b2*s2 + l + b2*h + x + b1*s1 + j + b1*v)*(y + b2*s2 + l + b2*h - r)), j = 0 .. n1 - x), l = 0 .. n2 - y)

>f := (r, upto) -> sum(sum(A(h, v) + B(h, v), v = 0 .. upto), h = 0 .. upto);

>f(0,30);

Summing up to 30 is very slow, I have left it running over many hours and no result was provided. Could we improve the way it is summing up? thanks in advance.

 

 

 

My (intutive) interpretation of combine was so far in line with the combine help page

The combine function applies transformations which combine terms in sums,...

For the expression below I have to do the opposite (i.e. expand)

1/2 + cos(2*x)/2
                         1   1         
                         - + - cos(2 x)
                         2   2         

expand(%,trig)
                                  2
                            cos(x) 

Why is this and why does the context pannel offer (the ineffective) combine,trig on the first expression but not (the effective) expand,trig?

This cannot be a bug (this trig identity is so elementary) but I cannot make sense of it.

 

For display of plot axes labels, I prefer to use the Typesseting in place so that diff(y(x),x) display as y'(x) (takes less space and looks better also).

It does that in the worksheet. But when using diff(y(x),x) as the Y axis label, the plot still shows diff(y(x),x) and not y'(x).

Is there a way to make plot and DEtools:-DEplot  use the Typesetting in place?   What is the point of using Typesetting if plots generated do not use it?
 

interface(version);

`Standard Worksheet Interface, Maple 2024.1, Windows 10, June 25 2024 Build ID 1835466`

Physics:-Version();

`The "Physics Updates" version in the MapleCloud is 1781 and is the same as the version installed in this computer, created 2024, August 4, 11:27 hours Pacific Time.`

restart;

interface(typesetting = extended)

extended

Typesetting:-Settings(prime=x,'typesetprime'=true); #this says to use y'(x) instead of dy/dx    
#Typesetting:-Suppress(y(x)); # this says to use y' and not y'(x)

x, false

#phase plot for second order ode. Y axis is y'(x) and X axis is y(x)
#uses DynamicsSystems for conversion.
ode := diff(y(x),x$2) = -y(x)-1/2*diff(y(x),x);   
DynamicSystems:-SystemOptions('statevariable'=sv):
DynamicSystems:-SystemOptions('discretefreqvar'=ssv):            
DynamicSystems:-SystemOptions('outputvariable'=sssv):
DynamicSystems:-SystemOptions('continuoustimevar'=ssssv):  

DynamicSystems:-SystemOptions('continuoustimevar'=x):            
sys:=DynamicSystems:-DiffEquation(ode,'outputvariable'=[y(x)]):

sys0:=DynamicSystems:-StateSpace(sys):
eq1:=diff(X1(x),x)=sys0:-a[1,..].Vector([X1(x),X2(x)]):
eq2:=diff(X2(x),x)=sys0:-a[2,..].Vector([X1(x),X2(x)]):

DEtools:-DEplot([eq1,eq2],[X1(x),X2(x)],x=0..100,
            X2=-4..4,X1=-4..4,
            axes=boxed,
            linecolor = red,        
            labels=[y(x),diff(y(x),x)]);
 

diff(diff(y(x), x), x) = -y(x)-(1/2)*(diff(y(x), x))

 


 

Download labels_for_plot_do_not_use_typesetting_maple_2024.mw

 

Notice the label on Y axis above. I'd like that to display as y'(x) as it is in the worksheet.

 

Since the temporal term disappears from the denominator for any values of the parameters, I am puzzled. Why is this happening? It seems I might be missing something. When I consider one of the terms (named 'opnumeric') in the denominator and assign parametric values, the temporal term is present. However, when looking at the whole expression, the temporal term is absent in the denominator (named 'den1numeric'). How can this be resolved? numericden.mw

Good evening, I am trying to factor the equation 9*csc^2*theta + 9 in Maple and Maple does not do it or I do not know what command I should use because with factor it does not do it.

Please could you tell me how to do it?

 

I'm looking for a comprehensive ebook on mathematical modeling, specificaly focused on dynamical systems and how to use Maple for simulations and analysis. Does anyone have any recommendations for a good resource or textbook that covers these topics thoroughly?

i am trying to make code for automatic differentiation method. kindly help me out with that. i have asked chatgpt too. i am going to attach my file alongwith chatgpt code kindly help meautomatic_differentiation.mw
 

restart

v := 1; a := 2; t := 0.1e-2; dt := 0.1e-3; N := 40; h := 1/40; K := 4

NULL

NULL

for i from 0 to N do x[i] := i*h end do

NULL

initial_conditions := []; for i to N do initial_conditions := [op(initial_conditions), 2*v*Pi*sin(Pi*x[i])/(a+cos(Pi*x[i]))] end do

u := proc (i) local u_x, u_xx, expr, j; u_x := (1/2)*(u[i+1]-u[i-1])/h; u_xx := (u[i-1]-2*u[i]+u[i+1])/h^2; expr := -alpha*u[i]*u_x+v*u_xx; expr end proc
NULL

NULL

odes := [seq(u(i, [seq(u[j], j = 1 .. N-1)]), i = 1 .. N-1)]

for i to N-1 do assign(o[i] = odes[i]) end do

for i to N-1 do printf("u_%d = %s\n", i, convert(u(i), string)) end do

u_1 = -alpha*u[1]*(20*u[2]-20*u[0])+1600*u[0]-3200*u[1]+1600*u[2]
u_2 = -alpha*u[2]*(20*u[3]-20*u[1])+1600*u[1]-3200*u[2]+1600*u[3]
u_3 = -alpha*u[3]*(20*u[4]-20*u[2])+1600*u[2]-3200*u[3]+1600*u[4]
u_4 = -alpha*u[4]*(20*u[5]-20*u[3])+1600*u[3]-3200*u[4]+1600*u[5]
u_5 = -alpha*u[5]*(20*u[6]-20*u[4])+1600*u[4]-3200*u[5]+1600*u[6]
u_6 = -alpha*u[6]*(20*u[7]-20*u[5])+1600*u[5]-3200*u[6]+1600*u[7]
u_7 = -alpha*u[7]*(20*u[8]-20*u[6])+1600*u[6]-3200*u[7]+1600*u[8]
u_8 = -alpha*u[8]*(20*u[9]-20*u[7])+1600*u[7]-3200*u[8]+1600*u[9]
u_9 = -alpha*u[9]*(20*u[10]-20*u[8])+1600*u[8]-3200*u[9]+1600*u[10]
u_10 = -alpha*u[10]*(20*u[11]-20*u[9])+1600*u[9]-3200*u[10]+1600*u[11]
u_11 = -alpha*u[11]*(20*u[12]-20*u[10])+1600*u[10]-3200*u[11]+1600*u[12]
u_12 = -alpha*u[12]*(20*u[13]-20*u[11])+1600*u[11]-3200*u[12]+1600*u[13]
u_13 = -alpha*u[13]*(20*u[14]-20*u[12])+1600*u[12]-3200*u[13]+1600*u[14]
u_14 = -alpha*u[14]*(20*u[15]-20*u[13])+1600*u[13]-3200*u[14]+1600*u[15]
u_15 = -alpha*u[15]*(20*u[16]-20*u[14])+1600*u[14]-3200*u[15]+1600*u[16]
u_16 = -alpha*u[16]*(20*u[17]-20*u[15])+1600*u[15]-3200*u[16]+1600*u[17]
u_17 = -alpha*u[17]*(20*u[18]-20*u[16])+1600*u[16]-3200*u[17]+1600*u[18]
u_18 = -alpha*u[18]*(20*u[19]-20*u[17])+1600*u[17]-3200*u[18]+1600*u[19]
u_19 = -alpha*u[19]*(20*u[20]-20*u[18])+1600*u[18]-3200*u[19]+1600*u[20]
u_20 = -alpha*u[20]*(20*u[21]-20*u[19])+1600*u[19]-3200*u[20]+1600*u[21]
u_21 = -alpha*u[21]*(20*u[22]-20*u[20])+1600*u[20]-3200*u[21]+1600*u[22]
u_22 = -alpha*u[22]*(20*u[23]-20*u[21])+1600*u[21]-3200*u[22]+1600*u[23]
u_23 = -alpha*u[23]*(20*u[24]-20*u[22])+1600*u[22]-3200*u[23]+1600*u[24]
u_24 = -alpha*u[24]*(20*u[25]-20*u[23])+1600*u[23]-3200*u[24]+1600*u[25]
u_25 = -alpha*u[25]*(20*u[26]-20*u[24])+1600*u[24]-3200*u[25]+1600*u[26]
u_26 = -alpha*u[26]*(20*u[27]-20*u[25])+1600*u[25]-3200*u[26]+1600*u[27]
u_27 = -alpha*u[27]*(20*u[28]-20*u[26])+1600*u[26]-3200*u[27]+1600*u[28]
u_28 = -alpha*u[28]*(20*u[29]-20*u[27])+1600*u[27]-3200*u[28]+1600*u[29]
u_29 = -alpha*u[29]*(20*u[30]-20*u[28])+1600*u[28]-3200*u[29]+1600*u[30]
u_30 = -alpha*u[30]*(20*u[31]-20*u[29])+1600*u[29]-3200*u[30]+1600*u[31]
u_31 = -alpha*u[31]*(20*u[32]-20*u[30])+1600*u[30]-3200*u[31]+1600*u[32]
u_32 = -alpha*u[32]*(20*u[33]-20*u[31])+1600*u[31]-3200*u[32]+1600*u[33]
u_33 = -alpha*u[33]*(20*u[34]-20*u[32])+1600*u[32]-3200*u[33]+1600*u[34]
u_34 = -alpha*u[34]*(20*u[35]-20*u[33])+1600*u[33]-3200*u[34]+1600*u[35]
u_35 = -alpha*u[35]*(20*u[36]-20*u[34])+1600*u[34]-3200*u[35]+1600*u[36]
u_36 = -alpha*u[36]*(20*u[37]-20*u[35])+1600*u[35]-3200*u[36]+1600*u[37]
u_37 = -alpha*u[37]*(20*u[38]-20*u[36])+1600*u[36]-3200*u[37]+1600*u[38]
u_38 = -alpha*u[38]*(20*u[39]-20*u[37])+1600*u[37]-3200*u[38]+1600*u[39]
u_39 = -alpha*u[39]*(20*u[40]-20*u[38])+1600*u[38]-3200*u[39]+1600*u[40]

 

eval_derivatives := proc (k, u) local T1i, T2i, T3i, T1ik, T2ik, T3ik, ui_k, i, j; T1i := Array(0 .. N); T2i := Array(0 .. N); T3i := Array(0 .. N); ui_k := Array(0 .. N); for i to N-1 do T1i[i] := (1/2)*(u[i+1]-u[i-1])/h; T2i[i] := u[i]*T1i[i]; T3i[i] := (u[i-1]-2*u[i]+u[i+1])/h^2; ui_k[i] := v*T3i[i]-T2i[i] end do; T1ik := Array(0 .. N); T2ik := Array(0 .. N); T3ik := Array(0 .. N); for i to N-1 do T1ik[i] := (1/2)*(u[i+1, k]-u[i-1, k])/h; T2ik[i] := add(u[i, j]*T1i[i, k-j], j = 0 .. k); T3ik[i] := (u[i-1, k]-2*u[i, k]+u[i+1, k])/h^2; ui_k[i] := (v*T3ik[i]-T2ik[i])/(k+1) end do; return ui_k end proc
``

proc (k, u) local T1i, T2i, T3i, T1ik, T2ik, T3ik, ui_k, i, j; T1i := Array(0 .. N); T2i := Array(0 .. N); T3i := Array(0 .. N); ui_k := Array(0 .. N); for i to N-1 do T1i[i] := (1/2)*(u[i+1]-u[i-1])/h; T2i[i] := u[i]*T1i[i]; T3i[i] := (u[i-1]-2*u[i]+u[i+1])/h^2; ui_k[i] := v*T3i[i]-T2i[i] end do; T1ik := Array(0 .. N); T2ik := Array(0 .. N); T3ik := Array(0 .. N); for i to N-1 do T1ik[i] := (1/2)*(u[i+1, k]-u[i-1, k])/h; T2ik[i] := add(u[i, j]*T1i[i, k-j], j = 0 .. k); T3ik[i] := (u[i-1, k]-2*u[i, k]+u[i+1, k])/h^2; ui_k[i] := (v*T3ik[i]-T2ik[i])/(k+1) end do; return ui_k end proc

(1)

u := Array(1 .. N, 0 .. K); for i to N do u[i, 0] := evalf(initial_conditions[i]) end do

Array(%id = 36893489585014251020)

 

.1644933719

 

.3289856976

 

.4934717144

 

.6579375992

 

.8223563570

 

.9866828090

 

1.150848028

 

1.314753051

 

1.478261707

 

1.641192349

 

1.803308276

 

1.964306617

 

2.123805434

 

2.281328760

 

2.436289364

 

2.587968970

 

2.735495794

 

2.877819368

 

3.013682762

 

3.141592654

 

3.259788188

 

3.366210070

 

3.458472370

 

3.533840560

 

3.589220824

 

3.621167336

 

3.625916040

 

3.599455182

 

3.537643690

 

3.436388151

 

3.291886154

 

3.100937330

 

2.861312732

 

2.572157998

 

2.234388242

 

1.851015873

 

1.427342882

 

.9709526944

 

.4914580366

 

0.

(2)

for k to K do ui_k := eval_derivatives(k, u); for i to N-1 do u[i, k] := ui_k[i] end do end do

Error, (in eval_derivatives) Array index out of range

 

NULL

"     local u_new, i, k;      u_new := Array(1..N);      for i from 1 to N do          u_new[i] := evalf(add(u[i, k] * dt^k / factorial(k), k = 0 .. K));      end do;      return u_new;  end proc;"

Error, unable to parse

"     local u_new, i, k;   u_new := Array(1..N);      for i from 1 to N do   u_new[i] := evalf(add(u[i, k] * dt^k / factorial(k), k = 0 .. K));      end do;   return u_new;  end proc;"

 

num_steps := round(0.1e-2/dt); for step to num_steps do u_new := advance_solution(t, dt, K, u); for i to N do u[i, 0] := u_new[i] end do; for k to K do ui_k := eval_derivatives(k, u); for i to N do u[i, k] := ui_k[i] end do end do; t := t+dt end do; print(u_new)

num_steps := 10

 

advance_solution(0.1e-2, 0.1e-3, 4, Array(%id = 36893489585014251020))

(3)

NULL


 

Download automatic_differentiation.mw

resolve the issue

I noticed very serious problem in Maple 2024.1

This is new windows 10  22H2  installation. With Maple 2024.1. I've only seen this using Maple and no other windows applications. I have 2 monitors and NVIDIA GeForce RTX 3060 graphics card.

What happens is that sometimes (may be 2-3 times each day), Maple frontend gets all mangled up. I could not figure what causes it. it could be when I move the window from one terminal to the other. sometimes it happens when I open a debugger window.

Only way to fix this is to close all of Maple and start it again. 

Just wondering if anyone seen anything like this and what can cause it. Again, it is only Maple that shows this problem, no other windows application does this. Have 128 GB Ram and PC is only 2 years old.

This is the very first time I see this in Maple and used Maple for long time and on this same PC before and had two terminals also before all the time. I have no idea what causes it.

Could it be Java problem in Maple 2024.1 ?

First 83 84 85 86 87 88 89 Last Page 85 of 2427