Axel Vogt

5821 Reputation

20 Badges

20 years, 224 days
Munich, Bavaria, Germany

MaplePrimes Activity


These are answers submitted by Axel Vogt

Some Linear Algebra (had to refresh it): you consider IR^7 ---) IR^14, x ---) A.x
and it is better to use A:= map(convert,A, rational) etc.

The command Rank(A) returns '7', so that is a monomorphism. Likewise you can ask
for NullSpace(A), which returns {} (I guess, that the zero vector is meant).

In words: if there is any solution for the equation A.x = y, then it is unique.

The command LinearSolve(A,y) returns with an error, which tells that there is no
solution (I would prefer that as result, not as an error ...).

To understand it use the commands "ColumnSpace(A): evalf[100](%): evalf[3](%);"

If you have set "interface(rtablesize=infinity)" as Preben Alsholm did, then you
see the base vectors for the image of the map: in the first 7 coordinates you will
see something like the 'canonical' base, while for the last coordinates you will
see entries of magnitude ~ 10^15.

Now your y has zeros in the last coordinates and non-zeros in the first coordinates.
But the representation (and injectivity or rank) says: the first 7 already uniquely
determine a pre-image x. And that does not map to zeros in the last ones.

IIRC least square is unique in this sitaution, so it does not make (direct) sense
to ask for a better one (except in other norms, but those are equivalent, hence
also unique)


If CS:=ColumnSpace(A) and y:= y:=convert(Y, Vector), then add(y[j].CS[j], j=1 .. 7)
is the exact vector in the image, which has coordinates of y in the first 7 ccordinates
(as you can see by %[1 .. 7] and looking at y).

The 2-Norm of that - y is ~ 6300, add(y - y[j].CS[j], j=1 .. 7):  Norm(%,2); evalf(%); 

Usually I was off *.mw sheets ...

That seems to have crashed my standard printer, which is a pdf-printer.
Printing just hangs up. The only thing which worked was printing to file
in the printer menu - but that seems to print postscript command code
(to be inspected with a proper editor), however it was possible to read
it with a postscript viewer (like ghostview) and to convert that to pdf.
My printer has its own, independent postscript system.

So I guess that file damaged the postscript for the printer.

I had to de-install and re-install the printer, which now works again.

Also had some strange entries in my registry, displaying non-Ascii,
it looked like chinese or so - non-readable for me.

Very strange ...

PS: I am using Win7

I think it is Pi^2/2 - arctan(sqrt(8))*Pi, which at least gives the correct numerical value 1.06762913815971

Have to clean up my ugly sheet to post it later.

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.

First 25 26 27 28 29 30 31 Last Page 27 of 92