Error, (in RootFinding:-RSGateway:-refine_uni_tri)...

I would like to get a (necessary and sufficient) condition on real parameters , , and  for which there exists (at least) one non-negative solution to
A convenient way to formulate this is using quantifiers. Unfortunately, if I run

QuantifierElimination:-QuantifierEliminate(:-exists([x],:-And(x>=0,9*x^4+c<9*a*(x-1)+3*b*(x^2-1)+c*x^3)));

Maple will simply output

Error, (in RootFinding:-RSGateway:-refine_uni_tri) invalid input: RootFinding:-RSGateway:-try_refine_iso_tri expects its 1st argument, box, to be of type nonemptylist([rational, rational]), but received [8019*x^2+(-9*v__2^2-96552*v__2-279834912)*x+49*v__2^3+78318*v__2^2-387436932*v__2+121801800168, v__2^4+2052*v__2^3-5536296*v__2^2+3575222064*v__2-710903793888]

As an alternative method, one can execute

RealDomain:-solve([x >= 0, 9*x**4 + c < 9*a*(x - 1) + 3*b*(x**2 - 1) + c*x**3], 'parameters' = {a, b, c});
Warning,  computation interrupted


Regretfully, this time the computation is not done in several minutes (so one may have to abort it manually).

So, what is the proper approach to the above problem in Maple (without any a priori knowledge, if possible)?

Incorrect limit?...

For instance, considering the expression  ≔

restart;
expr := exp(1+LambertW(x))*(exp(1)*x+ln(sqrt(2*Pi))-lnGAMMA(1/2+exp(1+LambertW(x)))) assuming x >= -1/exp(1):

The following limit can be calculated directly:

1/:-limit(expr, x = +infinity, 'left');
24


We can also evaluate ,

:-limit(1/expr, x = +infinity, 'left'); # MultiSeries:-limit also returns wrong result.
0



However, according to , the limit value 0 cannot be correct.
So is this a bug? (And has this been fixed in the forthcoming version?)

Compute Integral in Maple numerically ?...

I what compute integral numerically with Precision 14 Digits. I try with:

evalf[2](Int(abs(sin(x^4))/(sqrt(x) + x^2), x = 0 .. infinity, method = _d01amc, methodoptions = [maxintervals = 50000]));# Works with 2 digits only.


I tried all the options and I failed to calculate with more precision.

with change variable: x = -ln(t) I got:

evalf[2](Int((ln(t)^2 - sqrt(-ln(t)))*abs(sin(ln(t)^4))/(ln(t)*(ln(t)^3 + 1)*t), t = 0 .. 1, method = _d01akc, methodoptions = [maxintervals = 500]));#Gives an error!!!

Thanks.

Trying to typeset Dotproduct "&." on a plot...

I need to produce some diagrams for the help pages of my package. I trying to typeset the dot product "." on a plot but keep getting a % symbol. I have tried without typesetting but makes no differance.

 > restart
 >
 >
 > Sdim:=proc(A,B,C,clr::string,S:=NULL)     description"plots spread symbol";     uses plots,plottools;     local aa,bb,c,d,e,f,g,h,k,p1,v1,v2,vab,vac;     vab:=Vector(B-A);     vac:=Vector(C-A);     aa:=(B-A)/5;     bb:=(C-A)/5;     p1:=plottools:-point([A,B,C],symbol=solidcircle);     c:= plottools:-line(A+aa,A+bb);     d:=plottools:-line(A,B);     e:=plottools:-line(A,C);     f:=plots:-textplot([op(1.1*(A+(aa+bb)/2)+[1.5,0]), typeset(S)]);   #print S     g:=plots:-textplot([op(.9*A), typeset([x[1],y[1]])]);  #[x1,y1]     h:=plots:-textplot([op(1.1*B), typeset([x[2],y[2]])]);  #x2,y2]     k:=plots:-textplot([op(1.05*C), typeset([x[3],y[3]])]);  #x3,y3]     v1:=plots:-textplot([op(A+(B-A)/2+[.2,-.2]), typeset(#mover(mi("v"),mo("⇀"))[a])]);   # vector symbol     v2:=plots:-textplot([op(A+(C-A)/2+[-.2,.2]), typeset(#mover(mi("v"),mo("⇀"))[b])]);   #vector symbol     display(p1,c,d,e,f,g,h,k,v1,v2,axes=none,scaling=constrained,caption="Spread between two vectors");    #place title under diagram end proc
 >
 (1)
 > Spr:=S=1-(#mover(mi("v"),mo("⇀"))[b-a]%.#mover(mi("v"),mo("⇀"))[b-a])^2/(#mover(mi("v"),mo("⇀"))[a]%.#mover(mi("v"),mo("⇀"))[a])/(#mover(mi("v"),mo("⇀"))[b]%.#mover(mi("v"),mo("⇀"))[b]);
 (2)
 > Sdim([1,2],[5,1],[4,7],"blue",Spr);
 >
 >

Alter default setting of conjugate=true?...

is there a way to set conjugate=true  to false as a default for BilinearForm?  This would be used inside a package.

restart;
with(LinearAlgebra);

v := <x, y>;
BilinearForm(v, v);
BilinearForm(v, v, conjugate = false);


Alternative Argument spelling in a procedure...

This is something I use a fair bit. I have procedures with alternative spelling options for the colours Red Green and Blue.
Have shown a single example copied from  an overloaded procedure. It there a nicer way of handling this than what I am doing?
There is a section in help under "Procedure Parameter Declarations" on "Indexed Keyword Parameters"  but I don't see how to use it here. These procedures are used inside a package.

 > restart
 >
 > GeomClr:="Blue";  # can be "Blue", "blue", "B", "b"  or;                   #        "Green", "green", "G", "g"  or;                   #        "Red2, "red", "R", "r"; Prntmsg:="y" ; #  or anything that is not"y"
 >
 (1)
 > spread:=proc(p0::{satisfies(s -> type(s, [algebraic $2])),'Vector[row]'(2, algebraic)}, p1::{satisfies(s -> type(s, [algebraic$ 2])),'Vector[row]'(2, algebraic)},               clr::string:= GeomClr,               prnt::string:=Prntmsg)            option overload;            uses LinearAlgebra;            #print(clr,p0,p1);            if clr="b" or clr="B" or clr="blue" or clr="Blue" then               if prnt="y" then                 print("Spread 2 [x,y] Points/Vectors wrt origin Blue");               end if;                return 1 - BilinearForm(p0, p1, conjugate = false)^2/(BilinearForm(p0, p0, conjugate = false)*BilinearForm(p1, p1, conjugate = false));            elif clr="g" or clr="G" or clr="green" or clr="Green" then               if prnt="y" then                print( "Spread 2 [x,y] Points/Vectors wrt origin Green");               end if;                return -1/4*(p0[1]*p1[2] - p0[2]*p1[1])^2/(p0[1]*p0[2]*p1[1]*p1[2]);            elif clr="r" or clr="R" or clr="red" or clr="Red" then               if prnt="y" then                print( "Spread 2 [x,y] Points/Vectors wrt origin Red");                end if;                return -(p0[1]*p1[2] - p0[2]*p1[1])^2/((p0[1]^2 - p0[2]^2)*(p1[1]^2 - p1[2]^2));           end if;           end proc:
 (2)
 (3)
 (4)
 > 1/sb+1/sr+1/sg
 (5)
 (6)
 >

How do I plot given a function?...

For example, given plot f(x)= x^5+x. plot the function given by g(x)= f(x-2)+3

Also, when plotting my graphs they look different than other graphing software.

on solution to ode using Laplace transform when RH...

I was trying this ode with Maple

Do you agree this solution is not correct by Maple?

restart;

ode:=diff(y(t),t)+y(t)=Dirac(t);
ic:=y(0)=1;
sol:=dsolve([ode,ic],y(t),method='laplace');



It gives  y(t) = 2*exp(-t)

But from the discussion in the above link we see this is wrong solution. Maple also does not verify it:

odetest(sol,[ode,y(0)=1])

[-Dirac(t), -1]

Would this be considered a bug I should report or not? Note this result is only when using Laplace method. The default method gives better solution.

ode:=diff(y(t),t)+y(t)=Dirac(t);
ic:=y(0)=1;
sol:=dsolve([ode,ic],y(t));
odetest(sol,[ode,y(0)=1])


Maple 2023.2.1

Overload Procedures with default values and mixed ...

The overloaded  procedure here test returns based on 2 lists or 3 lists entered. The two list has a mixed input type with a default value. The default value of "a" can cause a problem if an explicit value in not entered for "a" in foo1. I not sure is the mixed input type is adding to the problem.
By changing the order of the procedures the problem is avoidable here. But this just a simple example. When there are 6 or so procedures it can be very difficult to select a correct ordering.

Is there a way around this, apart from don't have default values?

I could experiment with changing the input order in each proc but that would break up some logical input sequences on me.

 > restart
 >
 > foo:=overload([                         proc(P1::list,P2::list,a::algebraic:=4,$) option overload; print("2 lists"); end proc, proc(P1::list,P2::list,P3::list,$)                          option overload;                          print("3 lists");                           end proc                        ]);
 (1)
 > foo([1,2],[3,4])
 (2)
 > foo([1,2],[3,4],[4,7])
 (3)
 >
 >
 >
 > foo1:=overload([                                                 proc(P1::list,P2::list,P3::list,$) option overload; print("3 lists"); end proc, proc(P1::list,P2::list,a::algebraic:=4,$)                          option overload;                          print("2 lists");                           end proc                        ]);
 (4)
 > foo1([1,2],[3,4]); #incorrect output
 (5)
 > foo1([1,2],[3,4],4)
 (6)
 > foo1([1,2],[3,4],[4,7])
 (7)
 >

How do i remove the vertical line when plotting Im...

I am trying to plot the following.

it consist of a line and a circle.

if tried doing it as so:

f := x -> piecewise(0 <= x and x <= 1.588125352, (-1)*0.39*x^2 + 1.459*x - y, 1.588125352 <= x and x < 4, (x - 1.81)^2 + (y - 0.42)^2 + (-1)*0.94^2);

implicitplot(f(x), x = 0 .. 3, y = 0 .. 1.5, scaling = constrained);

every time i get this ugly line in the point where the funktion switches and i can't seem to remove it.

I've tried discont = true, but it doesn't seem to work on implicitplots.

Why is – not rendered in an exponent?...

It is &ndash; that is not rendered.

Maple 2023

For comparision Maple 2022.

Can someone reproduce this? Anything I can do about it (some settings maybe)?

Both session directly after restart of Maple.

How can I create a well-formatted PDF when using t...

Hello

I need to share some results with a colleague who is not a user of Maple, and a way to do this is by using the Tabulate (plain command and not from DocumentTools) function to format them. In the worksheet, the output looks good, but when I try to print it or save it as a PDF, only a few lines are printed. It appears that Maple is not able to break the tables into multiple pages for printing.

The output is a table with 77 rows and 30 columns.

I welcome alternative solutions to the problem of displaying the results.

Many thanks

what is the easiest way to find a row in matrix...

This is probably a dummy question. I have a matrix (3 columns, 4 rows). I would like to extract the rows in which the value in the third column matches "2". As long as one has a matrix of 2 columns, this can be easily done by using the Lookup command but it does not allow you to give the row values of multiple columns. Is there another command that allows you to do that?

FindRowInMatrix.mw

Space-time de Sitter solution...

I am trying to calculate the line element ds^2, for a de Sitter spacetime in 2+1 dimensions with positive cosmological constant, using the following metric and energy moment tensor:
1- ds² = -A(r) c^2 dt^2 + B(r) dr^2 + r^2d{\theta}^2,
2- T^{\mu \nu} = -(\rho + p) dx^{\mu} dx^{\nu} + p g^{\mu \nu}.

I tried several ways but I can't solve it using Maple 2023, Physics package. Could someone show me step by step how to solve this problem?

Images of the line element we need to find, the metric tensor associated with the problem and the components of the Riemann tensor.
My goal is to calculate the metric tensor, line element and associated components of the Riemann tensor for De Sitter spacetime with positive cosmological constant.

How to simplify assuming real domain?...

Question deleted since it tagged duplicate. Will go search for the duplicate. I did not know there was duplicate one.

update

Here is original question. If moderator thinks it is duplicate feel free to delete.

I would like to duplicate this simplification done in Mathematica, but in Maple. Mathematica will cancel the exponential term automatically if told the domain is real, but in Maple it willl not.

My attempts in Maple which all fail

restart;

ode := diff(v(x), x, x)*exp(x^2) = 0;
simplify(ode);
simplify(ode) assuming real; #there is no such type
simplify(ode) assuming x::positive;
simplify(ode,symbolic);
use RealDomain in simplify(ode) end use;


How to cancel the exponential term from the above equation in Maple?

 3 4 5 6 7 8 9 Last Page 5 of 29
﻿