Christian Wolinski

MaplePrimes Activity

These are replies submitted by Christian Wolinski

consider this sample:

# Maple Worksheet Interface, Release 4, IBM INTEL NT, Apr 16 1996


makefn := proc(Expr, Args::list({name, name::type}))
local x, q, f;
    f := subs(q = 'Expr', subsop(1 = op('Args'), setattribute(unapply(q, x))));
    f := setattribute(eval(f), operator, arrow)
values := proc(x::uneval) 'values'(x) end;
`type/values` := proc(a, n) evalb('a' = eval(n)) end;




 f1 := m::array(1 .. values(dim), 1 .. values(dim)) -> det(m)
 dim := 2
 Error, f1 expects its 1st argument, m, to be of type array(1 .. values(dim),1 .. values(dim)), but received M3
 dim := 3


Does the above function properly in your version of Maple?

@Markiyan Hirnyk The "answer" states only one thing: the restraint given has the same boundaries as another: signum((abs(x-a)-abs(x+a))*(2*abs(x-a)-1)) = 1. The regions are the same except for exclusion of x=a, due to the log base, shown in grey. Is this answer better?


Why did you edit your comment?


F:=piecewise(x>=0 and x <= 1, x^2,x > 1 and x<=2, (2-x)^2);


plot([f@Q(2),f@Q(4)],-8 .. 8,color = [khaki, black],thickness = [3, 0],numpoints = 101,axes=boxed,scaling=constrained);

From which science is this equation?


What are the values of the parameters and the solution range? Range of m is very important.

@acer Now I understand what you meant.



   Maple Worksheet Interface, Release 4, IBM INTEL NT, Apr 16 1996

This version certainly does not have this feature. All copies share the table and code. That the code is shared is not a problem, but the table sharing bugged me. A wrapper will do the trick. Thanks.

@acer ???? Can you word that plainly?.

@acer What result do you have with:

addressof(eval(op(4,eval(p)))), addressof(eval(op(4,eval(f))));


Unfortunately that code does not work with my version. I suppose I wil just have to neuter the procedure and put a wrapper around to externalize the remember table.


p:=proc(x) option remember; x^2; end:
[addressof(eval(p)), addressof(eval(f))];
[addressof(eval(op(4,eval(p)))), addressof(eval(op(4,eval(f))))];

table([3.4 = 11.56])
table([3.4 = 11.56])
[22017408, 22017408]
[1543892, 1543892]



   Maple Worksheet Interface, Release 4, IBM INTEL NT, Apr 16 1996


My version is one of the firsts that had the graphical output and text input in graphical interface. Yours is one of the first(?) versions to have the graphical input. They had always wanted that. Which version introduced that mode first?

@asa12 you have the definition of 0 of your system, there are arbitrary presentations of your system. I am hoping that part is apparent and obvious to you.

rA := {c-a*s+a, s^2-s-a^2*s^2+2*a^2*s-a^2, b*s+a*s-a}, {-s^2+s+r^2}, [RootOf(_Z^2-s^2+s) = r];
X1:=`@`(`union`,op,[proc(L) L[1], map((x->0=x),L[2]) end],eliminate)(rA[1],{s});
X2:=`@`(`union`,op,[proc(L) L[1], map((x->0=x),L[2]) end],eliminate)(rA[1],{s,b});
X3:=`@`(`union`,op,[proc(E) map(`*`,E,1/b) end@select,remove])(has,X2,b);

@asa12 I dont see what eq2, eq3, eq4 are.

@shzan It seems collect, distributed was needed in this example.

function_coeffs := proc(A, v::set(name))
local S, T;
    S := indets(A, {function});
    S := select(has, S, v);
    T := {Non(map(identical, S))};
    frontend(proc(A, S) local V; (proc(E, S, N) [coeffs](collect(E, S, distributed), S, N) end)(A, S, 'V'), [V] end, [A, S union v], [T, {}])



                                               [-a[2](x), a[1](x)-D(a[2](x)), a[2](x)], [u*D(v), u*v, D(u)*v]

A cleaner version follows (there was a remainder from a previous attempt):

function_coeffs := proc(A, v::set(name))
local S, T;
    S := indets(A, {function});
    S := select(has, S, v);
    T := {Non(map(identical, S))};
    frontend(proc(A, S) local V; [coeffs](collect(A, S, distributed), S, 'V'), [V] end, [A, S union v], [T, {}])


Can you verify this is your formula:



@AfshinK Maple gave a solution with a parameter: _NN1. Maybe you need to explore this option.


{t__ij = -1/(-m+1)*LambertW(_NN1,(-m+1)*m*d^2/theta*exp(-(-m+1)*(-1-c*t__kj-m^2*eta*((exp(t)-1)/exp(t))^m/(exp(t)-1)/theta)))+1+c*t__kj+m^2*eta*((exp(t)-1)/exp(t))^m/(exp(t)-1)/theta};

@Carl Love This Maple is one of the very early versions. It is quite limited. I now recall this very problem from ago. For ill conditioned  polynomials, at higher precision, factor and fsolve runs into "Unable to compute maxnorm". evalf(fsolve(rho_poly),31); fails and evalf(fsolve(rho_poly),30); succeeds. Refining RootOfs fails for select roots, but isolating them enables progress and higher accuracy at a slow rate. 24 roots were identified with least precision of 371 digits. Maximum residual for these is .56481e-347.

These problems were unexpected. I thought this occurence explained difficulties in the originating problem, but I was mistaken.

@Carl Love I tried alot. My Maple gave me some trouble. I think this old version is weak or even bugged in this task. Do you see any precision issues? At 500 Digits with most factors I've obtained remainder of 10^(-460), but with a few (8 total I think) only 10^(-12).

First 14 15 16 17 Page 16 of 17