Kitonum

21445 Reputation

26 Badges

17 years, 41 days

MaplePrimes Activity


These are answers submitted by Kitonum

An example:

P:=a*b^2 + b*c - a^3*c^2;

Q:=expand(P^7);

ind:=indets(%);

n:=igcd(seq(degree(Q,s), s=ind));

RealDomain[simplify](Q^(1/n), symbolic);

 

 

 

The example:

V:=Vector([x+y=1, x-y=2]);

A, v:=LinearAlgebra[GenerateMatrix](convert(V, list), [x,y]);  #  A is the matrix, v is the vector

<A | v>;   #  augmented matrix of the system

                          

 

 

assume(a<>1, a*c<>1):

 is(a^2*c-a*c-a+1<>0);

                   true

Your function has an infinite number of points of inflection. To find them within a given range, we can use  RootFinding[Analytic]  command. I took the range  -5..5 .

 

f := x->(7-x)*sin(x^2-7):

F := diff(f(x), x, x);

L := [RootFinding[Analytic](F, re = -5 .. 5, im = -0.1 .. 0.1)];

P := map(t->[t, f(t)], L);

 

 

Visualization:

A := plot(P, style = point, symbol = solidcircle, color = red):

B := plot(f, -5 .. 5, color = blue):

plots[display](A, B);

                      

 

 

Probably there is no need for such a large number of Digits. I left 5 digits, the expression converted to the fraction and simplified by  normal  command:

A:=2.560000000*10^(-30)*k1*(2.309486127*10^38*n-1.154743064*10^38-1.186994552*10^37*k2^2*n^2+2.373989104*10^37*k2^2*n+8.541613702*10^37*k2*n^2-1.154743064*10^38*n^2+7.119519043*10^37*n^2*k1^2+6.495962587*10^37*k1*n^2-1.293058266*10^38*k2*n^2*k1-1.186994552*10^37*k2^2-1.708322740*10^38*k2*n+1.293058266*10^38*k2*n*k1+8.541613702*10^37*k2-3.529088273*10^37*k1-2.966874313*10^37*k1*n)/(1.620847396*10^9*n-1.620847396*10^9):

normal(convert(evalf[5](A), fraction));

 

If you want to keep all the digits, just

normal(convert(A, fraction));

a:=Matrix([[1,2],[3,4]]):

add(add(a[i,j]*f[parse(cat(i,j))], j=1..2), i=1..2);

                    

 

 

@vv

you are right. My approach above works only if the sets of actual  variables of the polynomials are the same. The following procedure  EquateCoeffs  solves the problem - it equates the coefficients of any two multivariate polynomials. The procedure includes the sub-procedure  coefff  that is useful in itself.

EquateCoeffs:=proc(L1::list,L2::list)

local coefff, s;

coefff:=proc(P,T,t)   # Returns the coefficient of the monomial t in the polynomial P (T - the set of polynomial's variables)

local L,H,i,k:

L:=[coeffs(P,T,'h')]: H:=[h]: k:=0:

for i from 1 to nops(H) do

if H[i]=t then k:=L[i] fi:

od:

k;

end proc:

coeffs(op(L1),'s1');

coeffs(op(L2),'s2');

s:=`union`({s1},{s2});

seq(coefff(op(L1),t)=coefff(op(L2),t), t=s);

end proc:

 

Example of use:

EquateCoeffs([a*x^2+b*y^2+c*x*y+f, [x,y]], [d*x^2+e, [x]]);

                              f = e, a = d, b = 0, c = 0

 

 

restart;

P1:=(1/2*(p*a*b+(g-p)*b-g))*b*v*a*ln(E)^2-(-1+b)*v*(g-p+a*p)*b*a*ln(E)*ln(K)-b*p*(a-1)*v*a*ln(E)*ln(L)+v*a*b*ln(E)+(1/2*(p*(-1+b)*a+(g-p)*b+p))*(-1+b)*v*a*ln(K)^2+(-1+b)*v*p*(a-1)*a*ln(K)*ln(L)-v*a*(-1+b)*ln(K)+(1/2)*a*p*v*(a-1)*ln(L)^2-v*(a-1)*ln(L):

P2:=x_1*ln(E)+x_11*ln(E)^2+x_12*ln(E)*ln(K)+x_13*ln(E)*ln(L)+x_2*ln(K)+x_22*ln(K)^2+x_23*ln(K)*ln(L)+x_3*ln(L)+x_33*ln(L)^2:

coeffs(P1, [ln(E),ln(K),ln(L)])=~coeffs(P2, [ln(E),ln(K),ln(L)]);

 

 

 

In your example, it is more convenient to work with sets than with lists:

A:={x, y, x^2*y, x*y^2, y^2}:   B:={x^2, y^3}:

C:=A:

for a in A do

if convert([seq(degree(a/b, x)>=0 and degree(a/b, y)>=0, b=B)],`or`) then C:=C minus {a} fi;

od:

C;

                                        {x, y, y^2, x*y^2}

 

Of course, it's easy to rewrite this code as a procedure with any number of variables.

restart;

f, g:=2, convert(series(1/sqrt(1-x^2),x=0),polynom):

plots:-shadebetween(f, g, x=0..sqrt(3)/2);

There is software that makes it. See here

Use  side relations  option in  simplify  command.

Example:

simplify((x^2+y^2+z^2+w^2)^10, {x^2+y^2+z^2+w^2=1});

                                                 1

Example:

Matrix([[x+y,x-y], [z,w]]):

eval(%, {x=-x, y=-y, z=-z, w=-w});

For plotting a single plot of multiple objects use  plots[display] .

Example:

with(DynamicSystems):

T:= Vector(20, t->0.1*(t)):

x1:= Vector(20, t->sin(0.1*t)):

x2:= Vector(20, t->cos(0.1*t)):

A:=DiscretePlot(T, x1, style=stair):

B:=DiscretePlot(T, x2, style=stair):

plots[display](A, B);

For fixed parameters  a, b, c, omega  when changing  t  the end of your variable vector  r(t) describes  a spiral:

a := 2: b := 1: c := 1: omega := 2:

r := t-><a*cos(omega*t), b*sin(omega*t), c*t>:

with(plots):

A := animate(arrow, [r(t), color = blue], t = 0 .. 2*Pi, frames = 100):

B := animate(spacecurve, [[a*cos(omega*s), b*sin(omega*s), c*s], s = 0 .. t, color = red, thickness = 3, linestyle = solid], t = 0 .. 2*Pi, frames = 100):

display(A, B, axes = normal, scaling = constrained);

                                            

 

First 203 204 205 206 207 208 209 Last Page 205 of 289