Unanswered Questions

This page lists MaplePrimes questions that have not yet received an answer

If a maple command or function are not available on the target language  of the code generation of maple, is it possible to set myself the expected output for such cases so that the Csharp(...)  recognizes the cases and generates the expect code?

for example 

h := proc(x::Array(1 .. 3, 1 .. 3), y::Array(1 .. 3, 1 .. 3)) local z; z := evalm(x &* y); return z[1, 1] + z[2, 2]; end proc;

The function names {`&*`, evalm} can not be recognized in the target language

but for the &* it shoud be easy to add a template with the desired C# output. 

Is it possible to add templates in existing languages but not new language definitions?


I'm using variable names that have subscripts, not as a table index but literal i.e. R__1 as a unique variable name.  It seems whenever I make assumptions on variables that have subscripts, when I use them the variables that have subscripts are printed twice:


Can anyone explain why this happens and how to get around it?


Thanks in advance.


My problem in package error, does anyone had a solution ping this!

For some reason machine thinks that I am trying to add a matrix to an equal sign.

Is it italic when copied and pasted?  Is it bold when copied from maple 8?  I just ahve not been able to work it out.

The only way that I can think of doing it is by multiplying by a tetrad.  Even then it does not work well see my worksheet:  The Dirac Equation in Robertson-Walker spacetime.


Analysis of the semiclassical (SC) momentum rate equations

Plotting the ICs and BCs and examining sensitivity to the Re and Im forces

MRB: 24/2/2020, 27/2/2020, 2/3/2020.

We examine solution of the SC version of the momentum rate equations, in which O`ℏ`^2 terms for u(x, t) are removed. A high level of sensitivity to ICs and BCs makes solution finding difficult.


with(PDETools): with(CodeTools):with(plots):

We set up the initial conditions:

ICu := {u(x, 0) = .1*sin(2*Pi*x)}; ICv := {v(x, 0) = .2*sin(Pi*x)};

{u(x, 0) = .1*sin(2*Pi*x)}


{v(x, 0) = .2*sin(Pi*x)}


plot([0.1*sin(2*Pi*x),0.2*sin(Pi*x)],x = 0..2, title="ICs:\n u(x,0) (red), v(x,0) (blue)",color=[red,blue],gridlines=true);  


The above initial conditions represent a positive velocity field v(x, 0) (blue) and a colliding momentum field u(x, t)(red).


Here are the BCs

BCu := {u(0,t) = 0.5*(1-cos(2*Pi*t))};

{u(0, t) = .5-.5*cos(2*Pi*t)}


BCv := {v(0,t) = 0.5*sin(2*Pi*t),v(2,t)=-0.5*sin(2*Pi*t)};  

{v(0, t) = .5*sin(2*Pi*t), v(2, t) = -.5*sin(2*Pi*t)}


plot([0.5*(1-cos(2*Pi*t)),0.5*sin(2*Pi*t),-0.5*sin(2*Pi*t)],t=0..1,color=[red,blue,blue],linestyle=[dash,dash,dot],title="BCs:\n u(0,t) (red-dash),\n v(0,t) (blue-dash), v(1,t) (blue-dot)",gridlines=true);



We can now set up the PDEs for the semiclassical case.

hBar:= 1:m:= 1:Fu:= 0.2:Fv:= 0.1:#1.0,0.2

pdeu := diff(u(x,t),t)+u(x,t)/m*(diff(u(x,t),x)) = Fu;

diff(u(x, t), t)+u(x, t)*(diff(u(x, t), x)) = .2


pdev := diff(v(x,t),t)+u(x,t)/m*(diff(v(x,t),x))-hBar*(diff(u(x,t),x$2))/(2*m)+v(x,t)*(diff(u(x,t),x))/m = Fv;  

diff(v(x, t), t)+u(x, t)*(diff(v(x, t), x))-(1/2)*(diff(diff(u(x, t), x), x))+v(x, t)*(diff(u(x, t), x)) = .1


ICu:={u(x,0) = 0.1*sin(2*Pi*x)};  

{u(x, 0) = .1*sin(2*Pi*x)}


ICv:={v(x,0) = 0.2*sin(Pi*x/2)};  

{v(x, 0) = .2*sin((1/2)*Pi*x)}


IC := ICu union ICv;  

{u(x, 0) = .1*sin(2*Pi*x), v(x, 0) = .2*sin((1/2)*Pi*x)}


BCu := {u(0,t) = 0.5*(1-cos(2*Pi*t)), D[1](u)(2,t) = 0.1*cos(2*Pi*t)};

{u(0, t) = .5-.5*cos(2*Pi*t), (D[1](u))(2, t) = .1*cos(2*Pi*t)}


BCv := {v(0,t) = 0.2*(1-cos(2*Pi*t))};  

{v(0, t) = .2-.2*cos(2*Pi*t)}


BC := BCu union BCv;  

{u(0, t) = .5-.5*cos(2*Pi*t), v(0, t) = .2-.2*cos(2*Pi*t), (D[1](u))(2, t) = .1*cos(2*Pi*t)}


We now set up the PDE solver:

pds := pdsolve({pdeu,pdev},{BC[],IC[]},time = t,range = 0..2,numeric);#'numeric' solution



Cp:=pds:-animate({[u, color = red, linestyle = dash],[v,color = blue,linestyle = dash]},t = 30,frames = 400,numpoints = 400,title="Semiclassical momentum equations solution for Re and Im momenta u(x,t) (red) and v(x,t) (blue) \n under respective constant positive forces [0.2, 0.1] \n with sinusoidal boundary conditions at x = 0, 1 and sinusoidal initial conditions: \n time = %f ", gridlines = true,linestyle=solid):Cp;

Error, (in pdsolve/numeric/animate) unable to compute solution for t>HFloat(0.0):
Newton iteration is not converging




Observations on the quantum case:

The classical equation for u(x, t) is independent of the equation for v(x, t).  u(x, t) (red) is a solution of the classical Burgers equation subject to a force 0.2, but u(x, t) is NOT influenced by v(x, t).  On the otherhand, v(x, t) (blue) is a solution of the quantum dynamics equation subject to force 0.1 and is influenced by u(x, t).   This one way causality (u " implies v")  is a feature of the semiclassical case, and it emphasises the controlling influence of the classical u(x, t), which modulates the quantum solution for v(x, t).  Causally, we have u" implies v".


The initial conditions are of low momentum amplitude:"+/-"0.1 for the classical u(x, 0) (red) field and`&+-`(0).2 for v(x, 0) (blue)  but their influence is soon washed out by the boundary conditions "u(0,t) ~1, v(0,t)~0.5" and "v(1,t)~0.5" that drive the momentum dynamics.


The temporal frequency of the boundary condition on the v-field is twice that of the classical u-field. This is evident in the above blue transient plot. Moreover, the">=0" boundary condition on the classical u-momentum (red), drives that field in the positive direction, initially overtaking the quantum v(x, t) field, as consistent with the applied forces [0.2, 0.1]. NULLAlthough initially of greater amplitude than the classical u(x, t)field, the v(x, t) momentum field is asymptotically of the same amplitude as the u(x, t) field, but has greater spatial and temporal frequency, owing to the boundary conditions.


Referring to the semiclassical momentum rate equations, we note that the classical field u(x, t) (red) modulates the quantum momentum rate equation for v(x, t).






Download SC-plots.mw

I am having difficulty getting solutions to a pair of PDEs.  Would anyone like to cast an eye over the attached file, incase I am missing something.



Please I found out that the MatrixInverse on the assignment statement P3 does not run for about three days now. Please kindly help to simplify the code. Thank you and kind regards.

restart; omega := v/h;
r := a[0]+a[1]*x+a[2]*sinh(omega*x)+a[3]*cosh(omega*x)+a[4]*cos(omega*x)+a[5]*sin(omega*x);
b := diff(r, x);

c := eval(b, x = q) = f[n];
d := eval(r, x = q+3*h) = y[n+3]; e := eval(b, x = q+3*h) = f[n+3];
g := eval(b, x = q+2*h) = f[n+2];
i := eval(b, x = q+h) = f[n+1];
j := eval(b, x = q+4*h) = f[n+4];
k := solve({c, d, e, g, i, j}, {a[0], a[1], a[2], a[3], a[4], a[5]});
Warning,  computation interrupted
cf := r;
s4 := y[n+4] = simplify(eval(cf, x = q+4*h));
s3 := y[n+2] = simplify(eval(cf, x = q+2*h));
s2 := y[n+1] = simplify(eval(cf, x = q+h));
s1 := y[n] = simplify(eval(cf, x = q));

h := 1;
YN_1 := seq(y[n+k], k = 1 .. 4);
A1, a0 := GenerateMatrix([s1, s2, s3, s4], [YN_1]);
YN := seq(y[n-k], k = 3 .. 0, -1);
A0, b1 := GenerateMatrix([s1, s2, s3, s4], [YN]);
FN_1 := seq(f[n+k], k = 1 .. 4);
B1, b2 := GenerateMatrix([s1, s2, s3, s4], [FN_1]);
FN := seq(f[n-k], k = 3 .. 0, -1);
B0, b3 := GenerateMatrix([s1, s2, s3, s4], [FN]);
ScalarMultiply(R, A1)-A0;
det := Determinant(ScalarMultiply(R, A1)-A0);
P1 := A1-ScalarMultiply(B1, z);
P2 := combine(simplify(P1, size), trig);
P3 := MatrixInverse(P2);
P4 := A0-ScalarMultiply(B0, z);
P5 := MatrixMatrixMultiply(P3, P4);
P6 := Eigenvalues(P5);
f := P6[4];
T := unapply(f, z);
implicitplot(f, z = -5 .. 5, v = -5 .. 5, filled = true, grid = [5, 5], gridrefine = 8, labels = [z, v], coloring = [blue, white]);


Why the performance of Maple GUI is bad. It is really hard to type anything in thew gui. 


I am using a simple piece of code to generate Lie derivatives, and I am interested in adapting it so that I can use it with vector Fields where that include RootOf expressions. 


The above includes an example where it works, and an example where RootOf appears in the vector field and it does not work. 

Could anyone help me with the following task?

The simplest case is, for example, 

    If y=y(x). Denote y'(x)=Dx(y). Then we make a change of veriables :

    x=φ(z,w), y=ψ(z,w), where z independent and w=w(z),

    Now the ODE: y'(x)=1 turns to:

    Dz(y)/Dz(x)=1,  i.e. ψz+w'(z)ψwz+w'(z)φw.

    So we have the relation: Dz=(φz+w'(z)φw)Dx.

    The task is how to define the operators (Dx, Dz) to transform more complecated ODE of (x,y) (e.g. (Dx+F(x,y))5(y)=0,   

     F arbitrary) to its counterpart of (z,w)?

Thank you in advance!

Help me to solve this problem with pdsolve

I am trying to recreate an example,  See attached worksheet below.  I can't figure out what I am doing wrong here.  I have tried using the command StepProperties on other discrete transfer functions, without any problems.  Having a function that plots the Step Response of a system, Continuous or Discrete, should be built in.


Trying to recreate step response of discrete time system as in this example below:





`Standard Worksheet Interface, Maple 2019.2, Windows 7, November 26 2019 Build ID 1435526`




"module() ... end module"



HFloat(0.0), [undefined, undefined], [undefined, undefined], [undefined, undefined], [undefined, undefined], [undefined, undefined], [undefined, undefined]





Download DiscreteStepResponseError.mw




I am Seonhwa Kim, a mathematical researcher in Korea. Recently, I have extensively used Maple to compute character varieties of 3-manifolds. Several months ago, I obtained some strange results in Maple which implies a contradiction in theory.  I have been struggling with these issues since it is usually about enormous polynomial systems.  Eventually, I could figure out that the issues are caused by a defect in Maple and were able to construct a minimal working example to produce wrong computations in Maple.  I am writing this post to report them.


This is mainly about the PolynomialIdeal package.  Along with the documentation in Maple, If an ideal J is radical, PrimeDecomposition and PrimaryDecomposition should have the same result.  But, as we see the following, the result of PrimeDecomposition and PrimaryDecomposition are different although J is a radical ideal.

The problem seems to be that the PrimaryDecomposition command in Maple sometimes produces incorrect results.

We can compute the primary decomposition of J by hand.  It should be <x> and  <y, x-1>.

I double-checked this by the other software;Macauley2, Singular, and Magma, for example, you can see it as follows.




Secondly, not only for PrimaryDecomposition but also PrimeDecomposition may produce an incorrect result.

Here is a minimal working example.

Maple tells us a compatible result of prime and primary decomposition of a radical ideal J.

But the first component of J,  < b-1, c-a+1 >, contains the third component < a, b-1, c+1 >.

It contradicts with the definition of Primary decomposition. So the correct answer should be  < b - 1, c - a +1 >, <a,b,c>.


I also checked that  Macaluey2, Singular and Magma. They all say that my hand computation is correct. as follows.


I have used Maple 2017 by the license of my institute (Korea Institute for Advanced Study).

When I noticed these defects, I thought it would be fixed in the newest Maple version.

So, I have tried my examples by Maple2019  free trial, but It also has the same problem. 

I guess this problem is not reported or recognized yet. 


I hope this problem will be fixed as soon as possible.

Thank you for attention.




Hello every one
I have a question!
My code starts with assuming the time variable (t) to be specified in a an interval for each time that the for loop executes as follows:

discontinuity := [0.403e-8, 0.45e-8, 0.478e-8, 0.55e-8];
 for j from 1 to 3 do

After that the code runs and calculate every thing. For the second time, I mean for J=2, it does not work properly.
T[1] is the result of its first running (for j=1):
When it wants to evaluate this expression at specific time such as discontinuity[2] it cannot evaluate it. I tried to use unapply command to consider it as a function of t but it did not work. Here is the results:
AA:=simplify(eval(T[1], t = discontinuity[1]));
This is its result:        AA:=3.000023586*10^(-6)*exp(-4977.085344*t~)-1.325122648*10^(-6)*exp(-4.015800624*10^9*t~)
Without unapply command:    AA:=T[1]
Please answer my question.
Thank you so much

1 2 3 4 5 6 7 Last Page 2 of 259