## 312 Reputation

18 years, 350 days

## Where is elif not [n,x,y]::[nonnegint\$3]...

Maple 2020

In a recent question, the solution involved [...]::[list\$3].

```H:= proc(n, x, y)
if n=0 then y+1
elif n=1 and y=0 then x
elif n=2 and y=0 then 0
elif y=0 then 1
elif not [n,x,y]::[nonnegint\$3] then
'procname'(n-1, x, 'procname'(n, x, y-1))
else
thisproc(n-1, x, thisproc(n, x, y-1))
fi
end proc```

Where is  the  form [...]::[list\$3] documented?

## Convert an Expression...

Maple

How do I convert the expression

y = (sqrt(x) + 10)^(1/3) - (sqrt(x) - 10)^(1/3);

into

y^3 = 20 - 3*(x - 100)^(2/3);

A post on the Maxima mailing list said this was done by cubing both sides.  I can not seem to be able to get there.  A suggestion that the process involved recognizing the product (a+b)*(a-b)

## Where can I find a description of the []...

Maple

Where can I find a description of the []() syntax?

## How do I show/prove no zeros in quadrant...

Maple

f:= 2*x^5-x^3*y+2*x^2*y^2-x*y^3+2*y^5;

This is symetrical in x and y.  subs(x=1,f) and  subs(y=1,f) are identical in form.

for idx to 10 do
lim:=1/idx:
plots[implicitplot](f,x=-lim..lim,y=-lim..lim,numpoints=1000000);
end do;

This shows a curve to (0,0) in quadrant 2, rabit ears in quadrant 1, and a curve from (0,0) in quadrant 4.

Plotting this with python matplotlib shows values in quadrant 3.  I assume that matplotlib plots only the real zeros of the polynomial.  Looks like it, the plotted values match the real zeros in maple.

use RealDomain in
for idx from -1/100 to 1/100 by 1/1000 do
lprint(idx,evalf(solve(subs(x=idx,f)=0)));
end do;
end use;

This shows no values in quadrant 3.

How do I show/prove no zeros in quadrant 3?

## How can I force subs to do all substitut...

Maple 2019

I was working through an old text book, trying to understand a different problem.  I came across this problem in an exercise set and thought it was simple.  Until I tried it.

The difficlty I had was in using subs to substitute all values.  I had to use subs 2 or 3 times to get all substitutions.  How can I avoid this?

## Prove if F is the fibonacci sequence,
restart;
with(combinat, fibonacci):
F := n -> fibonacci(n);  ## F(n+1) = F(n)+F(n-1); F(1) = 1;
## the problem
P := n-> F(n+1)*F(n+2) - F(n)*F(n+3);
##
check_low := proc(n)
local idx;
for idx to n do
print(P(idx),(-1)^idx);
end do;
end proc;
check_low(1);
check_low(2);
check_low(3);
check_low(4);

## Assume true for n=k
A := P(k) = (-1)^k;

notation := { F(k)   = a,
F(k+1) = b,
F(k+2) = c,
F(k+3) = d,
F(k+4) = e };

## some fibonacci definitions
fibs := [ e = c + d,  d = b + c, c = a + b ];

eq1 := subs(notation,A);
eq1 := subs(fibs,eq1);
eq1 := subs(fibs,eq1);  ## have to repeat to get only a and b in the expression

eq2 := subs(notation,P(k+1));
eq2 := subs(fibs, eq2);
eq2 := subs(fibs, eq2);
eq2 := subs(fibs, eq2);  ## have to repeat to get only a and b in the expression
## Reduce eq2 to (-1)^(k+1)
simplify(eq2 = -lhs(eq1));
verify(eq2, -lhs(eq1), equal);
evalb(eq2); simplify(%);  ## Ah, this is why I need equal in verify.
evalb(-lhs(eq1)); simplify(%);

testeq(eq2, -lhs(eq1));

 First 6 7 8 9 10 11 12 Page 8 of 15
﻿