Maple 2024 Questions and Posts

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

Can I open Maple 2025 files in Maple 2024? Further, what if the files don't use Maple 2025 features/packages? Does that change the outcome?

Using inttrans package fourier (Dirac(t-T),t,w) gives the correct answer

exp(-I*T*w).

Taking immediatel the inverse transform I get only

invfourier(exp(-I*T*w), w, t),

but the the expression remains unevaluated and cannot be brought to evaluate by any means that I know. Funny thing: Taking just plain Fourier Transform and Inverse in the usual integral form "int" it works flawlessly. Apparently Maple knows how to deal with distributions in this context. What am I doing wrong?

in a lot of my function i have a interval which is make my function singular and i don't know how remove this singularity even when i am change a lot of parameter with explore which explore option for plot is a little bit heavy for more than  7 or 8 parameter for running , and i know the shape of the graph is 2-soliton and 1-breather(zig-zag) but i have to see the shape and make my plot have a best shape  there is any idea for fixing this issue?

singular-interval.mw

I tried the following procedure in a worksheet; Maple did not like it and claimed there was an error. However, I cannot even copy this to a Maple prompt; it jumps to another type of region. Any ideas? If I retype the command there is no problem with an error.

It reminds me of Maple 2 and the letter t which sometimes had to be retyped to get Maple to respond-a very strange bug which was eliminated years ago.

Hey guys, 

 

I try to solve big systems of polynomial equations and inequalities. Therefore I use the command SemiAlgebraic. In the moment I take those result and want to go on calculating with them. Sadly it turns out, that solve has some problems with RootOf expressions. It doesnt find a solution (althoug the graph shows that there is one) and gives the warning solution may have been lost. So now I though I might just aks SemiAlgebraic to give me solutions without RootOf expressions. For example you can write {x = RootOf(_Z^2 - y)+1, 1 < y, y < 2} as {x=t+1, y=t^2,1<t<2^0.5 . This might be easier to work with for solve. 

So my question is: Is there any way I can tell SemiAlgebraic precisely in what form the solution should be? 
Since the websites are down Im not able to do a first own research on this problem. So thank you in advance. 

Regards

Felix

in some equation i don't have problem but in a lot of them this problem is come up for me and i don't know how fix this issue?

restart

with(PDEtools)

undeclare(prime, quiet); declare(u(x, y, t), quiet); declare(f(x, y, t), quiet)

``

(1)

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

eqw := w[i] = (-1+sqrt(-4*b*beta*l[i]-4*a*beta+1))/(2*beta)

Bij := proc (i, j) options operator, arrow; -24*alpha*beta/(sqrt(1+(-4*b*l[j]-4*a)*beta)*sqrt(1+(-4*b*l[i]-4*a)*beta)-1+((2*l[i]+2*l[j])*b+4*a)*beta) end proc

NULL

theta1 := normal(eval(eval(thetai, eqw), i = 1)); theta2 := normal(eval(eval(thetai, eqw), i = 2))

eqf := f(x, y, t) = theta1*theta2+Bij(1, 2)

eqfcomplex := eval(eval(eval(eqf, l[2] = conjugate(l[1])), l[1] = lambda[1]+I*lambda[2]))

eq17 := u(x, y, t) = 2*(diff(f(x, y, t), x))/f(x, y, t); equ := simplify(eval(eq17, eqfcomplex))

u(x, y, t) = 8*(-(1/2)*(-4*b*beta*conjugate(lambda[1]+I*lambda[2])-4*a*beta+1)^(1/2)*(1+((-(4*I)*lambda[2]-4*lambda[1])*b-4*a)*beta)^(1/2)-b*beta*conjugate(lambda[1]+I*lambda[2])+1/2-(b*(lambda[1]+I*lambda[2])+2*a)*beta)*((1/2)*t*(1+((-(4*I)*lambda[2]-4*lambda[1])*b-4*a)*beta)^(1/2)+(1/2)*t*(-4*b*beta*conjugate(lambda[1]+I*lambda[2])-4*a*beta+1)^(1/2)+conjugate(lambda[1]+I*lambda[2])*y*beta+((lambda[1]+I*lambda[2])*y+2*x)*beta-t)/((1+((-(4*I)*lambda[2]-4*lambda[1])*b-4*a)*beta)^(1/2)*(-(-4*b*beta*conjugate(lambda[1]+I*lambda[2])-4*a*beta+1)^(1/2)*((2*y*((lambda[1]+I*lambda[2])*y+x)*beta+t*(b*t-y))*conjugate(lambda[1]+I*lambda[2])+2*x*((lambda[1]+I*lambda[2])*y+x)*beta+((b*(lambda[1]+I*lambda[2])+2*a)*t-(lambda[1]+I*lambda[2])*y-2*x)*t)+4*(I*lambda[2]-conjugate(lambda[1]+I*lambda[2])+lambda[1])*((1/2)*conjugate(lambda[1]+I*lambda[2])*b*y*beta+(a*y-(1/2)*b*x)*beta+(1/4)*b*t-(1/4)*y)*t)-4*t*(-4*b*beta*conjugate(lambda[1]+I*lambda[2])-4*a*beta+1)^(1/2)*(conjugate(lambda[1]+I*lambda[2])*(beta*(-y*((1/2)*b*(lambda[1]+I*lambda[2])+a)+(1/2)*b*x)-(1/4)*b*t+(1/4)*y)+(((I*lambda[1]*lambda[2]+(1/2)*lambda[1]^2-(1/2)*lambda[2]^2)*b+a*(lambda[1]+I*lambda[2]))*y-(1/2)*(lambda[1]+I*lambda[2])*b*x)*beta+(1/4)*(b*t-y)*(lambda[1]+I*lambda[2]))+4*y*beta*b*conjugate(lambda[1]+I*lambda[2])^2*(-((lambda[1]+I*lambda[2])*y+x)*beta+(1/2)*t)+conjugate(lambda[1]+I*lambda[2])*(-4*beta^2*(y^2*(b*(lambda[1]^2-lambda[2]^2+(2*I)*lambda[1]*lambda[2])+2*a*(lambda[1]+I*lambda[2]))+2*x*(b*(lambda[1]+I*lambda[2])+a)*y+b*x^2)+2*beta*(-4*b*(b*(lambda[1]+I*lambda[2])+a)*t^2+2*t*(y*(b*(lambda[1]+I*lambda[2])+a)+b*x)+y*((lambda[1]+I*lambda[2])*y+x))+b*t^2-t*y)+4*(-2*((I*lambda[1]*lambda[2]+(1/2)*lambda[1]^2-(1/2)*lambda[2]^2)*b+a*(lambda[1]+I*lambda[2]))*x*y-(lambda[1]+I*lambda[2])*x^2*b-2*a*x^2+12*alpha)*beta^2+2*beta*(-4*a*(b*(lambda[1]+I*lambda[2])+a)*t^2+t*(y*(b*(lambda[1]^2-lambda[2]^2+(2*I)*lambda[1]*lambda[2])+2*a*(lambda[1]+I*lambda[2]))+2*(b*(lambda[1]+I*lambda[2])+2*a)*x)+x*((lambda[1]+I*lambda[2])*y+x))+((b*(lambda[1]+I*lambda[2])+2*a)*t-(lambda[1]+I*lambda[2])*y-2*x)*t)

(2)

ans := solve({diff(rhs(equ), x), diff(rhs(equ), y)}, {x, y}, explicit)

 

``

Download critical-point.mw

Hey guys, 

From a former calculation I got a set of points as a implicit RootOf function for an intervall. Now I want to check, if these points are in a certain area. So i thougt I take the RootOf function, the intervall and the inequalities (which describe the target area) and use the solve command. But then I get the warning, solutions may have been lost and no solution. When you draw the implicit function you can see thats in the right area (above y=1 and below y=x). So there should be a clear anwer, giving me back the whole RootOf function in the intervall.

Download QUESTI~2.MW

Since there was an error uploading the picture here the code 

restart;
Sol := {x = RootOf(_Z^2 - y, index = real[2]) + 1, 1 < y, y < 2};
area := {1 < y, y < x};
Sol_area := solve(Sol union area);
print(Sol_area);

So why do I get this warning, the calculation seems quite easy? And is there a workaround? Or a diffrent kind of solve function? SemiAlgebraic is as far as i know only for polynomials. So I got an error as well. Since the websites are down I could start an own reasearch before. So thank you in advance. 

Regards

Felix

Hey guys, 

I have a problem with the solve command. And since the websites are down, I cant help myself. I have a function x(y) and an intervall for y. This function or the set of points described by the function should now be transformed to another area of the plane. So now I can get a(x,y)=1/y and b(x,y)=x/(x+y-1) with just plugging in, then everything depeends from the y Invtervall. But I want to get the form b(a) and an intervall for a. So that I can see the function directly. So i thought I just put everything into the solve command and than ask for a solution for {a,b} and expected to get what I want. (Uploading the script here gives an error)
 

restart;
Sol := solve({a = 1/y, b = x/(x + y - 1), x = (y - 1)^2, 1 < y, y < 5/4});
Sol_ab := solve({a = 1/y, b = x/(x + y - 1), x = (y - 1)^2, 1 < y, y < 5/4}, {a, b});

#expected (or wanted) solution
#with y = 1/a and the inequalities we get 4/5 < a and a < 1 with y
#with y = we get x(a)/a and y(a) and reach b = 1/a - 1
#all together: Sol={b=1/a - 1, 4/4<a, a<1};

THe problem is, that I get an empty set which is obviously wrong. So I somehow make an error when making the variables I want concrete with adding {a,b}. What do I do wrong? Or is there a better command for what I want to achieve? In this case I can solve the problem via hand, but I have more complex tranformations and mor ecomplex functions x(y), so thats why I ask for general help with my problem. 

Thank ypu in advance

Felix

Download QUESTI~1.MW

Dear Maple users

I have an Interactive Planck Curve working great in Maple 2023, but not in Maple 2024 and 2025. Can you explain why? When I drag in the Temperature slider it fails with the window: (in plottools:-getdata) range out of bounds. 

Is it a bug or has some command changed?

File attached.

Kind regards,

Erik

Planck_Curve.mw

I have a student who has a problem when closing and opening a Maple file.

It seems as if Maple turns math fields into text, but still execute when using ! or !!!

The dark red part is written in a text field, but Maple still executes

If I try to write in a math field and executes, closes Maple and opens again, this does not happen, so it is not the file that is the problem.  The student is running 2024.2 version.

Can anyone explain the problem and how to solve it.

 

I am unable to add a comment or the file. I have tried several times, without any luck

Update 

Also, is there a way to disable the use of remember tables permanently in Maple? This causes me so much trouble and It is cause of why Maple behave differently at different times.

Help shows how to do it if one knows the name of the module or procedure. But Maple has 1000's of these. There does not seem to be a way to tell maple

          forget(all)

and have set once. (may be something I can put in the ini file, to disable this feature).

At the end of help it says

"As a special case, specifying f as an empty range allows for selective clearing of remember table entries from all remember tables in the system.  This requires a second argument, to indicate which entries to clear. For example, forget(..,x), which will clear all remembered entries in the system that reference x.  "

But what is x in the above?? If I do forget(..) it does not work.

---- end update ------------------------------------------------------------------------------------------------------------------

Adding printlevel:=20, I see simplify generate/runs through longer code the first time. The second time calling the same exact simplify code, now it shows it runs through much shorter code. 

I am assuming printlevel is behaving correctly each time.

This must be due to cache simplifies keeps somewhere, or some internal settings it updates from first time and this is what causes it to do shorter run second time.

Without doing restart, how can make force simplify to run through same code it did the first time and each time? i.e. as if it was called the very first time each time?

I tried forget, but it is not doing anything.

Here is worksheet.  The code is simply this

printlevel:=0;
restart;
printlevel:=20;
simplify(3*x^3/x+sin(x^2)/4);  #long printout

simplify(3*x^3/x+sin(x^2)/4);  #short printout

printlevel:=0;
forget(simplify,forgetpermanent = true,reinitialize=true);

printlevel:=20;
simplify(3*x^3/x+sin(x^2)/4); #still same short printout

So there is something else needs to be cleared? Only way to get the long printout is to do restart. but ofcourse I can't do restart in middle of a loop.

I tried gc() also, but had no effect. 

What other commands are there to do this? I do use Physics and it is on my libname.

printlevel:=0;

0

restart;

interface(version);

`Standard Worksheet Interface, Maple 2024.2, Windows 10, October 29 2024 Build ID 1872373`

Physics:-Version();

`The "Physics Updates" version in the MapleCloud is 1849 and is the same as the version installed in this computer, created 2025, March 12, 12:37 hours Pacific Time.`

libname;

"C:\Users\Owner\maple\toolbox\2024\Physics Updates\lib", "C:\Program Files\Maple 2024\lib"

printlevel:=20;

20

simplify(3*x^3/x+sin(x^2)/4);

{--> enter sin, args = x^2

{--> enter \`type/SymbolicInfinity\`, args = x^2

false

<-- exit \`type/SymbolicInfinity\` (now in sin) = false}

{--> enter \`sin/normal\`, args = x^2

{--> enter \`tools/sign\`, args = x^2

-x^2

1

<-- exit \`tools/sign\` (now in \`sin/normal\`) = 1}

1

-sin(x^2)

sin(x^2)

<-- exit \`sin/normal\` (now in sin) = sin(x^2)}

sin(x^2)

{--> enter \`trig/linear_in_Pi\`, args = x^2

{--> enter collect, args = x^2, Pi

{Pi}

{Pi}

{}

Pi

recursive

proc (x) options operator, arrow; x end proc

x^2

<-- exit collect (now in \`trig/linear_in_Pi\`) = x^2}

x^2

<-- exit \`trig/linear_in_Pi\` (now in sin) = x^2}

x^2

sin(x^2)

<-- exit sin (now at top level) = sin(x^2)}

{--> enter simplify, args = 3*x^2+(1/4)*sin(x^2)

false

{--> enter \`simplify/do\`, args = 3*x^2+(1/4)*sin(x^2)

{--> enter \`tools/membertype\`, args = Not(Or(algebraic, list, set, relation, range)), 3*x^2+(1/4)*sin(x^2)

false

<-- exit \`tools/membertype\` (now in \`simplify/do\`) = false}

{--> enter \`simplify/check_constant\`, args = 3*x^2+(1/4)*sin(x^2)

<-- exit \`simplify/check_constant\` (now in \`simplify/do\`) = false}

false

"top"

3*x^2+(1/4)*sin(x^2)

1

{}

{--> enter \`type/ratpoly\`, args = 3*x^2+(1/4)*sin(x^2), complex(numeric)

{x}

<-- exit \`type/ratpoly\` (now in \`simplify/do\`) = false}

{--> enter \`simplify/recurse\`, args = 3*x^2+(1/4)*sin(x^2)

3*x^2+(1/4)*sin(x^2)

<-- exit \`simplify/recurse\` (now in \`simplify/do\`) = 3*x^2+(1/4)*sin(x^2)}

3*x^2+(1/4)*sin(x^2)

[]

table( [ ] )

{3*x^2+(1/4)*sin(x^2)}

{--> enter \`simplify/check_constant\`, args = 3*x^2+(1/4)*sin(x^2)

<-- exit \`simplify/check_constant\` (now in \`simplify/do\`) = false}

false

{--> enter \`simplify/getkernels\`, args = 3*x^2+(1/4)*sin(x^2), false

{x^2, (1/4)*sin(x^2), 3*x^2+(1/4)*sin(x^2), sin(x^2)}

<-- exit \`simplify/getkernels\` (now in \`simplify/do\`) = {x^2, (1/4)*sin(x^2), 3*x^2+(1/4)*sin(x^2), sin(x^2)}}

{x^2, (1/4)*sin(x^2), 3*x^2+(1/4)*sin(x^2), sin(x^2)}

{--> enter \`simplify/getinds\`, args = {x^2, (1/4)*sin(x^2), 3*x^2+(1/4)*sin(x^2), sin(x^2)}

{power, trig}

<-- exit \`simplify/getinds\` (now in \`simplify/do\`) = {power, trig}}

{power, trig}

{--> enter \`simplify/sortinds\`, args = {power, trig}

53

48

[[power, 53], [trig, 48]]

[trig, power]

[trig, power]

<-- exit \`simplify/sortinds\` (now in \`simplify/do\`) = [trig, power]}

[trig, power]

3*x^2+(1/4)*sin(x^2)

3*x^2+(1/4)*sin(x^2)

[trig, power]

1

`simplify/trig`

3*x^2+(1/4)*sin(x^2)

3*x^2+(1/4)*sin(x^2), [power]

`simplify/power`

3*x^2+(1/4)*sin(x^2)

3*x^2+(1/4)*sin(x^2), []

3*x^2+(1/4)*sin(x^2)

{--> enter \`simplify/check_constant\`, args = 3*x^2+(1/4)*sin(x^2)

<-- exit \`simplify/check_constant\` (now in \`simplify/do\`) = false}

false

{--> enter \`simplify/getkernels\`, args = 3*x^2+(1/4)*sin(x^2), false

{x^2, (1/4)*sin(x^2), 3*x^2+(1/4)*sin(x^2), sin(x^2)}

<-- exit \`simplify/getkernels\` (now in \`simplify/do\`) = {x^2, (1/4)*sin(x^2), 3*x^2+(1/4)*sin(x^2), sin(x^2)}}

{}

{--> enter \`type/ratpoly\`, args = 3*x^2+(1/4)*sin(x^2), extended_numeric

{x}

<-- exit \`type/ratpoly\` (now in \`simplify/do\`) = false}

{--> enter \`simplify/getinds\`, args = {x^2, (1/4)*sin(x^2), 3*x^2+(1/4)*sin(x^2), sin(x^2)}

{power, trig}

<-- exit \`simplify/getinds\` (now in \`simplify/do\`) = {power, trig}}

{--> enter \`simplify/sortinds\`, args = {power, trig}

53

48

[[power, 53], [trig, 48]]

[trig, power]

[trig, power]

<-- exit \`simplify/sortinds\` (now in \`simplify/do\`) = [trig, power]}

[trig, power]

{--> enter \`simplify/power_exp\`, args = 3*x^2+(1/4)*sin(x^2)

3*x^2+(1/4)*sin(x^2)

false

3*x^2+(1/4)*sin(x^2)

3*x^2+(1/4)*sin(x^2)

3*x^2+(1/4)*sin(x^2)

3*x^2+(1/4)*sin(x^2)

3*x^2+(1/4)*sin(x^2)

true

<-- exit \`simplify/power_exp\` (now in \`simplify/do\`) = 3*x^2+(1/4)*sin(x^2)}

3*x^2+(1/4)*sin(x^2)

3*x^2+(1/4)*sin(x^2)

{--> enter \`simplify/check_constant\`, args = 3*x^2+(1/4)*sin(x^2)

<-- exit \`simplify/check_constant\` (now in \`simplify/do\`) = false}

false

{--> enter \`simplify/do/content\`, args = 3*x^2+(1/4)*sin(x^2)

1/4, 12*x^2+sin(x^2)

<-- exit \`simplify/do/content\` (now in \`simplify/do\`) = 3*x^2+(1/4)*sin(x^2)}

3*x^2+(1/4)*sin(x^2)

{--> enter \`simplify/recurse_on_constants\`, args = 3*x^2

3, x^2

<-- exit \`simplify/recurse_on_constants\` (now in \`simplify/do\`) = 3*x^2}

{--> enter \`simplify/recurse_on_constants\`, args = (1/4)*sin(x^2)

1/4, sin(x^2)

<-- exit \`simplify/recurse_on_constants\` (now in \`simplify/do\`) = (1/4)*sin(x^2)}

{--> enter \`simplify/recurse_on_constants\`, args = 3*x^2+(1/4)*sin(x^2)

0, 3*x^2+(1/4)*sin(x^2)

<-- exit \`simplify/recurse_on_constants\` (now in \`simplify/do\`) = 3*x^2+(1/4)*sin(x^2)}

3*x^2+(1/4)*sin(x^2)

<-- exit \`simplify/do\` (now in simplify) = 3*x^2+(1/4)*sin(x^2)}

3*x^2+(1/4)*sin(x^2)

{--> enter simplify, args = 3*x^2+(1/4)*sin(x^2), size, applysimplifysize = false

{--> enter \`simplify/do\`, args = 3*x^2+(1/4)*sin(x^2), size

false

3*x^2+(1/4)*sin(x^2), size

2

{}

[`simplify/size`]

table( [ ] )

{3*x^2+(1/4)*sin(x^2)}

3*x^2+(1/4)*sin(x^2)

<-- exit \`simplify/do\` (now in simplify) = 3*x^2+(1/4)*sin(x^2)}

3*x^2+(1/4)*sin(x^2)

<-- exit simplify (now in simplify) = 3*x^2+(1/4)*sin(x^2)}

3*x^2+(1/4)*sin(x^2)

<-- exit simplify (now at top level) = 3*x^2+(1/4)*sin(x^2)}

3*x^2+(1/4)*sin(x^2)

simplify(3*x^3/x+sin(x^2)/4);

value remembered (at top level): sin(x^2) -> sin(x^2)

{--> enter simplify, args = 3*x^2+(1/4)*sin(x^2)

false

value remembered (in simplify): \`simplify/do\`(3*x^2+(1/4)*sin(x^2)) -> 3*x^2+(1/4)*sin(x^2)

3*x^2+(1/4)*sin(x^2)

{--> enter simplify, args = 3*x^2+(1/4)*sin(x^2), size, applysimplifysize = false

3*x^2+(1/4)*sin(x^2)

<-- exit simplify (now in simplify) = 3*x^2+(1/4)*sin(x^2)}

3*x^2+(1/4)*sin(x^2)

<-- exit simplify (now at top level) = 3*x^2+(1/4)*sin(x^2)}

3*x^2+(1/4)*sin(x^2)

printlevel:=0;
forget(simplify,forgetpermanent = true,reinitialize=true);

0

printlevel:=20;

20

simplify(3*x^3/x+sin(x^2)/4);

value remembered (at top level): sin(x^2) -> sin(x^2)

{--> enter simplify, args = 3*x^2+(1/4)*sin(x^2)

false

value remembered (in simplify): \`simplify/do\`(3*x^2+(1/4)*sin(x^2)) -> 3*x^2+(1/4)*sin(x^2)

3*x^2+(1/4)*sin(x^2)

{--> enter simplify, args = 3*x^2+(1/4)*sin(x^2), size, applysimplifysize = false

3*x^2+(1/4)*sin(x^2)

<-- exit simplify (now in simplify) = 3*x^2+(1/4)*sin(x^2)}

3*x^2+(1/4)*sin(x^2)

<-- exit simplify (now at top level) = 3*x^2+(1/4)*sin(x^2)}

3*x^2+(1/4)*sin(x^2)

 

 

Download how_to_clear_simplify_cache_march_24_2025.mw

Anyone has Maple 2025 could check if same behaviour there also?

How to I generate and or export a plot without a white border or equivalently , just  the information inside the axes?

See example. Note that when I insert the content below, it fails to accurately copy the information( blue background). If you look at the attached maple file, it should be very clear what I'm after.

kill_plot_border_on_plot_generation_or_export.mw

restart

NULL

How do I make and export a plot without the white border or background? I want my export to only contain information inside the blue region.
 

plot(x^2, x = 0 .. 3, background = "Blue", axes = none)

plot(x^2, x = 0 .. 3, background = "Blue", axes = none)

 

 

When looking at the exported image you see that there is a white border around the blue region.

NULL

NULL

NULL

Download kill_plot_border_on_plot_generation_or_export.mw

Using the attached problem, I want to calculate a term with a constraint that m is not equal to n. How do I insert general constraints into Maple?

test.mw

Hi,

I'm working on formatting my tables for export to PDF. Is there a way to align the text in the cells (to the left, for example)?

Thanks

GenerateSimilar_Ala.mw

I do not understand why select(has,-a^2,x); returns 1 but select(has,a^2,x); returned undefined.

Should not both return undefined, since there is no anywhere in the expression?

I looked at help and do not see a clue so far.

interface(version);

`Standard Worksheet Interface, Maple 2024.2, Windows 10, October 29 2024 Build ID 1872373`

Physics:-Version();

`The "Physics Updates" version in the MapleCloud is 1849 and is the same as the version installed in this computer, created 2025, March 12, 12:37 hours Pacific Time.`

restart;

C:=a^2;
select(has,C,x);

a^2

undefined

C:=-a^2;
select(has,C,x);

-a^2

1

 

 

Download select_question_march_23_2025.mw

Here is another variation, where I changed a^2 to a

interface(version);

`Standard Worksheet Interface, Maple 2024.2, Windows 10, October 29 2024 Build ID 1872373`

Physics:-Version();

`The "Physics Updates" version in the MapleCloud is 1849 and is the same as the version installed in this computer, created 2025, March 12, 12:37 hours Pacific Time.`

restart;

C:=a;
r:=select(has,C,x);

a

C:=-a;
r:=select(has,C,x);

-a

1

 

 

Download select_question_v2_march_23_2025.mw

The good thing is that has(C,x) returns false in both case. So the problem is not with the has call. It is select which decided to return 1 when there is negative sign. But why?

restart;

C:=a;
r:=has(C,x);

a

false

C:=-a;
r:=has(C,x);

-a

false

 

 

Download select_question_v3_march_23_2025.mw

2 3 4 5 6 7 8 Last Page 4 of 40