1 years, 91 days

## Combinations of RootOf?...

Maple

[I split this off from here into a separate question. dharr]

@dharr Thanks. For the second one, an output is . Is it possible to compel Maple to attempt to simplify the second algebraic number to a less complicated expression automatically?
Its minimal polynomial can be computed. However, this is not so convenient for the specific purpose. Actually, I want something like this:

```evalA(-4*RootOf(_Z^3 - 3*_Z^2 - 10*_Z - 1)^2 + 19*RootOf(_Z^3 - 3*_Z^2 - 10*_Z - 1) + 3);
=
/  3        2           \
5 RootOf\_Z  + 10 _Z  + 3 _Z - 1/

```

Mathematica has an additional function RootReduce to do so directly, but I cannot find such functionality in Maple.

Remark. A fairly complicated one:

```evalA(-45658*RootOf(37*_Z^6 - 382*_Z^5 + 1388*_Z^4 - 2188*_Z^3 + 1475*_Z^2 - 406*_Z + 37, index = 6)^5 + 417257*RootOf(37*_Z^6 - 382*_Z^5 + 1388*_Z^4 - 2188*_Z^3 + 1475*_Z^2 - 406*_Z + 37, index = 6)^4 - 1252087*RootOf(37*_Z^6 - 382*_Z^5 + 1388*_Z^4 - 2188*_Z^3 + 1475*_Z^2 - 406*_Z + 37, index = 6)^3 + 1463384*RootOf(37*_Z^6 - 382*_Z^5 + 1388*_Z^4 - 2188*_Z^3 + 1475*_Z^2 - 406*_Z + 37, index = 6)^2 - 558475*RootOf(37*_Z^6 - 382*_Z^5 + 1388*_Z^4 - 2188*_Z^3 + 1475*_Z^2 - 406*_Z + 37, index = 6) + 69230);
=
/
17991 RootOf\

6         5          4          3          2
37 _Z  - 406 _Z  + 1475 _Z  - 2188 _Z  + 1388 _Z  - 382 _Z + 37,

\
index = 4/

```

## Using Assumptions & Missed Solutions in ...

Maple 2022

The help page solve/details claims that `solve(x^2-1,{x}, useassumptions) assuming x>0;` is equivalent to `solve({x^2-1, x>0},{x});`. But the following example perplexes me again.

Considering a multi-variable polynomial:

`expr := 36*a^3*b^3+8*a^2*b^2*(9*(a+b+1)^2+4*(a*b+a+b))*(a+b+1)+((a-b)^2-2*(a+b)+1)^2*(a+b+1)^5+a*b*((a-b)^2-2*(a+b)+1)*(17*(a+b+1)^2+4*(a*b+a+b))*(a+b+1)^2: # assuming nonnegative`

I intend to find the nonnegative real roots of it.

```solve({expr = 0, (a, b) >= ~ 0}, [a, b], allsolutions);
solve(expr = 0., [a, b], useassumptions, allsolutions) assuming (a, b) >= ~ 0;
solve({expr = 0., (a, b) >= ~ 0}, [a, b], allsolutions);
```

all return six solutions, but curiously,

`solve(expr = 0, [a, b], useassumptions, allsolutions) assuming (a, b) >= ~ 0;`

only returns four solutions. Why???

In addition, as you can see, the first output (i.e., sol1) is thoroughly less meaningful. Can't it be more readable??

 > restart;

=

=

=

=

 > _SolutionsMayBeLost;
 (1)

=

Why did't  return ?

map2(evala@eval, expr, sol5);

 (2)

Error, (in type/algext) too many levels of recursion

## Can Maple find non-negative real solutio...

Maple 2022

The algebraic equation in four variables is:

```restart;
expr := (a^2 + b^2 + c^2 + d^2 - 4)*(a^2 + b^2 + c^2 + d^2) + 4*d*c*b*a - (a + b + c + d - 2)*(a + b + c + d) + 6:
solve(expr = 0, useassumptions, allsolutions) assuming nonnegative;```

Unfortunately, I've been waiting for a long time, and I have no more time to wait; I have to interrupt the current session by hand. However, it appears that MMA can solve it within bearable time:

Did Maple miss something here?

## Is it possible to print temporary output...

Maple 2022

The shortcut key Ctrl＋Delete is used to clear a math region or delete a cell within a group, so I can delete some output manually. However, I find that there exists some long-standing functions like PrintTemporary and Monitor in Mathematica, which can be used to print intermediate values of variables temporarily (and dynamically, if possible). The term "temporarily" means that the printed output disappears at the end of a computation / when a computation is complete / when the evaluation finishes / before returning the result of an evaluation. For instance:

(Note that certain operations require a front end.)

Is it possible to implement such functionalities in Maple?

## Is this a bug of `printf`?...

Maple 2022
`printf("%", [[]]);`

Yeah, it is incompatible with the Maple syntax. But I don't know why this command actually causes a serious logic error here. Actually, this seems fairly trifling in my view. Can you produce it again?

 >
 > printf("%", [[]]);

 First 14 15 16 17 18 Page 16 of 18
﻿