Preben Alsholm

13010 Reputation

22 Badges

18 years, 187 days

MaplePrimes Activity

These are replies submitted by Preben Alsholm

@opus64 In the help page for isolate you also find this statement:

"For direct solutions of equations, solve may be more efficient than isolate, which is intended, primarily, for use in an interactive Maple session." (my emphasis).
The code for isolate can easily be seen:

showstat(isolate,1..6); # we need only look at the lines 1 through 6.
eq:=P=A+(z+x1/2/z); # Using x1 instead of x
## In the code expr and x will be:
expr:=eq; x:=z+x1/2/z;
has(expr,x); # Line 3, answer false
type(x,`^`);   # Line 4, answer false

'has' is builtin, so you cannot see its code:
op(3,eval(has)); # option builtin
but the help page for has states:

"The has(f, x) function returns true if f contains the expression x;  otherwise false is returned.
The expression f contains x if and only if a subexpression of f (as defined by Maple's op function) is equal to x." (my emphasis)


Could it be the poster himself?

I cannot check Maple V Release 5 right now since I don't have it on this machine.
I checked Maple 12, however, and that behaves like all the versions I remember. I have had all Maple releases since Maple V Release 2.
I would really be surprised if Maple V Release 5 (or 5.1) really displays alpha and beta as they are written in Greek.
Could you show us a screenshot from Maple V Release 5?

The output from sparsematrixplot makes suggests that what you ask for isn't readily available:


A := Matrix([[2, 1, 0, 0, 3], [0, 2, 1, 0, 0], [0, 0, 2, 1, 0], [0, 0, 0, 2, 1], [0, 0, 0, 0, 2]]);

sparsematrixplot(A, matrixview, color = "DarkGreen"); p:=%:

@vv Maybe I misunderstand you when you say " Unfortunately, Maple cannot compute it."
In Maple 2021.2 I get (using your suggested change of variables):


A:=Int(2/(1-x^p)^(1/p), x=0..1);
IntegrationTools:-Change(A,x^p=t) assuming p>1;
value(%) assuming p>1;

The answer given is 2*Beta(1/p, -1/p + 1)/p, i.e. the same as the result by cook.

So what is the correct answer?

@escorpsy I don't see any way of getting a symbolic answer with parameters. But you can certainly find exact answers with concrete values for the parameters. As an example:

M := Int((x*(1 - x)*(-I*epsilon + p^2) + m^2)^((d - 4)/2), x = 0 .. 1);
value(eval(M,[epsilon=1/100,d=3,m=1,p=1])); # Exact integration
evalf(eval(M,[epsilon=1/100,d=3,m=1,p=1])); # Numerical integration


The use of D is unfortunate since it means the differentiation operator in Maple:

D(sin); # Answer cos

So use another name, e.g. D1.
Secondly, by default the imaginary unit is  'I', not 'i'.

@acer Just an observation: So the following two versions of dividing are not quite the same:


@tomleslie In order to be fair you must divide by 2000 000 in ans2:


@nm Normally you cannot put a number first followed by a letter; that would produre a syntax error. Example 1w would produce an error.
There are exceptions:  1d and  1e are examples.

@Jaime_mc2 This works with Digits:=50 in Maple 2021.2

evalf(Int(abs(u(x) - P__2), x = -1 .. 1,method= _Gquad));

The result is 0.00062767200590347019035308761635491656933673486658951.
Inspired by mmcdara I added simplify like this:

r := evalf(allvalues(RootOf(simplify(ChebyshevT(5, x)), x)));

and this time the result was

not a huge difference there.

But the latter version, but not the former, worked in Maple 12 too and with that same result.

@nm Have a look at this simple example:

simplify(sqrt(f(a))) assuming a<0;

In the first case sqrt(f(a)) is evaluated to sqrt(a^2) before the assumption kicks in, thus the result -a.

In the second case the expression sqrt(f(a)) is not evaluated until the assumption a<0 is made. But the "version" of the 'a'  that is seen by `assuming` is therefore only the argument to f, not the 'a' appearing in the in the definition of f.
My point here has just been to say that the two versions don't work quite the same.
You can see it here from the printout from debug(`assuming`:

simplify(sqrt(f(a))) assuming a<0;


Obviously the syntax for Int is wrong.
Replace Int with F then both simplifications work.

@oggsait  Yes I was using the recent version of Maple.

But in Maple 18 (which you are using) I get the plot you show.

But as Carl Love points out you should use a finer grid. Besides that it helps to set gridrefine to 2 as in this code:

plots:-display(seq(plots:-implicitplot(eval(EQ2,params1 union {C=k/200}),u=-1..1,z=-1..1,grid=[50,50],gridrefine=2),k=-2..2));

If you look at the help for implicitplot you will find other options. Actually it looks to me that this version gives a better result than the one above:

plots:-display(seq(plots:-implicitplot(eval(EQ2,params1 union {C=k/200}),u=-1..1,z=-1..1,grid=[50,50],gridrefine=1,crossingrefine=2),k=-2..2));


5 6 7 8 9 10 11 Last Page 7 of 218