Axel Vogt

5936 Reputation

20 Badges

20 years, 251 days
Munich, Bavaria, Germany

MaplePrimes Activity


These are answers submitted by Axel Vogt

Appended an example project (VC 2010, but C-style).
May be it helps.

cdfN2010_single_lo.zip

Have you already searched for it?

It is without "h", not like Jack Nicholson, the Crank :-)

Some can be done  using 'inttrans', but not for the given task or in general.
The solution is H := x -> (exp(x)+1/exp(x))*ln(1+exp(2*x))-2*x*exp(x)
You can numerical check it setting Digits to 15 and using a special method:
 
h:= x -> evalf(Int(sech(1/2*k*Pi)/(k^2+1)*exp(k*x*I),k = -infinity .. infinity,
method=_d01amc));

Edited:
Here is a sketch (as it is far from obvious starting with the original question,
lots of struggling, but finally the following is ok):

Look at it as Fourier( F*G ), where F and G itself are inverse Fourier transforms.

1/(k^2+1) = G = invFourier(g), where g is easy to find using inttrans, it is just
Pi*exp(+-x) for x negative resp positive.

sech(1/2*k*Pi) = invFourier(f) is not given by inttrans, but f is the Fourier of
it and converting the notorius notation of sech to exp and the changing to the log
coordinate of the coordinate finally gives it, f = 2*sech.

Now the package can apply the Faltungssatz:

  invfourier(g(x),x,k)*invfourier(f(x),x,k);
  fourier(%,  k,x);

  eval(%, g = 'x -> Pi*(exp(-x)*Heaviside(x)+exp(x)*Heaviside(-x))');
  eval(%, f = 'x -> 2*sech(x)');
  simplify(%);

That results in a symbolic solution, which can be brought in the form given as H.


PS: If you want a faster numerical cross check, then the symmetries in the task
allow to write it as 2*x*Int(cos(z)/(z^2+x^2)/cosh(1/2*z/x*Pi), z=0 .. infinity)
if x is a Real (i.e. a Cosinus transform).

solve(0 = 2-2*(-31/365*x+1)^(1/2)-2*(2-2*(-31/365*x+1)^(1/2)-31/365*x)^(1/2), x) is
something that Wolfram Alpha answers by 0 <= x <= 365/31, which is ~ 11,77.

However for x=12 the command 'simplify' shows that it is zero as well.

I think for that example over the _Reals_ the solution is

piecewise(x < 0, 4-4/365*(-11315*x+133225)^(1/2), 0<=x, 0) ;

I say 'grrr', because Maple is weak on that: try to use 'solve' and you see what I mean. That answers means 'any x', which is not correct (I think it follows by sucessive resolving the square roots by squaring).

v:=sqrt(x+3-4*sqrt(x-1))+sqrt(x+8-6*sqrt(x-1)) - 1
is zero for any x between x=5 and x=10 I would say.

Edited: Here is a sketchy way translated from a similar task

subs(x=p+1, v);
expand(%);
eval(%, p=r^2); simplify(%) assuming 0<r;
convert(%, piecewise,r);
eval(%, r=sqrt(p));
convert(%, piecewise, p);
subs(p=x-1, %);
w:=% assuming 0 <= x-1;

                   {              1/2
                   { 4 - 2 (x - 1)              x <= 5
                   {
              w := {         0                 x <= 10
                   {
                   {               1/2
                   { -6 + 2 (x - 1)           0 < x - 10


I use M16.02 with classical interface and do not have such problems,
line break according to window size (see interface/screenwidth).

But occasionally I use something for printing to post it later. For splitting
a string in M V.3 you have to care by yourself, StringTools is somewhat newer.

split_for_print:=proc(expr, len)
# expr = some Maple expression
# len  = length to split with line breaks
  local L,s,tmp,j;
  s:=convert(expr, string);
  L:=[StringTools:-LengthSplit(s, len)];
  for j from 1 to nops(L) do
    if j = nops(L) then printf("%s", L[-1])
    else printf("%s\\\n", L[j]);
    end if;
  end do:
end proc;
evalf[300](Pi);
split_for_print(%, 40);
3.14159265358979323846264338327950288419\
7169399375105820974944592307816406286208\
9986280348253421170679821480865132823066\
4709384460955058223172535940812848111745\
0284102701938521105559644622948954930381\
9644288109756659334461284756482337867831\
6527120190914564856692346034861045432664\
821339360726024914127

g:= n ->  (1/n)^(n-1)*n*GAMMA(n-1)*
  (add((n+2*(1/n)^p1*exp(n)*GAMMA(p1+1, n))/(n^2*(1/n)^(p1+1)*GAMMA(p1+1)), p1 = 1 .. n-2)
  +1+2/n) ; # your expression
plot('g'(n), n=2 .. 20);

If you write your terms to find f=0 and g=0, then each solution is a
surface in the 3-dim space and intersecting them generally is a curve
(there may be more than 1 component or even isolated points, and
some care has to taken for such reasoning in the real case).

But you can have a look, how the curve behaves:

with(plots):

oneRange:= -15 .. 7;
myRange:= alpha=oneRange, beta=oneRange, kappa=oneRange;

implicitplot3d(f, myRange, axes=boxed, color="LightSalmon",
  orientation=[-130, -110, 0]):
implicitplot3d(g, myRange, axes=boxed, color="LightBlue"):

display({%%,%});

When looking at your older posts and questions it seems that you always have such problems, no?

For me it sounds as if it is a problem of graphical subsystems (not that I am an expert or a support guy and you should contact them).

 

But what was the version before 16.02? Why not re-installing it?

PS: for the user support you will have to provide informations about your PC/notebook: operating system + version, graphical card, screen and connection, connetion of keyboard and mouse, memory ... What are you using?

plot the function and you will see where to search

I guess, that you have to register again (and install, of course) , since the hard disk ID is used for that as other hardware data as well.

solve(eq, z, AllSolutions);
                  exp((1/4 + 1/4 I) Pi (-1 + 4 _Z1))
Here the 'strange' variable _Z1 stands for any integer.

Denote your expression by k.

subs(Pi=pi, k): 
map(identify, %):
evalf[18](%):

Using 'series' gives a false result, 'MultiSeries:-series' however works.

f:= x -> 1/x^(1/3)/(x^2+2*x*cos(phi)+1);
series(f(x), x=-exp(I*phi), 2):  simplify(%); # gives residue=0
MultiSeries:-series(f(x), x=-exp(I*phi), 2); # works
For phi = Pi/2 that results in 1/4*I*(3^(1/2)+I)/(x+I), giving
-.250000000000000+.433012701892220*I
Cross check z:= t -> -I+exp(I*t*Pi*2); is a curve around -I
with correct orientation, chosen for phi = Pi/2 and
'Int(f(z(t))*D(z)(t), t=0..1)/(2*Pi*I)';
eval(%, phi=Pi/2);
evalf[10](%);
-.2500000000+.4330127017*I
'confirms' that

Please upload code, not pictures. It is more easy to copy than to type, no?

 

It is smooth, but very rapidly oscillating. I guess.

You may try to avoid the sclaing factor in front. And increase Digits to 15, at least.

First 26 27 28 29 30 31 32 Last Page 28 of 93