jakubi

1369 Reputation

12 Badges

19 years, 338 days

MaplePrimes Activity


These are replies submitted by jakubi

The general solution of a 2nd order ode has 2 arbitrary constants of integration, and they are fixed by two conditions. No additional condition can be imposed.

In Standard GUI it works with F2, though not so nice as Classic F1. E.g.  for % it goes to ?ditto in Classic, but F2 does nothing in Standard. And in Classic type exp, do not select, just keep the cursor after the "p", and F1 sends to ?exp, while F2 in Standard does nothing with the cursor in this position. Note that this is the most relevant position of the cursor, when you have just typed the command and need to see something in its help page.

In Standard GUI it works with F2, though not so nice as Classic F1. E.g.  for % it goes to ?ditto in Classic, but F2 does nothing in Standard. And in Classic type exp, do not select, just keep the cursor after the "p", and F1 sends to ?exp, while F2 in Standard does nothing with the cursor in this position. Note that this is the most relevant position of the cursor, when you have just typed the command and need to see something in its help page.

Among several design issues, the Standard GUI is more inefficient than the Classic GUI. See e.g these threads:

manipulate a system of partial differential equation

MY MAPLE WORKSHEET IS VERY VERY VERY SLOW: can you help me to speed it up?

how to solve a symbolic matrix 11x11? memory allocation problems

So, for serious, intensive usage, the Standard GUI is frequently not an alternative.

 

Among several design issues, the Standard GUI is more inefficient than the Classic GUI. See e.g these threads:

manipulate a system of partial differential equation

MY MAPLE WORKSHEET IS VERY VERY VERY SLOW: can you help me to speed it up?

how to solve a symbolic matrix 11x11? memory allocation problems

So, for serious, intensive usage, the Standard GUI is frequently not an alternative.

 

There are many issues for which the Classic GUI is better than Standard. I just mention now a single example about tickmarks in 3D plots. Indeed, in Maple 13.01 the choice of location of these tickmarks for Standard plots is not so bad as it was previously, but still it is bad, and too much jumpy as the plot is rotated, much worse than in the Classic version.

 

There are many issues for which the Classic GUI is better than Standard. I just mention now a single example about tickmarks in 3D plots. Indeed, in Maple 13.01 the choice of location of these tickmarks for Standard plots is not so bad as it was previously, but still it is bad, and too much jumpy as the plot is rotated, much worse than in the Classic version.

 

The conditions, after ?pdsolve,numeric, should be a (single) set or list. But I had written IBCr and IBCi as lists, and they needed to be combined. A quick way to do it is by 'op' (cf. ?op), as the output of op(IBCr) is the sequence of operands of 'IBCr', i.e. the sequence of the four condition equations for the real part. Then, op(IBCr),op(IBCi) forms the sequence of the eight equations.

 

The conditions, after ?pdsolve,numeric, should be a (single) set or list. But I had written IBCr and IBCi as lists, and they needed to be combined. A quick way to do it is by 'op' (cf. ?op), as the output of op(IBCr) is the sequence of operands of 'IBCr', i.e. the sequence of the four condition equations for the real part. Then, op(IBCr),op(IBCi) forms the sequence of the eight equations.

 

It holds \psi^*\psi= (\psi1)^2+(\psi2)^2. Following the toy calculation above, you can plot it by:

pds := pdsolve({PDEr,PDEi}, [op(IBCr),op(IBCi)], numeric):
pds:-plot(psi1^2+psi2^2, phi = 5);

It holds \psi^*\psi= (\psi1)^2+(\psi2)^2. Following the toy calculation above, you can plot it by:

pds := pdsolve({PDEr,PDEi}, [op(IBCr),op(IBCi)], numeric):
pds:-plot(psi1^2+psi2^2, phi = 5);

Yes. Using  psi=psi1+I*psi2, a slight modification of the previous toy example with complex conditions would be splited like this:

PDEr:=diff(psi1(alpha,phi),`$`(alpha,2))-diff(psi1(alpha,phi),
`$`(phi,2))-exp(4*alpha)*psi1(alpha,phi) = 0:
PDEi:=diff(psi2(alpha,phi),`$`(alpha,2))-diff(psi2(alpha,phi),
`$`(phi,2))-exp(4*alpha)*psi2(alpha,phi) = 0:
IBCr := {psi1(-100, phi) = 0, psi1(100, phi) = 0, 
psi1(alpha, .3361035810) = sin(alpha), 
(D[2](psi1))(alpha, .3361035810) = 1}:
IBCi := {psi2(-100, phi) = 0, psi2(100, phi) = 0, 
psi2(alpha, .3361035810) = exp(-alpha^2), 
(D[2](psi2))(alpha, .3361035810) = 0}:
pdsr := pdsolve(PDEr, IBCr, numeric):
pdsi := pdsolve(PDEi, IBCi, numeric):
pdsr:-plot(psi1^2, phi = 5);
pdsi:-plot(psi2^2, phi = 5);

And it works.

Yes. Using  psi=psi1+I*psi2, a slight modification of the previous toy example with complex conditions would be splited like this:

PDEr:=diff(psi1(alpha,phi),`$`(alpha,2))-diff(psi1(alpha,phi),
`$`(phi,2))-exp(4*alpha)*psi1(alpha,phi) = 0:
PDEi:=diff(psi2(alpha,phi),`$`(alpha,2))-diff(psi2(alpha,phi),
`$`(phi,2))-exp(4*alpha)*psi2(alpha,phi) = 0:
IBCr := {psi1(-100, phi) = 0, psi1(100, phi) = 0, 
psi1(alpha, .3361035810) = sin(alpha), 
(D[2](psi1))(alpha, .3361035810) = 1}:
IBCi := {psi2(-100, phi) = 0, psi2(100, phi) = 0, 
psi2(alpha, .3361035810) = exp(-alpha^2), 
(D[2](psi2))(alpha, .3361035810) = 0}:
pdsr := pdsolve(PDEr, IBCr, numeric):
pdsi := pdsolve(PDEi, IBCi, numeric):
pdsr:-plot(psi1^2, phi = 5);
pdsi:-plot(psi2^2, phi = 5);

And it works.

The next observation is that indeed, there is an issue with complex conditions. E.g. inserting a toy real condition it works fine:

IBC3 := {psi(-100, phi) = 0, psi(100, phi) = 0, 
psi(alpha, .3361035810) = sin(alpha), 
(D[2](psi))(alpha, .3361035810) = 1}:
pds3 := pdsolve(PDE, IBC3, numeric):
pds3:-plot([LinearAlgebra:-HermitianTranspose(psi)*psi], phi = 5);

while adding an imaginary term produces the same error message:

IBC4 := {psi(-100, phi) = 0, psi(100, phi) = 0, 
psi(alpha, .3361035810) = sin(alpha)+I*exp(alpha), 
(D[2](psi))(alpha, .3361035810) = 1}:
pds4 := pdsolve(PDE, IBC4, numeric);
pds4:-plot([LinearAlgebra:-HermitianTranspose(psi)*psi], phi = 5);

Error, (in pdsolve/numeric/plot) unable to compute solution for 
phi>.336103580999999984:
solution becomes undefined, problem may be ill posed or method may be 
ill suited to solution

Just a thought to test, as the pde is linear, split psi into real and imaginary parts and try to solve the system of pdes.

The next observation is that indeed, there is an issue with complex conditions. E.g. inserting a toy real condition it works fine:

IBC3 := {psi(-100, phi) = 0, psi(100, phi) = 0, 
psi(alpha, .3361035810) = sin(alpha), 
(D[2](psi))(alpha, .3361035810) = 1}:
pds3 := pdsolve(PDE, IBC3, numeric):
pds3:-plot([LinearAlgebra:-HermitianTranspose(psi)*psi], phi = 5);

while adding an imaginary term produces the same error message:

IBC4 := {psi(-100, phi) = 0, psi(100, phi) = 0, 
psi(alpha, .3361035810) = sin(alpha)+I*exp(alpha), 
(D[2](psi))(alpha, .3361035810) = 1}:
pds4 := pdsolve(PDE, IBC4, numeric);
pds4:-plot([LinearAlgebra:-HermitianTranspose(psi)*psi], phi = 5);

Error, (in pdsolve/numeric/plot) unable to compute solution for 
phi>.336103580999999984:
solution becomes undefined, problem may be ill posed or method may be 
ill suited to solution

Just a thought to test, as the pde is linear, split psi into real and imaginary parts and try to solve the system of pdes.

First 37 38 39 40 41 42 43 Last Page 39 of 123