## 20139 Reputation

15 years, 287 days

## Solution...

You have 2 planes: ABN1 and ABN2. Find the equation ABN1. The simplest way to use the determinant. The code (the continuation of the previous code):

N1:=convert(N1,Vector):

T:=<x,y,z> - N1: N1-A: N1-B:

P1:=collect(LinearAlgebra[Determinant](< T | N1-A | N1-B >),[x,y,z]):

k:=simplify(sqrt(coeff(P1,x)^2+coeff(P1,y)^2+coeff(P1,z)^2)):

P2:=simplify(collect(P1/k,[x,y,z])):

P:=collect(P2,[x,y,z])=0;  # Equation of the plane P

simplify(coeff(lhs(P),x)^2+coeff(lhs(P),y)^2+coeff(lhs(P),z)^2); # Checking

Similarly, we find a second plane.

## The procedure...

Here is the procedure for you:

primesum:=proc(n::posint)

local S, i;

S:=0;

for i from 1 to n do

if isprime(i) then S:=S+i;  fi;

od;

S;

end proc;

## Vector field...

I beg your pardon! I was not careful enough answering to your question. You have not a real function but the vector field! It is time-dependent field, ie it changes with time! So you can picture it, fixing a point in time. To plot such a field you may using the command plots[fieldplot3d] . You can even see how it changes over time, using animation. Your field has two peculiarities: it is independent of the first two coordinates of the point (x, y, z), but only on the coordinate z, and any vector is parallel to the plane xOy. So the point of application of the vectors can be taken only on any one vertical line! For such plotting, you can use the command plots[arrow] .

## The idea of ​​the solution...

If N (x0, y0, z0) is the point of tangency, then the three conditions:

1) The distance from N to the center of the sphere (point O) is equal to the radius.

2) ON is perpendicular to  AN.

3) ON is perpendicular to BN.

## Another variant...

Mr. Hirnyk wrote: " Kitonum's code finds only the minimal value of the sums, not the minimum sum".

Here is the version of the code which finds also all the minimum sums:

P1:=proc(L)

local It, M,S,S1,R,T,i;

It:=proc(K)

[seq([-1,op(K[i])],i=1..nops(K)),seq([1,op(K[i])],i=1..nops(K))];

end proc;

M:=(It@@nops(L))([[ ]]);

S:=[seq([seq(L[j]*M[i,j],j=1..nops(L))],i=1..nops(M))];

R:=min(S1);

T:=[];

for i from 1 to nops(S) do

if S1[i]=R then T:=[abs(`%+`(op(S[i]))),op(T)]; fi;

od;

print(Minimum=R);

op(T);

end proc:

Example:

st:= time():  P1([seq(i^2,i=1..15)]);  time() - st; nops([%%]);

All 86 solutions were found for 1.841 sec

## Impossible equality...

The equality (1/m)^(N+1) = 0 is impossible for any m!

## Correction and simplification...

Here is corrected and simplified the code:

restart;

N := 2;

alias(epsilon = e, eta = t);

eq1 := 5*diff(F(t), t\$3)+(1+3*e)*F(t)*diff(F(t), t\$2)-(2+e)*diff(F(t), t)^2 = 0;

G :=unapply(add(F[i](t)*e^i, i = 0 .. N),t);

deqn := simplify(collect(subs(F(t)=G(t),eq1), e), {e^(N+1) = 0});

## Another solution...

P:=proc(L)

local It, M;

It:=proc(K)

[seq([-1,op(K[i])],i=1..nops(K)),seq([1,op(K[i])],i=1..nops(K))];

end proc;

M:=(It@@nops(L))([[ ]]);

Minimum =min(%);

end proc:

The procedure P is faster than  minsum.

Examples:

st:= time():  P([seq(i^2,i=1..15)]);  time() - st;

Minimum=0

1.139

st:= time(): minsum([seq(i^2,i=1..15)]); time() - st;

0

20.639

## It is easy...

Try to write the code yourself!

Directions:

1) Find a plane passing through point A and plane d1

2) Find the point of intersection of the plane from 1) and plane d2

In some cases, your problem may have no solutions or have an infinite number of solutions.

## It's good...

Your main idea and your code are good! Try to rewrite it as a procedure for any points A, B, E, F and any number k. The procedure must include verification that the points A, B, E, F does not lie in one plane. In the equation of the plane, get rid of the common divisors of the coefficients.

## The procedure...

Here's the procedure that you asked! It returnes the equation of the common perpendicular of any skew lines. The procedure uses only tools of the Maple's core without calling packages.

ComPerp:=proc(a::list,b::list)

local a1,b1,t,s,V1,V2,V,A,B,sol,L,d1,d2;

a1:=subsindets(a,'symbol',x->t); b1:=subsindets(b,'symbol',x->s);

V1:=<seq(coeff(a1[i],t),i=1..3)>;

V2:=<seq(coeff(b1[i],s),i=1..3)>;

V:=<seq(a1[i]-b1[i],i=1..3)>;

A:=eval(a1,'t'=t); B:=eval(b1,'s'=s); L:=[x,y,z];

d1:=ilcm(seq(denom(A[i]-B[i]),i=1..3)); d2:=igcd(seq(numer(A[i]-B[i]),i=1..3));

print(`Equation of the common perpendicular`);

{seq(L[i]=A[i]+(A[i]-B[i])*d1/d2*'t',i=1..3)};

end proc:

Example of working for your data:

a := [3*t-7, -2*t+4, 3*t+4]:

b := [m+1, 2*m-9, -m-12]:

ComPerp(a,b);

## My comment...

Your code is correct, but too long.

Another solution:

restart:

with(LinearAlgebra):

A:=<1,-3,0>: B:=<-2,1,1>: C:=<3,1,2>: M:=x*A+y*B+z*C:

{DotProduct(B-A,C-M)=0, DotProduct(C-A,B-M)=0, x+y+z = 1}:

solve({DotProduct(B-A,C-M)=0, DotProduct(C-A,B-M)=0, x+y+z = 1}): assign(%): M:

'M'=[seq(M[i],i=1..3)];

M=[4/5, -2/5, 1]

## Another solution without geom3d...

restart:

with(LinearAlgebra):

A:=<4,-1,-2>: B:=<0,2,3>: C:=<2,0,1>: M:=x*A+y*B+z*C:

solve({Norm(A-M,2)=Norm(B-M,2), Norm(C-M,2)=Norm(B-M,2), x+y+z = 1}): assign(%):

'M'=convert(M,list);

We find the coordinates of M.

## Maple's bug...

The apparent error of Maple! I did the same example using the command Optimization [Minimize] . The result is also wrong!

## Maple's bugs...

Checked the calculation of the minimum by the second method. The result again is false:

 > h:=x->1+2*cos(2*x)+3*cos(4*x)+4*cos(8*x); minimize(h(x),x=-Pi/12..5*Pi/12,location); Optimization[Minimize](h(x),x=-Pi/12..5*Pi/12);
 > plot(h(x),x=-Pi/12..5*Pi/12);
 > minimize