Kitonum

20741 Reputation

26 Badges

16 years, 156 days

MaplePrimes Activity


These are answers submitted by Kitonum

In this example, it's easier to do it manually, using the empty symbol  ``   to prevent automatic bracket expansion:

restart;
p:=9*csc(theta)^2+9;
9*``(p/9);

 

evala(M);

 

You can use a special program for this. See  https://mapleprimes.com/posts/200677-Partition-Of-An-Integer-With-Restrictions

Examples of use:

Partition(10, 4, 1..4);  # Your problem.
``;
Partition(10, 4, {1,3,5,7,9});  # Partitions of length 4 consisting only of odd numbers.
``;
Partition(10, 1..10, {1,3,5,7,9});  # Any partitions of odd numbers.

         

 

 

A:=int(x^(1/2),x);
sqrt(A^2);

                                     

We used the fact that for any non-negative real number  A = sqrt(A^2) . This technique is often useful.

The  has(a, b)  command returns true if  b  is an operand of  of some level (in this case we say that  b  is a subexpression of  a ) . The operands are returned by the op command. See

restart;
A:=I/sqrt(a);
B:=op(A);
op(B[2]);
has(A,a^(-1/2));
has(A,-1/2);

                       

In the help for the  Algebraic:-Remainder(a, b, x, options) command it is written: "The arguments a and b must be univariate polynomials in the variable x, which is typically a name. If other names or non-algebraic sub-expressions are included and they cannot be evaluated to algebraic numbers, an "unable to divide multivariate polynomials" error will be returned". So use he standard command  rem :

restart;
rem(a*x^3 + b*x^2 + c*x + d, 3*a*x^2 + 2*b*x + c, x);

 

Use the  empty symbol  ``  for this.

Example:

restart;
plot(sqrt(x), x = 0 .. 4, tickmarks = [[seq(i=``,i=0..4)], [seq(i=``,i=0..2)]], scaling=constrained);

                               

restart;
expr:=factor(x^10/36 - 4/25*y^24*z^8);
r:=op(expr);
d:=r[1];
sort(``(sqrt(d)*r[2])*``(sqrt(d)*r[3]), x);

                    

 

 

It's very simple. You must write your code as a procedure with the parameter  xP , and then use the  plots:-animate command, specifying a range for the parameter  xP :

restart;
Proc:=proc(xP)
local xA, yA, xB, yB, yP;
uses plots,geometry;
_EnvHorizontalName := 'x';
_EnvVerticalName := 'y';
xA := 5;
yA := 0;
point(A, xA, yA);
xB := 5;
yB := -7;
point(B, xB, yB);
midpoint(C, A, B);
segment(sg1, A, B);

yP := 0;
point(P, xP, yP);
PerpenBisector(L, C, P);
line(YYp, y = yB);
line(XXp, y = 0);
intersection(M, L, YYp);
line(PM, [P, M]);
projection(H, C, PM);
triangle(CMP, [C, M, P]);
triangle(ABH, [A, B, H]);
distance(B, H);
circle(cir, [B, 7]);
display(textplot([[coordinates(A)[], "A"], [coordinates(B)[], "B "], [coordinates(C)[], "C"], [coordinates(M)[], "M"], [coordinates(H)[], "H"], [coordinates(P)[], "P"]], align = {"above", 'right'}),
draw([YYp(color = red), XXp(color = black), PM(color = green), L(color = green), sg1(color = black), cir(color = magenta), P(color = black, symbol = solidcircle, symbolsize = 10), M(color = black, symbol = solidcircle, symbolsize = 10), H(color = black, symbol = solidcircle, symbolsize = 10), A(color = blue, symbol = solidcircle, symbolsize = 10), B(color = blue, symbol = solidcircle, symbolsize = 10), CMP(color = blue, filled = true, transparency = 0.8), ABH(color = red, filled = true, transparency = 0.8), C(color = blue, symbol = solidcircle, symbolsize = 10)]),
axes = none, view = [-15 .. 14, -15 .. 3]);
end proc:

plots:-animate(Proc, [a], a=-12..12, frames=90);

     

Also we can use the Explore command:

Explore(Proc(xP), xP=-12..12);

     

 

When specifying a function using the arrow, you must specify the function name. Your function names will be y1 and y2, not y1(x) and y2(x).
Also, your expression is somewhat better simplified with the  combine  command rather than the  simplify.

y1 := proc (x) options operator, arrow; 2*sin(x)-sin(2*x)+cos(2*x) end proc; y2 := proc (x) options operator, arrow; 4*sin(x)+sin(2*x)-cos(2*x) end proc; diff(y1(x), x); Expr := 1/2*((diff(y1(x), x))^2+(diff(y2(x), x))^2)+1/2*(3*y1(x)^2-y1(x)*y2(x)+y2(x)^2); simplify(Expr); combine(Expr)

33/2+(3/2)*sin(4*x)+(5/2)*sin(3*x)+(5/2)*cos(3*x)+(3/2)*cos(x)+(3/2)*sin(x)

(1)

NULL

Download simplify_expression_new.mw

I think this example reveals a serious bug in the  isolve  command that may appear in other examples. Let's consider a very simple example: find all integer solutions to the equation (x - y)*z = 1  . Obviously, the product of two integers is equal to 1 if and only if both factors are equal to 1 or both factors are equal to -1, that is, we obtain the set of two systems  {x - y = 1, z = 1}  or  {x - y = -1, z = -1} . But Maple only solves the first system and for some reason ignores the second one:

isolve((x-y)*z=1);

                      {x = _Z1+1, y = _Z1, z = 1}

Your problem has infinitely many solutions (see result of the  solve  command)). As an example at the end we find 1 solution:

restart;
A:=Matrix(3,symbol=x);
B:=A^2-A;
convert(B, set);
Sol:=solve(%); # All the solutions
X:=Sol[1];
L:=[x[2,1]=1,x[3,1]=2,x[3,2]=3,x[3,3]=4];
Y:=eval(X, L);
A:=eval(A,[L[],Y[]]); # 1 solution
A^2-A; # Check

Matrix(3, 3, {(1, 1) = x[1, 1], (1, 2) = x[1, 2], (1, 3) = x[1, 3], (2, 1) = x[2, 1], (2, 2) = x[2, 2], (2, 3) = x[2, 3], (3, 1) = x[3, 1], (3, 2) = x[3, 2], (3, 3) = x[3, 3]})

 

Matrix(3, 3, {(1, 1) = x[1, 1]^2+x[1, 2]*x[2, 1]+x[1, 3]*x[3, 1]-x[1, 1], (1, 2) = x[1, 1]*x[1, 2]+x[1, 2]*x[2, 2]+x[1, 3]*x[3, 2]-x[1, 2], (1, 3) = x[1, 1]*x[1, 3]+x[1, 2]*x[2, 3]+x[1, 3]*x[3, 3]-x[1, 3], (2, 1) = x[1, 1]*x[2, 1]+x[2, 1]*x[2, 2]+x[2, 3]*x[3, 1]-x[2, 1], (2, 2) = x[1, 2]*x[2, 1]+x[2, 2]^2+x[2, 3]*x[3, 2]-x[2, 2], (2, 3) = x[1, 3]*x[2, 1]+x[2, 2]*x[2, 3]+x[2, 3]*x[3, 3]-x[2, 3], (3, 1) = x[1, 1]*x[3, 1]+x[2, 1]*x[3, 2]+x[3, 1]*x[3, 3]-x[3, 1], (3, 2) = x[1, 2]*x[3, 1]+x[2, 2]*x[3, 2]+x[3, 2]*x[3, 3]-x[3, 2], (3, 3) = x[1, 3]*x[3, 1]+x[2, 3]*x[3, 2]+x[3, 3]^2-x[3, 3]})

 

{x[1, 1]^2+x[1, 2]*x[2, 1]+x[1, 3]*x[3, 1]-x[1, 1], x[1, 1]*x[1, 2]+x[1, 2]*x[2, 2]+x[1, 3]*x[3, 2]-x[1, 2], x[1, 1]*x[1, 3]+x[1, 2]*x[2, 3]+x[1, 3]*x[3, 3]-x[1, 3], x[1, 1]*x[2, 1]+x[2, 1]*x[2, 2]+x[2, 3]*x[3, 1]-x[2, 1], x[1, 1]*x[3, 1]+x[2, 1]*x[3, 2]+x[3, 1]*x[3, 3]-x[3, 1], x[1, 2]*x[2, 1]+x[2, 2]^2+x[2, 3]*x[3, 2]-x[2, 2], x[1, 2]*x[3, 1]+x[2, 2]*x[3, 2]+x[3, 2]*x[3, 3]-x[3, 2], x[1, 3]*x[2, 1]+x[2, 2]*x[2, 3]+x[2, 3]*x[3, 3]-x[2, 3], x[1, 3]*x[3, 1]+x[2, 3]*x[3, 2]+x[3, 3]^2-x[3, 3]}

 

Sol := {x[1, 1] = -(x[2, 1]*x[3, 2]+x[3, 1]*x[3, 3]-x[3, 1])/x[3, 1], x[1, 2] = -x[3, 2]*(x[2, 1]*x[3, 2]+x[3, 1]*x[3, 3]-x[3, 1])/x[3, 1]^2, x[1, 3] = -x[3, 3]*(x[2, 1]*x[3, 2]+x[3, 1]*x[3, 3]-x[3, 1])/x[3, 1]^2, x[2, 1] = x[2, 1], x[2, 2] = x[2, 1]*x[3, 2]/x[3, 1], x[2, 3] = x[2, 1]*x[3, 3]/x[3, 1], x[3, 1] = x[3, 1], x[3, 2] = x[3, 2], x[3, 3] = x[3, 3]}, {x[1, 1] = -(x[2, 1]*x[3, 2]+x[3, 1]*x[3, 3]-x[3, 1])/x[3, 1], x[1, 2] = -x[3, 2]*(x[2, 1]*x[3, 2]+x[3, 1]*x[3, 3])/x[3, 1]^2, x[1, 3] = -(x[2, 1]*x[3, 2]*x[3, 3]+x[3, 1]*x[3, 3]^2-x[2, 1]*x[3, 2]-x[3, 1]*x[3, 3])/x[3, 1]^2, x[2, 1] = x[2, 1], x[2, 2] = (x[2, 1]*x[3, 2]+x[3, 1])/x[3, 1], x[2, 3] = x[2, 1]*(x[3, 3]-1)/x[3, 1], x[3, 1] = x[3, 1], x[3, 2] = x[3, 2], x[3, 3] = x[3, 3]}, {x[1, 1] = -x[2, 2]+1, x[1, 2] = -x[2, 2]*(x[2, 2]-1)/x[2, 1], x[1, 3] = -x[2, 3]*(x[2, 2]-1)/x[2, 1], x[2, 1] = x[2, 1], x[2, 2] = x[2, 2], x[2, 3] = x[2, 3], x[3, 1] = 0, x[3, 2] = 0, x[3, 3] = 0}, {x[1, 1] = -x[2, 2]+1, x[1, 2] = -x[2, 2]*(x[2, 2]-1)/x[2, 1], x[1, 3] = -x[2, 3]*x[2, 2]/x[2, 1], x[2, 1] = x[2, 1], x[2, 2] = x[2, 2], x[2, 3] = x[2, 3], x[3, 1] = 0, x[3, 2] = 0, x[3, 3] = 1}, {x[1, 1] = 1, x[1, 2] = -x[1, 3]*x[3, 3]/x[2, 3], x[1, 3] = x[1, 3], x[2, 1] = 0, x[2, 2] = -x[3, 3]+1, x[2, 3] = x[2, 3], x[3, 1] = 0, x[3, 2] = -x[3, 3]*(x[3, 3]-1)/x[2, 3], x[3, 3] = x[3, 3]}, {x[1, 1] = 1, x[1, 2] = x[1, 2], x[1, 3] = x[1, 3], x[2, 1] = 0, x[2, 2] = 0, x[2, 3] = 0, x[3, 1] = 0, x[3, 2] = 0, x[3, 3] = 0}, {x[1, 1] = 1, x[1, 2] = x[1, 2], x[1, 3] = x[1, 3], x[2, 1] = 0, x[2, 2] = 1, x[2, 3] = 0, x[3, 1] = 0, x[3, 2] = -x[1, 2]/x[1, 3], x[3, 3] = 0}, {x[1, 1] = 1, x[1, 2] = 0, x[1, 3] = 0, x[2, 1] = 0, x[2, 2] = 1, x[2, 3] = 0, x[3, 1] = 0, x[3, 2] = x[3, 2], x[3, 3] = 0}, {x[1, 1] = 1, x[1, 2] = 0, x[1, 3] = 0, x[2, 1] = 0, x[2, 2] = 1, x[2, 3] = 0, x[3, 1] = 0, x[3, 2] = 0, x[3, 3] = 1}, {x[1, 1] = 1, x[1, 2] = x[1, 2], x[1, 3] = 0, x[2, 1] = 0, x[2, 2] = 0, x[2, 3] = 0, x[3, 1] = 0, x[3, 2] = x[3, 2], x[3, 3] = 1}, {x[1, 1] = 0, x[1, 2] = -x[1, 3]*(x[3, 3]-1)/x[2, 3], x[1, 3] = x[1, 3], x[2, 1] = 0, x[2, 2] = -x[3, 3]+1, x[2, 3] = x[2, 3], x[3, 1] = 0, x[3, 2] = -x[3, 3]*(x[3, 3]-1)/x[2, 3], x[3, 3] = x[3, 3]}, {x[1, 1] = 0, x[1, 2] = 0, x[1, 3] = 0, x[2, 1] = 0, x[2, 2] = 0, x[2, 3] = 0, x[3, 1] = 0, x[3, 2] = 0, x[3, 3] = 0}, {x[1, 1] = 0, x[1, 2] = x[1, 3]*x[3, 2], x[1, 3] = x[1, 3], x[2, 1] = 0, x[2, 2] = 0, x[2, 3] = 0, x[3, 1] = 0, x[3, 2] = x[3, 2], x[3, 3] = 1}, {x[1, 1] = 0, x[1, 2] = x[1, 2], x[1, 3] = 0, x[2, 1] = 0, x[2, 2] = 1, x[2, 3] = 0, x[3, 1] = 0, x[3, 2] = x[3, 2], x[3, 3] = 0}, {x[1, 1] = 0, x[1, 2] = x[1, 2], x[1, 3] = x[1, 3], x[2, 1] = 0, x[2, 2] = 1, x[2, 3] = 0, x[3, 1] = 0, x[3, 2] = 0, x[3, 3] = 1}

 

X := {x[1, 1] = -(x[2, 1]*x[3, 2]+x[3, 1]*x[3, 3]-x[3, 1])/x[3, 1], x[1, 2] = -x[3, 2]*(x[2, 1]*x[3, 2]+x[3, 1]*x[3, 3]-x[3, 1])/x[3, 1]^2, x[1, 3] = -x[3, 3]*(x[2, 1]*x[3, 2]+x[3, 1]*x[3, 3]-x[3, 1])/x[3, 1]^2, x[2, 1] = x[2, 1], x[2, 2] = x[2, 1]*x[3, 2]/x[3, 1], x[2, 3] = x[2, 1]*x[3, 3]/x[3, 1], x[3, 1] = x[3, 1], x[3, 2] = x[3, 2], x[3, 3] = x[3, 3]}

 

L := [x[2, 1] = 1, x[3, 1] = 2, x[3, 2] = 3, x[3, 3] = 4]

 

Y := {1 = 1, 2 = 2, 3 = 3, 4 = 4, x[1, 1] = -9/2, x[1, 2] = -27/4, x[1, 3] = -9, x[2, 2] = 3/2, x[2, 3] = 2}

 

Matrix(3, 3, {(1, 1) = -9/2, (1, 2) = -27/4, (1, 3) = -9, (2, 1) = 1, (2, 2) = 3/2, (2, 3) = 2, (3, 1) = 2, (3, 2) = 3, (3, 3) = 4})

 

Matrix(%id = 18446746597940595758)

(1)

 


 

Download Matrix_equation.mw

See help on the  Explore  command.

By default, Maple works in the complex domain. Use  LinearAlgebra:-DotProduct  command with the option conjugate=false to work in the real domain:

restart;
with(LinearAlgebra):
with(Typesetting):
Settings(typesetprime = true):
Settings(typesetdot = true):

v := <diff(rho(t), t)*cos(theta(t)) - rho(t)*diff(theta(t), t)*sin(theta(t)), diff(rho(t), t)*sin(theta(t)) + rho(t)*diff(theta(t), t)*cos(theta(t)), diff(z(t), t)>;

u_rho := <cos(theta(t)), sin(theta(t)), 0>;

DotProduct(v,u_rho, conjugate=false);
simplify(%)

 

2 3 4 5 6 7 8 Last Page 4 of 285