MaplePrimes Questions

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. 

Here is a movie. I use only worksheets. I have 3-4 open at the time.  When I move the mouse over the worksheet it keeps shuffling and duplicating as you see.

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 ?

 

I created the following worksheet to illustrate my question.

restart

We have two equations. w and w__0 are parameters and we wish to solve for A__1 and A__2.

eq1 := A__1*(w^2-3*w__0^2)+A__2*w__0^2 = 0 = A__1*(w^2-3*w__0^2)+A__2*w__0^2 = 0NULL

eq2 := A__1*w__0^2+A__2*(w^2-w__0^2) = 0 = A__1*w__0^2+A__2*(w^2-w__0^2) = 0NULL

solve({eq1, eq2}, {A__1, A__2}) = {A__1 = 0, A__2 = 0}NULL

 

Maple says the only solution is the trivial solution.

If we check the determinant of the matrix of the system we see it can be zero for certain values of w given w__0.

M := Matrix([[w^2-3*w__0^2, w__0^2], [w__0^2, w^2-w__0^2]]) = Matrix(%id = 36893488152149895276)NULL

d := LinearAlgebra:-Determinant(M) = w^4-4*w^2*w__0^2+2*w__0^4NULL

solutions := solve(d = 0, w)

(2+2^(1/2))^(1/2)*w__0, -(2+2^(1/2))^(1/2)*w__0, (2-2^(1/2))^(1/2)*w__0, -(2-2^(1/2))^(1/2)*w__0

(1)

If w is one of these values then the system of equations is singular and has non-zero solutions.``

 

For example, subbing the first value above into the equations and solving Maple gives us non-trivial solutions.

 

solve({subs(w = solutions[1], eq1), subs(w = solutions[1], eq2)}, {A__1, A__2})

{A__1 = -(1+2^(1/2))*A__2, A__2 = A__2}

(2)

``

Why didn't Maple give us any indication that there could be non-zero solutions in the first call to solve?


For context, the system of equations comes from a calculation involving coupled oscillators.

I had a system of differential equations, guessed at a solution, plugged it in and got the equations shown in the worksheet. The guess isn't a correct solution in general, but it is a solution if w is one of the values computed in the worksheet (the values of the variable "solutions").

Download solve-nonzero-solutions.mw

hw8.mw

I am struggling to find the answer how to force maple to give finakl answer and not some expression. Actually i am trying to solve for a

i have a generator function but in out come i have phi(p_1,p_2,p_3, so on )=** result is clear but this p_1 and p_2 in not shown i want to be shown in my outcome

generate_solution.mw

It happens from time to time that context menus do not appear. Normally, they appear at mouse-over (i.e. when the cursor is moved over an menu item).

Example: Right-click on input line

A Maple restart is required to get the normal behaviour back.

Recently I noticed that repeatedly clicking at different location on the menu item make the contex menus appear again.

This can be workarround if a restart is not acceptable.

It seems that the new Java IDE, which was introduced with Maple 2021, is more susceptible to this phenomen. 

All on Windows 10.

Since this behaviour is rare I could not identify a clear pattern which system state or event could be responsible for the appearance of this phenomen.

I would be interested if someone else has observed it and found another solution how to get the menus back without restarting Maple.

Any idea why calling solve(eqs,unknowns) gives Error, (in is/internal) type does not exist when the unknowns are in a set, but the error goes away when the unknowns are in a list? Is this expected or is this a bug?


 

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 1779 and is the same as the version installed in this computer, created 2024, July 25, 8:56 hours Pacific Time.`

restart;

eqs:={0 = ln(2)+ln(-a*sech(1/2*2^(1/2)*b)^2), 1 = -tanh(1/2*2^(1/2)*b)*a^(1/2)*2^(1/2)};
unknown:={a, b};

{0 = ln(2)+ln(-a*sech((1/2)*2^(1/2)*b)^2), 1 = -tanh((1/2)*2^(1/2)*b)*a^(1/2)*2^(1/2)}

{a, b}

solve(eqs,unknown)

Error, (in is/internal) type `a` does not exist

solve(eqs,unknown)

Error, (in is/internal) type `a` does not exist

restart;

eqs:=[0 = ln(2)+ln(-a*sech(1/2*2^(1/2)*b)^2), 1 = -tanh(1/2*2^(1/2)*b)*a^(1/2)*2^(1/2)];
unknown:={a, b};

[0 = ln(2)+ln(-a*sech((1/2)*2^(1/2)*b)^2), 1 = -tanh((1/2)*2^(1/2)*b)*a^(1/2)*2^(1/2)]

{a, b}

solve(eqs,unknown)

Error, (in is/internal) type `a` does not exist

restart;

eqs:=[0 = ln(2)+ln(-a*sech(1/2*2^(1/2)*b)^2), 1 = -tanh(1/2*2^(1/2)*b)*a^(1/2)*2^(1/2)];
unknown:=[a, b];

[0 = ln(2)+ln(-a*sech((1/2)*2^(1/2)*b)^2), 1 = -tanh((1/2)*2^(1/2)*b)*a^(1/2)*2^(1/2)]

[a, b]

solve(eqs,unknown)

[]

 


 

Download is_internal_error_from_solve_maple_2024_1.mw

Update

Reported to Maplesoft support.

 

Any idea why limit(e,x=0) fail to evaluate but  eval(e,x=0) does in this example? 

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 1779 and is the same as the version installed in this computer, created 2024, July 25, 8:56 hours Pacific Time.`

restart;

e:=-tanh(sqrt(2)*(a*x+b))

-tanh(2^(1/2)*(a*x+b))

limit(e,x=0)

limit(-tanh(2^(1/2)*(a*x+b)), x = 0)

eval(e,x=0)

-tanh(b*2^(1/2))

 

 

Download limit_problem_maple_2024_1.mw

I tried the above using some other software, and there both evaluate to same result as expected:

In Maple, I found that by removing the sqrt(2) from inside the tanh, then limit now works

e:=-tanh((a*x+b));
limit(e,x=0)

Is this a bug?

First 12 13 14 15 16 17 18 Last Page 14 of 2356