Christian Wolinski

MaplePrimes Activity


These are replies submitted by Christian Wolinski

How do you know that:
 

 

pdsolve({
x*diff(f(x,y),x)+y*diff(f(x,y),y) = x*y*ln(x*y),
x^2*diff(f(x,y),x,x)+y^2*diff(f(x,y),y,y) = x*y
});


gives the complete solution?

@arashghgood 

 map(`@`(abs, lhs - rhs), EQ)

this will compute the absolute values of the errors of the equations in EQ.

map(`@`(evalf, subs), sols, ...

this will substitute each solution in sols into the above, and use evalf on it.

fnormal will annihilate numeric error smaller than 10^(-(Digits-4)).

Solutions in sols generate error no greater than 10^(-56).

Out of curiosity: which Intel Xeon, what motherboard?

@Joe Riel What if n is intended to be integer?

@arashghgood You are looking for a solution sol2 in the range Re(K)=0..1, Im(K)=4..5. I think that "solution" appears when cosh(Q)=0. Otherwise simply use this code:

  EQ := {Q = sqrt(K^2 - 6.283185308*I), (K*(Q*sinh(K)*cosh(Q)
   - K*cosh(K)*sinh(Q))*(7.135575944*K^2 + 1)
   - 0.0004077471968*K^2*Q*(K^2 + Q^2)
   + 0.0001019367992*Q*(5*K^4 + 2*K^2*Q^2 + Q^4)*cosh(K)*cosh(Q)
   - 0.0001019367992*K*(K^4 + 6*K^2*Q^2 + Q^4)*sinh(K)*sinh(Q))/(K^2*Q*cosh(Q)
  ) = 0};
  Digits := 60;
  sols := {};
  do sol1 := {fsolve}(EQ, {K, Q}, {K = 0 .. 5 + 14*I}, complex, fulldigits, 
    avoid = sols);
    if type(eval('sol1', 2), set(specfunc(anything, fsolve))) then
      break
    end if;
    print(sol1);
    sols := `union`(sols, sol1);
  end do;
  map(`@`(evalf, subs), sols, map(`@`(abs, lhs - rhs), EQ));
  fnormal(%, Digits - 4);

Fine code, but surprisingly slow. Serial rather than iterative process is needed. Simplex package does not seem up to the task. (?) Are there alternatives?

@mmcdara Yes, thank You. This is the idea I was recollecting. This can be implemented as a masking of a fixed texture by a projection of an object.

@Kitonum Maplesoft does provide older versions to be used in place of your current one. Does this mean you can have all of them installed, or must you uninstall the other to use just one?

@Kitonum So there is no hope for it with 64 bit installation? Can I have 32bit and 64bit installs simultaneously?

You need to look at the last line and decide what you were trying to do:

p[m]:=plot([seq([seq([(i-1)*h,subs(alpha=pars[m],T1[j],PP[i,j][m])],i=1..N+2)],j=1..M+1)]):

Do you have more than 4 cores? I think Windows maybe having some sort of limitations in this respect. Check it.

@Stretto Your code should be:

E := proc(f, x, depth)
   if depth = 0 then x else
# Trying to actually compute f(f(x)), say. I know we can just loop.

      E(f, f(x), depth-1);
#or
#      E(f, f[depth](x), depth-1);
  fi;
end proc:


as only the innermost f takes x as argument.
Looped version:


E := proc(f, x, depth)
   local i, coord:=x;
   for i from depth to 1 by -1 do coord:=f(coord) od;
#or
#  for i from depth to 1 by -1 do coord:=f[i](coord) od;
end;

@alexk213 .167084168057542165456902860033807362201524292515164404031254374190731323852253210417020805425

Maple 2017 agrees with your second value (python) at Digits:=15; and with the first one at Digits:=11;.

@AhmedRahby Are you trying to change variable ordering?

1 2 3 4 5 6 7 Last Page 1 of 13