Question: Solving equations with matrices and dot products

I want to solve n nonlinear equations in n unknowns named lambda[1], lambda[2], ..., lambda[n]. For simplicity, I assume n=3. Each of the three equations includes matrices and dot products.

Running solve() takes forever...I assume this is because Maple is trying to find the explicit form. I am not sure, but I have reasons to believe that a solution exists.

Questions:

  1. Did I set up the three equations correctly? Is there a simpler or smarter way to set up my problem?
  2. Is it okay for Maple that lambda[i] sometimes appears isolated and sometimes as a component of a vector?  
  3. Is there a way to keep my quantities (except the lambda vector I guess, since it containts the lambda[i] component I need to solve for) undefined/implicit while making sure Maple correctly deals with matrices and dot products?
    e.g., the solution should display terms like p^%T.R.w as such, rather than the corresponding explicit computation...

Worksheet:

restart;

S:=Matrix([[Sigma[1,1],Sigma[1,2],Sigma[1,3]],[Sigma[2,1],Sigma[2,2],Sigma[2,3]],[Sigma[3,1],Sigma[3,2],Sigma[3,3]]]):

w:=Vector(3,symbol=omega):

r:=Vector([sqrt(S[1,1]/(w^%T.S.w)),sqrt(S[2,2]/(w^%T.S.w)),sqrt(S[3,3]/(w^%T.S.w))]):

R:=Matrix([[r[1],0,0],[0,r[2],0],[0,0,r[3]]]):

p:=Vector(3,symbol=rho):

l:=Vector(3,symbol=lambda):

e[1]:=Vector([1,0,0]):
e[2]:=Vector([0,1,0]):
e[3]:=Vector([0,0,1]):

f:=x->x^2:
w__sq:=f~(w):
l__sq:=f~(l):

 

eq1:='(w[1]*((p^%T.R.w)/(2*(l^%T.w__sq)))*(w^%T.S.e[1]))/(w[1]^2*((p^%T.R.w)^2/(4*(l^%T.w__sq)^2))*(w^%T.S.w)+sigma__delta^2*(w[1]^2*(((l__sq)^%T.w__sq)/(4*(l^%T.w__sq)^2)-lambda[1]/(l^%T.w__sq))+1))';

eq2:='(w[2]*((p^%T.R.w)/(2*(l^%T.w__sq)))*(w^%T.S.e[2]))/(w[2]^2*((p^%T.R.w)^2/(4*(l^%T.w__sq)^2))*(w^%T.S.w)+sigma__delta^2*(w[2]^2*(((l__sq)^%T.w__sq)/(4*(l^%T.w__sq)^2)-lambda[2]/(l^%T.w__sq))+1))';

eq3:='(w[3]*((p^%T.R.w)/(2*(l^%T.w__sq)))*(w^%T.S.e[3]))/(w[3]^2*((p^%T.R.w)^2/(4*(l^%T.w__sq)^2))*(w^%T.S.w)+sigma__delta^2*(w[3]^2*(((l__sq)^%T.w__sq)/(4*(l^%T.w__sq)^2)-lambda[3]/(l^%T.w__sq))+1))';

(1/2)*w[1]*(`.`(p^%T, R, w))*(`.`(w^%T, S, e[1]))/((l^%T.w__sq)*((1/4)*w[1]^2*(`.`(p^%T, R, w))^2*(`.`(w^%T, S, w))/(l^%T.w__sq)^2+sigma__delta^2*(w[1]^2*((1/4)*(l__sq^%T.w__sq)/(l^%T.w__sq)^2-lambda[1]/(l^%T.w__sq))+1)))

 

(1/2)*w[2]*(`.`(p^%T, R, w))*(`.`(w^%T, S, e[2]))/((l^%T.w__sq)*((1/4)*w[2]^2*(`.`(p^%T, R, w))^2*(`.`(w^%T, S, w))/(l^%T.w__sq)^2+sigma__delta^2*(w[2]^2*((1/4)*(l__sq^%T.w__sq)/(l^%T.w__sq)^2-lambda[2]/(l^%T.w__sq))+1)))

 

(1/2)*w[3]*(`.`(p^%T, R, w))*(`.`(w^%T, S, e[3]))/((l^%T.w__sq)*((1/4)*w[3]^2*(`.`(p^%T, R, w))^2*(`.`(w^%T, S, w))/(l^%T.w__sq)^2+sigma__delta^2*(w[3]^2*((1/4)*(l__sq^%T.w__sq)/(l^%T.w__sq)^2-lambda[3]/(l^%T.w__sq))+1)))

(1)

 

solve({eq1-lambda[1],eq2-lambda[2],eq3-lambda[3]},{lambda[1],lambda[2],lambda[3]});

Download dot_products.mw

Please Wait...