Maple 2024 Questions and Posts

These are Posts and Questions associated with the product, Maple 2024

Hi! An basic and interesting issue.

First, why I run worksheet again and again, I will get different output (even seems understandable)? I guess maybe the memory is not renewed?

Second, how to obtain the periodic solution without adding ```k*Pi``` manually?

`assuming`([solve(sqrt(2)*sin(2*x-(1/6)*Pi) = 1)], [`in`(x, real)])

5/24

(1)

x := solve(sqrt(2)*sin(2*x-(1/6)*Pi) = 1)+k*Pi

5/24+k*Pi

(2)
 

NULL

Download periodic_solution_of_a_simply_Sine_function.mw

i need the result for (eqt33) but i can reach the result there is any  other way for finding? i need to plot 3D of that function but without have the function how i can do explore on it

w1.mw

Is this a bug in mint?

Given this foo.mpl

foo:=proc()
    local x:=2,y:=3;       
        
    if MmaTranslator[Mma][LeafCount](x)<MmaTranslator[Mma][LeafCount](y)  then        
        0;
    else
       1;
    fi;  

end proc;   

It says

Procedure foo() on lines 2 to 11
  These names were used as global names but were not declared:  LeafCount, Mma

But if I rewrite the above using :- instead:

foo:=proc()
    local x:=2,y:=3;       
        
    if MmaTranslator:-Mma:-LeafCount(x)<MmaTranslator:-Mma:-LeafCount(y)  then        
        0;
    else
       1;
    fi;  

end proc;  

Now mint is happy and no message are given.

Is not  MmaTranslator:-Mma:-LeafCount(x)  the same as MmaTranslator[Mma][LeafCount](x) ?

Maple itself is happy with both. So why is mint complaining?

I am finding many problems with mint. Will post more problems found when I have more time.

Is mint still actively  maintained by Maplesoft? 

I wish to plot two line segments over the intervals [0,1] and [2,3].  Maple 2024 draws a single line segment over [0,3].  Oddly enough, if I specify a color option, then it produces the expected result!

This used to work correctly in Maple 2023.  Perhaps this can be corrected in the forthcoming release?

restart;

kernelopts(version);

`Maple 2024.2, X86 64 LINUX, Oct 29 2024, Build ID 1872373`

plots:-display(
        plot(1, x=0..1),
         plot(1, x=2..3), thickness=5);

plots:-display(
        plot(1, x=0..1),
         plot(1, x=2..3),thickness=5, color=red);


Download mw.mw

i want to to get the eq(14) but i need to do some Hard replacing which i am unfamiliar with it any one can help ?

restart;

 

f :=  1 + exp(eta[1]) + b[1, 2]*exp(eta[1] + eta[2]) + exp(eta[2]) + b[2, 3]*exp(eta[2] + eta[3]) + b[1, 2]*b[1, 3]*b[2, 3]*exp(eta[1] + eta[2] + eta[3]) + b[1, 3]*exp(eta[1] + eta[3]) + exp(eta[3])

1+exp(eta[1])+b[1, 2]*exp(eta[1]+eta[2])+exp(eta[2])+b[2, 3]*exp(eta[2]+eta[3])+b[1, 2]*b[1, 3]*b[2, 3]*exp(eta[1]+eta[2]+eta[3])+b[1, 3]*exp(eta[1]+eta[3])+exp(eta[3])

(1)

NULL

C :=(i,j)->6*l[j]*l[i]*(l[i] + l[j])/((l[i] - l[j])^2*beta)

proc (i, j) options operator, arrow; 6*l[j]*l[i]*(l[i]+l[j])/((l[i]-l[j])^2*beta) end proc

(2)

NULL

etai := k[i]*(t*w[i]+y*l[i]+x)+eta[i]

k[i]*(t*w[i]+y*l[i]+x)+eta[i]

(3)

theta[i] := t*w[i]+y*l[i]+x

t*w[i]+y*l[i]+x

(4)

eqw := w[i] = -(alpha*l[i]+beta)/l[i]

w[i] = -(alpha*l[i]+beta)/l[i]

(5)

theta[1] := normal(eval(eval(theta[i], eqw), i = 1)); theta[2] := normal(eval(eval(theta[i], eqw), i = 2))

-(alpha*t*l[1]-y*l[1]^2+beta*t-x*l[1])/l[1]

 

-(alpha*t*l[2]-y*l[2]^2+beta*t-x*l[2])/l[2]

(6)

fix:=proc(F)
   local i,j;
   i:=op(1,F); j:=op(2,F);
   if i<j then
      C(i,j);
   else
      F;
   fi;
end proc:

evalindets(f,b[anything,anything],F->fix(F));

1+exp(eta[1])+6*l[2]*l[1]*(l[1]+l[2])*exp(eta[1]+eta[2])/((l[1]-l[2])^2*beta)+exp(eta[2])+6*l[3]*l[2]*(l[2]+l[3])*exp(eta[2]+eta[3])/((l[2]-l[3])^2*beta)+216*l[2]^2*l[1]^2*(l[1]+l[2])*l[3]^2*(l[1]+l[3])*(l[2]+l[3])*exp(eta[1]+eta[2]+eta[3])/((l[1]-l[2])^2*beta^3*(l[1]-l[3])^2*(l[2]-l[3])^2)+6*l[3]*l[1]*(l[1]+l[3])*exp(eta[1]+eta[3])/((l[1]-l[3])^2*beta)+exp(eta[3])

(7)

simplify(%);

1+exp(eta[1])+b[1, 2]*exp(eta[1]+eta[2])+exp(eta[2])+b[2, 3]*exp(eta[2]+eta[3])+b[1, 2]*b[1, 3]*b[2, 3]*exp(eta[1]+eta[2]+eta[3])+b[1, 3]*exp(eta[1]+eta[3])+exp(eta[3])

(8)
 

 

Download get_result.mw

I would like to generate a brief description of the object Iterator:-Product but I get the following error:  

Describe(Iterator:-Product);

object Product :: Class<<36893490916968945900>>:

    ModuleApply( )

    ModuleCopy( self::_Product, proto::_Product, 
Error, (in Describe) `proto` does not evaluate to a module

How do I get rid of this message? 

Hello,

non-expert Maple user here.  Any help would be appreciated, I am trying to perform the following process:

1) Represent State Space matrices calculated by hand (ex: A, B, C, D) as a Maple object.

2) Find a solution to the State Space system of equations based on given initial conditions, or represent the same in any other form such as a plot or table.  I am right now trying without much success to use the ResponsePlot and Simulate functions for this.

I have completed (1) using the DynamicSystems > StateSpace object of the form

sys:= StateSpace(A,B,C,D)    // where A, B, C, D are the numeric matrices of the typical S-S set.

using a simple constant '1' as an algebraic input test, I use the ResponsePlot as follows:

ResponsePlot(sys, 1) 

Maple gives me the error: 

Error, (in DynamicSystems:-Simulate) for a continuous system, the second argument (input) must be an algebraic expression or a list of algebraic expressions; received Vector(7, [0,1,2,3,4,5,6])
NULL;

I am sure I'm missing something simple.  Can someone please assist in showing me what I'm doing wrong?  I tried using a vector [0,1,2,3,4] instead of an algebraic function, but it still returned an error.  I am open to other ways too, but the next best way seems to be to convert from StateSpace into individual differential equations and then solve them all manually with dsolve.  It seems like there has got to be a simpler way than that.  Does anyone know of a simple way to implement this process?

i did try but i don't know the result is not come out? also i am not sure to put equation in eq1 in pde or linear part?

restart

with(PDEtools)

with(LinearAlgebra)

NULL

with(SolveTools)

undeclare(prime)

`There is no more prime differentiation variable; all derivatives will be displayed as indexed functions`

(1)

declare(u(x, y, t))

u(x, y, t)*`will now be displayed as`*u

(2)

declare(f(x, y, t))

f(x, y, t)*`will now be displayed as`*f

(3)

pde := diff(u(x, y, t), t, y)+diff(u(x, y, t), `$`(x, 3), y)-3*(diff(u(x, y, t), x))*(diff(u(x, y, t), x, y))-3*(diff(u(x, y, t), `$`(x, 2)))*(diff(u(x, y, t), y))+alpha*(diff(u(x, y, t), x, y))+beta*(diff(u(x, y, t), `$`(x, 2)))

diff(diff(u(x, y, t), t), y)+diff(diff(diff(diff(u(x, y, t), x), x), x), y)-3*(diff(u(x, y, t), x))*(diff(diff(u(x, y, t), x), y))-3*(diff(diff(u(x, y, t), x), x))*(diff(u(x, y, t), y))+alpha*(diff(diff(u(x, y, t), x), y))+beta*(diff(diff(u(x, y, t), x), x))

(4)

pde_nonlinear, pde_linear := selectremove(proc (term) options operator, arrow; has((eval(term, u(x, y, t) = a*u(x, y, t)))/a, a) end proc, pde)

-3*(diff(u(x, y, t), x))*(diff(diff(u(x, y, t), x), y))-3*(diff(diff(u(x, y, t), x), x))*(diff(u(x, y, t), y)), diff(diff(u(x, y, t), t), y)+diff(diff(diff(diff(u(x, y, t), x), x), x), y)+alpha*(diff(diff(u(x, y, t), x), y))+beta*(diff(diff(u(x, y, t), x), x))

(5)

eq := u(x, y, t) = -2*(diff(ln(f(x, y, t)), x))

u(x, y, t) = -2*(diff(f(x, y, t), x))/f(x, y, t)

(6)

eq1 := -(1/2)*numer(normal(eval(pde_linear, eq)))

f(x, y, t)^4*(diff(diff(diff(f(x, y, t), x), x), x))*beta+f(x, y, t)^4*(diff(diff(diff(f(x, y, t), x), x), y))*alpha-f(x, y, t)^3*(diff(f(x, y, t), y))*(diff(diff(f(x, y, t), x), x))*alpha-2*f(x, y, t)^3*(diff(diff(f(x, y, t), x), y))*(diff(f(x, y, t), x))*alpha-3*f(x, y, t)^3*(diff(f(x, y, t), x))*(diff(diff(f(x, y, t), x), x))*beta+2*f(x, y, t)^2*(diff(f(x, y, t), y))*(diff(f(x, y, t), x))^2*alpha+2*f(x, y, t)^2*(diff(f(x, y, t), x))^3*beta+(diff(diff(diff(f(x, y, t), t), x), y))*f(x, y, t)^4+(diff(diff(diff(diff(diff(f(x, y, t), x), x), x), x), y))*f(x, y, t)^4-(diff(diff(f(x, y, t), t), x))*(diff(f(x, y, t), y))*f(x, y, t)^3-(diff(diff(diff(diff(f(x, y, t), x), x), x), x))*(diff(f(x, y, t), y))*f(x, y, t)^3-(diff(diff(f(x, y, t), x), y))*(diff(f(x, y, t), t))*f(x, y, t)^3-4*(diff(diff(diff(f(x, y, t), x), x), x))*(diff(diff(f(x, y, t), x), y))*f(x, y, t)^3-(diff(f(x, y, t), x))*(diff(diff(f(x, y, t), t), y))*f(x, y, t)^3-4*(diff(diff(diff(diff(f(x, y, t), x), x), x), y))*(diff(f(x, y, t), x))*f(x, y, t)^3-6*(diff(diff(f(x, y, t), x), x))*(diff(diff(diff(f(x, y, t), x), x), y))*f(x, y, t)^3+2*(diff(f(x, y, t), x))*(diff(f(x, y, t), t))*(diff(f(x, y, t), y))*f(x, y, t)^2+8*(diff(diff(diff(f(x, y, t), x), x), x))*(diff(f(x, y, t), x))*(diff(f(x, y, t), y))*f(x, y, t)^2+6*(diff(diff(f(x, y, t), x), x))^2*(diff(f(x, y, t), y))*f(x, y, t)^2+24*(diff(diff(f(x, y, t), x), x))*(diff(f(x, y, t), x))*(diff(diff(f(x, y, t), x), y))*f(x, y, t)^2+12*(diff(diff(diff(f(x, y, t), x), x), y))*(diff(f(x, y, t), x))^2*f(x, y, t)^2-36*(diff(diff(f(x, y, t), x), x))*(diff(f(x, y, t), x))^2*(diff(f(x, y, t), y))*f(x, y, t)-24*(diff(f(x, y, t), x))^3*(diff(diff(f(x, y, t), x), y))*f(x, y, t)+24*(diff(f(x, y, t), x))^4*(diff(f(x, y, t), y))

(7)

NULL

T := f(x, y, t) = h*a[10]+m^2+n^2+a[9]

T1 := m = t*a[3]+x*a[1]+y*a[2]+a[4]

T2 := n = t*a[7]+x*a[5]+y*a[6]+a[8]

T3 := h = a[10]*exp(t*p[3]+x*p[1]+y*p[2])

L2 := expand(subs({T1, T2, T3}, T))

f(x, y, t) = a[10]^2*exp(p[3]*t)*exp(p[1]*x)*exp(p[2]*y)+t^2*a[3]^2+2*t*x*a[1]*a[3]+2*t*y*a[2]*a[3]+x^2*a[1]^2+2*x*y*a[1]*a[2]+y^2*a[2]^2+2*t*a[3]*a[4]+2*x*a[1]*a[4]+2*y*a[2]*a[4]+a[4]^2+t^2*a[7]^2+2*t*x*a[5]*a[7]+2*t*y*a[6]*a[7]+x^2*a[5]^2+2*x*y*a[5]*a[6]+y^2*a[6]^2+2*t*a[7]*a[8]+2*x*a[5]*a[8]+2*y*a[6]*a[8]+a[8]^2+a[9]

(8)

eq9a := eval(eq1, L2)

indets(%)

{alpha, beta, t, x, y, a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], p[1], p[2], p[3], exp(p[1]*x), exp(p[2]*y), exp(p[3]*t)}

(9)

p2b := subs({exp(p[1]*x) = eX, exp(p[2]*y) = eY, exp(p[3]*t) = eT}, eq9a); indets(%)

{alpha, beta, eT, eX, eY, t, x, y, a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], p[1], p[2], p[3]}

(10)

p2c := numer(normal(p2b))

eqns := {coeffs(collect(p2c, {eT, eX, eY}, distributed), {eT, eX, eY})}; nops(%)

5

(11)

solve(eqns, {a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], p[1], p[2], p[3]})

 

NULL

Download parameters.mw

Can I define the creation and annihilation operator commutation relations with an explicit momentum dependence?

The goal is to implement an expression of a discrete scalar plane-wave solution to the Klein-Gordon equation that makes use of the creation and annihilation operators in the Physics package.

We don't bother solving the Klein-Gordon equation explicitly. Instead, we just take a solution from literature. This approach is sufficient to show the difficulty in defining the the creation and annihilation operators in this way.

how_to_define_creation_and_annihilation_operators_with_a_momentum_dependence.mw

restart

Setup

   

NULL``

Goal

   

NULL``

Define Creation and Annihilation Operators for Quantum Field phi

   

NULL

Static Textbook Solution

   

NULL

Commutator Definition Attempt 1 FAIL

   

NULL``

Commutator Definition Attempt 2 FAIL

   

NULL``

Commutator Definition Attempt 3 FAIL

   

NULLNULL

Commutator Definition Attempt 4 FAIL

   

NULL``

Commutator Definition Attempt 5 FAIL

   

So, is defining the creation and annihilation operators with a momentum dependence even possible, using the physics MAPLE package?

Download how_to_define_creation_and_annihilation_operators_with_a_momentum_dependence.mw

Whenever I have local proc inside a proc, and use local variables from the outer proc inside it, Mint tells me that the variables are not used.

This can't be right. Why does it say that? Here is MWE. I have this foo.mpl file

foo := proc()

local C1;
local y,x;

    proc()
        C1:= `tools/genglobal`(_C); 
        sol:=y(x)=  C1; 
    end proc();

end proc;

We see clearly that C1 is used, also x and y are used. There can be more code using these inside the inner proc. But this is what mint says

"C:\Program Files\Maple 2024\bin.X86_64_WINDOWS\mint.exe" foo.mpl

    |\^/|      Maple 2024 Diagnostic Program
._|\|   |/|_.  Copyright (c) Maplesoft, a division of Waterloo Maple Inc. 2024
 \  MINT   /   All rights reserved. Maple is a trademark of
 <____ ____>   Waterloo Maple Inc.
      |
Procedure foo() on lines 1 to 11
  These local variables were never used:  C1, x, y

Any idea why it says these are not used?

Also, I noticed it did not warn me that variable sol is global inside the proc. i.e. I was expecting something like this 

          These names were used as global names but were not declared: sol

Which is typical message mint gives when using a name inside a proc which was not declared,

Maple 2024.2 on Windows

I have a square matrix of data points. Each point is between 0 to 0.2. I wish to plot it and set the axes to values from 0 to 1. I want the 3D plot to be plotted with a constrained scaling. The two options I have are plots:-matrixplot and plots:-surfdata. 

* matrixplot can constrain the data, but it isn't obvious how to change the axes so that it shows from 0 to 1 in both directions. 

* In surfaceplot, it is easy to adjust the axes values, but scaling=constrained does nothing. 

(I assume someone else might also appreciate the answer. So, instead of me continuing to struggle, I post here and hope someone can answer without the use of many brain cells.) 

Example attached.

restart; N := 20; M := LinearAlgebra:-RandomMatrix(N, generator = rand(0 .. .2))

 

Scaling can be easily controlled, but labels are bad

plots:-matrixplot(N*M, labels = ["x", "y", "V"], scaling = constrained, axis = [tickmarks = [seq(0 .. 1, numelems = 10)]], size = [600, 600])

 

Axes are shown nicely, but scaling cannot be constrained.

plots:-surfdata(M, 0 .. 1, 0 .. 1, labels = ["x", "y", "V"], scaling = constrained, size = [600, 600])

 
 

NULL

Download Scaled_matrix_plot_with_axes.mw

If I understand right, in the following calling an exception should be raised since the return value of the matching coercion procedure is of course not of type “set”: 

restart;
foo := (x::coerce(set, (y::rtable) -> convert(y, list))) -> x:
foo(<0>);
 = 
                              [0]

Did I miss something?

I want to remove the Lambert function (LambertW) from my equation, but I don't know how. I tried using the explicit option, but it didn't work. How can I express the equation without LambertW?

restart

with(PDEtools)

with(LinearAlgebra)

NULL

with(SolveTools)

undeclare(prime)

`There is no more prime differentiation variable; all derivatives will be displayed as indexed functions`

(1)

declare(u(x, y, z, t))

u(x, y, z, t)*`will now be displayed as`*u

(2)

declare(f(x, y, z, t))

f(x, y, z, t)*`will now be displayed as`*f

(3)

pde := diff(diff(u(x, y, z, t), t)+6*u(x, y, z, t)*(diff(u(x, y, z, t), x))+diff(u(x, y, z, t), `$`(x, 3)), x)-lambda*(diff(u(x, y, z, t), `$`(y, 2)))+diff(alpha*(diff(u(x, y, z, t), x))+beta*(diff(u(x, y, z, t), y))+gamma*(diff(u(x, y, z, t), z)), x)

diff(diff(u(x, y, z, t), t), x)+6*(diff(u(x, y, z, t), x))^2+6*u(x, y, z, t)*(diff(diff(u(x, y, z, t), x), x))+diff(diff(diff(diff(u(x, y, z, t), x), x), x), x)-lambda*(diff(diff(u(x, y, z, t), y), y))+alpha*(diff(diff(u(x, y, z, t), x), x))+beta*(diff(diff(u(x, y, z, t), x), y))+gamma*(diff(diff(u(x, y, z, t), x), z))

(4)

pde_nonlinear, pde_linear := selectremove(proc (term) options operator, arrow; not has((eval(term, u(x, y, t) = a*u(x, y, t)))/a, a) end proc, expand(pde))

0, diff(diff(u(x, y, z, t), t), x)+6*(diff(u(x, y, z, t), x))^2+6*u(x, y, z, t)*(diff(diff(u(x, y, z, t), x), x))+diff(diff(diff(diff(u(x, y, z, t), x), x), x), x)-lambda*(diff(diff(u(x, y, z, t), y), y))+alpha*(diff(diff(u(x, y, z, t), x), x))+beta*(diff(diff(u(x, y, z, t), x), y))+gamma*(diff(diff(u(x, y, z, t), x), z))

(5)

thetai := t*w[i]+x*k[i]+y*l[i]+z*r[i]+eta[i]; eval(pde_linear, u(x, y, z, t) = exp(thetai)); eq15 := isolate(%, w[i])

t*w[i]+x*k[i]+y*l[i]+z*r[i]+eta[i]

 

w[i]*k[i]*exp(t*w[i]+x*k[i]+y*l[i]+z*r[i]+eta[i])+12*k[i]^2*(exp(t*w[i]+x*k[i]+y*l[i]+z*r[i]+eta[i]))^2+k[i]^4*exp(t*w[i]+x*k[i]+y*l[i]+z*r[i]+eta[i])-lambda*l[i]^2*exp(t*w[i]+x*k[i]+y*l[i]+z*r[i]+eta[i])+alpha*k[i]^2*exp(t*w[i]+x*k[i]+y*l[i]+z*r[i]+eta[i])+beta*k[i]*l[i]*exp(t*w[i]+x*k[i]+y*l[i]+z*r[i]+eta[i])+gamma*k[i]*r[i]*exp(t*w[i]+x*k[i]+y*l[i]+z*r[i]+eta[i])

 

w[i] = -(t*k[i]^4+gamma*t*k[i]*r[i]+alpha*t*k[i]^2+beta*t*k[i]*l[i]-lambda*t*l[i]^2+LambertW(12*t*k[i]*exp(-(t*k[i]^4+alpha*t*k[i]^2+beta*t*k[i]*l[i]+gamma*t*k[i]*r[i]-lambda*t*l[i]^2-x*k[i]^2-y*k[i]*l[i]-z*k[i]*r[i]-eta[i]*k[i])/k[i]))*k[i])/(t*k[i])

(6)

sol := solve(eq15, w[i], explicit)

-(t*k[i]^4+gamma*t*k[i]*r[i]+alpha*t*k[i]^2+beta*t*k[i]*l[i]-lambda*t*l[i]^2+LambertW(12*t*k[i]*exp(-(t*k[i]^4+alpha*t*k[i]^2+beta*t*k[i]*l[i]+gamma*t*k[i]*r[i]-lambda*t*l[i]^2-x*k[i]^2-y*k[i]*l[i]-z*k[i]*r[i]-eta[i]*k[i])/k[i]))*k[i])/(t*k[i])

(7)
 

NULL

Download remove.mw

How i can add lebel inside graph  like this picture for some graph , in somecoding i have but i can't how it work i want add to  my code but i can't do the same as paper did

label.mw

Hi! A basic issue.

Why view=[-2 ..1, -2 ..5]  is not useful here? According to the output, only the green line meets the view settings. I want to extend the left side of these three lines appropriately (show the intersection)

with(plots)

l := 2*x+y+1 = 0; l1 := 4*x+2*y+2 = 0; l2 := 4*x+2*y-2 = 0; l3 := 4*x-2*y+6 = 0

2*x+y+1 = 0

 

4*x+2*y+2 = 0

 

4*x+2*y-2 = 0

 

4*x-2*y+6 = 0

(1)

 

display({implicitplot(l, color = black, legend = l, thickness = 5, view = [-2 .. 1, -2 .. 5])}, {implicitplot(l1, color = red, legend = l1, view = [-2 .. 1, -2 .. 5])}, {implicitplot(l2, color = blue, legend = l2, view = [-2 .. 1, -2 .. 5])}, {implicitplot(l3, color = green, legend = l3, view = [-2 .. 1, -2 .. 5])})

 
 

NULL

Download The_intersection_parallelism_and_coincidence_of_two_straight_lines.mw

First 6 7 8 9 10 11 12 Last Page 8 of 42