## 7766 Reputation

17 years, 354 days

## MaplePrimes Activity

### These are questions asked by Rouben Rostamian

Maple 2021

I may be misunderstanding the documentation of implicitplot.  Can someone set me straight?

This is extracted from the implicitplot's help page:

`implicitplot(-x^2 + y, x = 0 .. 2, y = 0 .. x);`

The plotting range is limited to y ≤ x, as intended.  Let us verify that it does the right thing:

```display(
implicitplot(-x^2 + y, x = 0 .. 2, y = 0 .. x, color=red),
plot(x, x=0..2, color=blue)
);
```

Yes, indeed it does.

Now let us try limiting the plotting range to y ≤ 1 − x2. Here is what we get:

```display(
implicitplot(-x^2 + y, x = 0 .. 2, y = 0 .. 1-x^2, color=red),
plot(1-x^2, x=0..2, color=blue)
);
```

I expected the red curve to lie entirely below the blue curve but it doesn't. Am I misunderstanding implicitplot?

## How to evaluate this integral?...

Maple 2021

I need to calculate dozens of piecewise-defined  (but elementary) definite integrals of the following kind. Maple returns them unevaluated. Is there a trick to force evaluation?

```restart;
u := piecewise(0 <= x and 0 <= y and y <= x, x-1, 0 <= x and 0 <= y and x <= y, x, 0);
v := piecewise(0 <= x and 0 <= y and y <= x, x-1, y <= 0 and 0 <= x and -x <= y, x-1, 0);
plot3d(u*v, x=-1..1, y=-1..1);
# integrating over (0,1)x(0,1) works
int(u*v, x=0..1, y=0..1);
# but integrating over (-1,1)x(-1,1) returns unevaluated.
# How to force evaluation on (-1,1)x(-1,1)?
int(u*v, x=-1..1, y=-1..1);
```

integration-problem.mw

## How to suppress axes labels...

Maple 2021

I want to plot a 2D graph without labels. The labes=["",""] option does half of the job—it prints the empty string for labels (that's good) but it reserves room for them (that's bad).  In the following code I use a large size labelfont in order to exaggerate the effect:

```restart;
plots:-setoptions(labelfont=[TIMES,64]);  # large labelfont selected on purpose
p1 := plot([[0,0],[1,1]], labels=["", ""]);```

Note the large blank space at the bottom reserved for the the non-existent label.

I know one way to eliminate the label altogether:

`p2 := subs(AXESLABELS=NULL, p1);`

This does the right job but is there a more orthodox way of doing that?

Afterthought:  It would be good if the labels option to the plot command  accepted none as argument, as in labels=[none, none].

## Gradient of a vector field and the Physi...

Vector calculus is very nicely handled in Maple's Physics package:

 > with(Physics[Vectors]):

The gradient of a scalar field in Cartesian coordinates

The gradient of a scalar field in cylindrical coordinates

But the gradient of a vector field is not available:

 > Gradient(_rho*f(rho,phi,z) + _phi*g(rho,phi,z) + _k*h(rho,phi,z));

Error, (in Physics:-Vectors:-Nabla) Physics:-Vectors:-Gradient expected a scalar function, but received the vector function: _rho*f(rho, phi, z)+_phi*g(rho, phi, z)+_k*h(rho, phi, z)

I suppose this is because the gradient of a vector field needs to be
expressed in terms a basis consisting of the dyadic products  of the basis vectors

as in   , , etc., which does not seem to be implemented.

That said, it is quite possible that this is already done and I have missed it in
the documentation since the Physics package is so huge.  But if it's truly not there,
it would be a very useful feature to add.  Calculating gradients of vector fields

is central to continuum mechanics (including elasticity and fluid mechanics).

They are easy to represent in Cartesian coordinates but their calculation in the

frequently needed cylindrical and spherical coordinates are nontrivial and can use

Maple's help.

## A small bug in pdsolve...

Maple 2020

Here is a division-by-zero bug in a solution produced by pdsolve.  Admittedly, this sort of problem can be difficult to avoid in a CAS, but here it is, in case there is a chance to get it fixed somehow.

 > restart;
 > kernelopts(version);

 > pde := diff(u(x,y,t),t,t) = diff(u(x,y,t),x,x) + diff(u(x,y,t),y,y);

 > bc := u(x,0,t)=0, u(x,1,t)=0, u(0,y,t)=0, u(1,y,t)=0;

 > ic := u(x,y,0) = x*y*sin(Pi*x)*sin(Pi*y),  D[3](u)(x,y,0)=0;

 > pdsol := pdsolve({pde, bc, ic});

 > eval(pdsol, infinity=4); value(%);

Error, (in SumTools:-DefiniteSum:-ClosedForm) summand is singular in the interval of summation