chrisc

111 Reputation

5 Badges

16 years, 312 days

MaplePrimes Activity


These are questions asked by chrisc

Hi folks

If you try this simple integral 

simplify(int(P(q)*(Dirac(k-q)+ Heaviside(k-q)),q = 0..infinity)) assuming k>0; 

it returns int(P(q), q = 0 .. k), completely ignoring the delta function. However, if you expand the integral first:

simplify(value(IntegrationTools[Expand](Int(P(q)*(Dirac(k-q)+ Heaviside(k-q)),q = 0..infinity)))) assuming k>0;

 it gives the correct answer 

P(k) + int(P(q), q = 0 .. k)

Looks like a bug to me?

Cheers!

Hi folks, here's a bug in converting abs to Heavisides:

Converting the derivative of the abs function to a piecewise function is fine: 
convert(abs(1,x),piecewise);
returns
piecewise(x < 0, -1, x = 0, undefined, 0 < x, 1);

Whereas, 
convert(abs(1,x),Heaviside);
returns 1.

abs_problem.mw


 

restart;
interface(version);

`Standard Worksheet Interface, Maple 2020.2, Mac OS X, November 11 2020 Build ID 1502365`

(1)

convert(abs(1,x),piecewise);
convert(abs(1,x),Heaviside);

convert(%%,Heaviside);

piecewise(x < 0, -1, x = 0, undefined, 0 < x, 1)

 

1

 

-1+2*Heaviside(x)+undefined*Dirac(x)

(2)

abs(x)=convert(abs(x),Heaviside);
diff(%,x);
strange:=convert(%,Heaviside);
eval(subs(x=-1,%));

abs(x) = -x+2*x*Heaviside(x)

 

abs(1, x) = -1+2*Heaviside(x)+2*x*Dirac(x)

 

1 = -1+2*Heaviside(x)

 

1 = -1

(3)

plot([(abs(x)),lhs(strange),rhs(strange)],x=-5..5,colour=[black,red,blue]);

 

 

 


 

Download abs_problem.mw

Maple has issues integrating products of Bessel functions over an infinite range, and in fact, this extends to trig functions. The integrals in the attached should return as delta functions but don't. 

Spherical_Bessel_identity.mw

Hi folks

I'm trying to integrate products of Bessel functions and reproduce known results in the literature. For example, the integral

Int(BesselJ(0,k*r)*BesselJ(1,q*r),r=0..infinity);

should evaluate to 1/q if q>k and 0 if q<k, but maple only gives the first solution, even when 'assuming q<k' is specified. It should give 1/2q when k=q -- which it does but only when I put k=q in the integral. For some reason, it always assumes q>k whatever I do. 

There's a lot of examples like this. Am I missing something? Is there a way to return an answer with all the (correct!) solutions?

Thanks in advance.

For the following equation, 

eqn:=1.35150599852371*10^10 = 2.45634141630387*10^7*x + 50.7216626470812*x^4 + 6.20132964743411*10^7*x^2 + 1.26328819483651*10^10 + 112528.172146835*x^3

using solve gives 4 real solutions

3.56789020177967, -3.99013603029896, -1017.86074450970, -1200.25966528805

Using RealDomain[solve] gives an error:

RealDomain[solve](eqn,x,allsolutions=true);
Error, (in assuming) when calling 'RootOf'. Received: 'the input range -1200.259665 .. -1200.259665 is invalid'

This is partly a bug alert, but any insight would be appreciated.



 

1 2 Page 1 of 2