Christian Wolinski

MaplePrimes Activity


These are answers submitted by Christian Wolinski

gives this:
 

 

R := z = RootOf(-8649 + 270100*_Z + 9000*_Z^2 + 100*_Z^3, .3198736765e-1) .. .1;
A := [[3/2 + 1/10*(-8649+270100*z + 9000*z^2 + 100*z^3)^(1/2), z, 'R'], [3/2 - 1/10*(-8649 + 270100*z + 9000*z^2 + 100*z^3)^(1/2), z, 'R']];
plot(A);


Thumb if you like.

If you dont want something expanded, then name it:
 

 

CG:=proc(E) map(q -> collect(q, G, proc(E) if type(E, `*`) then map(collect, E, [F], factor) else collect(E, [F], factor) end if end@factor), E); end:

eqn := 5*(x*y)^2 + x/G = 2*F^3 + x^2, F = 3*x^3 + y^2, G^2 = y, G = sqrt(y);
#implicitdiff({eqn[1..-2]}, {y, F, G}(x), {y}, x):
implicitdiff({eqn[1..-2]}, {x, F, G}(y), {x}, y):
simplify(%, [eqn[-2]]);

applyop(CG, [1,2], convert(%, parfrac, G));
subs([eqn[2..-1]], %);  

 

Thumb if you like.

Maybe this is what you need:

 

with(Domains):
GI := Gaussian(Z):
F:=proc(a,b)
   local i, s, t, g;
   g := op('procname');
   i := g[Input](a), g[Input](b);
   i, PrincipalIdeal(g, i, 's, t'), s, t;
end proc;
F[GI](-87+47*I, -90+43*I); 

 

Thumb if you like.

What you are trying to do is specifically intended for the command simplify:

 

simplify(expr, [expression = V1]); 

 

Thumb if you like.


Two ways:

 

GST := AE + AI - ANB - AR - CP;


GSTf := evalindets(GST, name, unapply('unapply(a[i], i), a'));
GSTf ~ ([$1..3]);

GSTg := evalindets(GST, name, unapply('G[a], a'));
G := () -> op(procname)['args'];
GSTg ~ ([$1..3]); ;


Thumb if you like.

Replace the capital I in your formulas with lower case i and the problem will disappear. Capital I means (-1)^(1/2) which in algebraic formulas will be transformed by simplifications.

 

Thumb if You like.

 

 

 

 

 

This is a basic rule of valuations:

'
log[2]'(3);

T
humb if you like.


 

 

A := Y = (-2*k^3+6*k^2+sqrt(k^8-12*k^7+64*k^6-198*k^5+448*k^4-636*k^3+369*k^2)-7*k-15)/((k^3-3*k^2+5*k-15)*(1+k));
collect((evala@Norm)((lhs-rhs)(A)), Y, proc(E) convert(E, parfrac, k, {I, sqrt(5)}); map(radnormal, %); end);
collect((evala@Norm)((lhs-rhs)(A)), Y, proc(E) convert(E, parfrac, k); map(normal, %); end); 


Thumb if you like.

Edit:

Try these two. If you need the derivation I can post it too.

 

(abs(psi)^2*abs(rho)^2+abs(chi)^2*abs(phi)^2)*abs(lambda1-lambda2)^2+(abs(phi)^2*abs(rho)^2+abs(chi)^2*abs(psi)^2)*abs(-conjugate(lambda1)+lambda2)^2-8*Re(conjugate(phi)*conjugate(rho)*chi*psi)*Im(lambda1)*Im(lambda2);

(abs(chi)^2*abs(phi)^2+abs(psi)^2*abs(rho)^2+2*Re(conjugate(phi)*conjugate(rho)*chi*psi))*abs(lambda1-lambda2)^2+(abs(psi)^2*abs(chi)^2+abs(phi)^2*abs(rho)^2-2*Re(conjugate(phi)*conjugate(rho)*chi*psi))*abs(-conjugate(lambda1)+lambda2)^2; 


Thumb if you like.


How long does this example take on your computer?

 

T := w^3 + w*z + x^2 + 1, w*z + x*y + x*z + 1, w*x + w*z + y*z + z;
P := Expand(`*`(T)) mod 2;
print(degree(P));
Factor(P) mod 2;

Thumb if you like.


This code will suffice:

 

map(factor @ simplify, evecA1[2], [rho*c^2/(gamma-1)*(1/rho)+(1/2)*u^2 = H], [c, u, H]);


Thumb if you like.

Assuming your expression is contained in f, use the following code:

 

T[0]  := f:
T[10] := sqrt(omega) * 12^(1/4);
T[20] := evalindets(T[0], specfunc(anything, exp), exp @ proc(P) global T; radnormal(op(1, P) / T[10]) * T[10] end):
T[30] := [sqrt(omega) = Omega / (12^(1/4)), (omega) = (Omega / (12^(1/4)))^2];
T[40] := factor(expand(subs(T[30], T[20])));
T[50] := [exp(Omega) = beta[1], exp(I * Omega) = beta[2]];
T[60] := factor(radnormal(subs(T[50], T[40]))):
op(map(rhs = lhs, T[50])), Omega = solve(T[30][1], Omega), T[60];
subs(%);

 

omega = RootOf(cos(2*12^(1/4)*sqrt(_Z))*(exp(2*12^(1/4)*sqrt(_Z)))^2+cos(2*12^(1/4)*sqrt(_Z))-2*exp(2*12^(1/4)*sqrt(_Z)), 4.450852611);
or
omega = (1/24)*RootOf(cos(_Z)*exp(2*_Z)+cos(_Z)-2*exp(_Z),7.853204624)^2*sqrt(3);

Try this instead:

 

_interface(showassumed = 0):
assume(x > 0, t > 0, k > 0):
pde := diff(u(x, t), t) = k * diff(u(x, t), x$2):
ic := u(x, 0) = 0:
bc := u(0, t) = t:
sol:= pdsolve({pde, ic, bc}, u(x, t)):


Your problem arises from assume/additionally as it generates a chain of assignments every time you make an assumption on a variable. The is/assume facility responds to every variable in the chain the same way, but we can expect pdsolve does not, hence your error. Simply put the assumption (assignment) at the beginning of everything. Alleviating this difficulty was the one of the reasons why "assuming" was created.

Evalb is too literal and not intended for the test case you included. For floats you'd always use fnormal.

If you know the solutions are reals then:

 

`@`(sort, combine, expand, evalc, map)(Re, [solve](5*x^3 - 5*x + 1, x));

4 5 6 7 8 9 10 Page 6 of 10