0

I want to solve the following system of equations, but when I use Solve or NRoots my machine seems does not response. Are there any ideas to help? Can you run the code on your machine and give me the result.

Solve[{a122 * a223 + a123*a323 + a124*a423 == 
   a222*a123 + a322*a133 + a422*a134, 
  a122*a224 + a123*a324 + a124*a424 == 
   a124*a222 + a322*a134 + a422*a144, 
  a123*a224 + a133*a324 + a134*a424 == 
   a223*a124 + a323*a134 + a423*a144, 
  a122*a233 + a123*a333 + a124*a433 == 
   a223*a123 + a323*a133 + a423*a134, 
  a122*a234 + a123*a334 + a124*a434 == 
   a223*a124 + a323*a134 + a423*a144, 
  a123*a234 + a133*a334 + a134*a434 == 
   a233*a124 + a333*a134 + a433*a144, 
  a122*a234 + a123*a334 + a124*a434 == 
   a224*a123 + a324*a133 + a424*a134, 
  a122*a244 + a123*a344 + a124*a444 == 
   a224*a124 + a324*a134 + a424*a144, 
  a123*a244 + a133*a344 + a134*a444 == 
   a234*a124 + a334*a134 + a434*a144, 
  a123 + a223*a323 + a224*a423 == a322*a233 + a422*a234, 
  a124 + a223*a324 + a224*a424 == a322*a234 + a422*a224, 
  a233*a324 + a234*a424 == a323*a234 + a423*a244, 
  a133 + a222*a233 + a223*a333 + a224*a433 == 
   a223*a223 + a323*a233 + a423*a234, 
  a134 + a222*a234 + a223*a334 + a224*a434 == 
   a223*a224 + a323*a234 + a423*a244, 
  a223*a234 + a233*a334 + a234*a434 == 
   a233*a224 + a333*a234 + a433*a244, 
  a134 + a222*a234 + a223*a334 + a224*a434 == 
   a224*a223 + a324*a233 + a424*a234, 
  a144 + a222*a244 + a223*a344 + a224*a444 == 
   a224*a224 + a324*a234 + a424*a244, 
  a223*a244 + a233*a344 + a234*a444 == 
   a234*a224 + a334*a234 + a434*a244, 
  a322*a223 + a323*a323 + a324*a423 == 
   a122 + a222*a323 + a322*a333 + a422*a334, 
  a322*a224 + a323*a324 + a324*a424 == 
   a222*a324 + a322*a334 + a422*a344, 
  a124 + a323*a224 + a333*a324 + a334*a424 == 
   a223*a324 + a323*a334 + a423*a334, 
  a123 + a223*a323 + a423*a334 == a322*a233 + a324*a433, 
  a322*a234 + a324*a434 == a223*a324 + a423*a344, 
  a134 + a323*a234 + a334*a434 == a233*a324 + a433*a344, 
  a322*a234 + a323*a334 + a324*a434 == 
   a124 + a224*a323 + a324*a333 + a424*a334, 
  a322*a244 + a323*a344 + a324*a444 == 
   a224*a324 + a324*a334 + a424 * a344, 
  a144 + a323*a244 + a333*a344 + a334*a444 == 
   a234*a324 + a334*a334 + a434*a344, 
  a422*a234 + a423*a334 == a224*a423 + a324*a433, 
  a422*a244 + a423*a344 == a224*a424 + a324*a434, 
  a423*a244 + a433*a344 == a134 + a234*a424 + a334*a434, 
  a422*a223 + a423*a323 + a424*a423 == 
   a122 + a222*a423 + a322*a433 + a422*a434, 
  a422*a224 + a423*a324 + a424*a424 == 
   a122 + a222*a424 + a323*a434 + a422*a444, 
  a423*a224 + a433*a324 + a434*a424 == 
   a123 + a223*a424 + a323*a434 + a423*a444, 
  a422*a233 + a423*a333 + a424*a433 == 
   a222*a423 + a323*a433 + a423*a434, 
  a422*a234 + a423*a334 + a424*a434 == 
   a123 + a222*a424 + a323*a434 + a423*a444, 
  a423*a234 + a433*a334 + a434*a434 == 
   a133 + a233*a424 + a333*a433 + a433*a444}, {a122, a123, a124, a133,
   a134, a144, a222, a223, a224, a233, a234, a244, a322, a323, a324, 
  a333, a334, a344, a422, a423, a424, a433, a434, a444}]
senshin
  • 10,022
  • 7
  • 46
  • 59
Reema
  • 15
  • 3

1 Answers1

0

Correction. Finally I my mistake was explained to me. Thank you for being persistent. Some days I am just slow to recognize things. So now I correctly position the Norm. (Yes there are other ways of doing this)

NMinimize[
 Norm[a122*a223+a123*a323+a124*a423-(a222*a123+a322*a133+a422*a134)] +
 Norm[a122*a224+a123*a324+a124*a424-(a124*a222+a322*a134+a422*a144)] +
  ... +
 Norm[a423*a234+a433*a334+a434*a434-(a133+a233*a424+a333*a433+a433*a444)]],
 {a122, a123, a124, a133, a134, a144, a222, a223, a224, a233, a234, a244,
  a322, a323, a324, a333, a334, a344, a422, a423, a424, a433, a434, a444}]

returns

{1.11167*10^-6, {a122 -> -7.49406*10^-8, a123 -> -4.98174*10^-7, a124 -> 2.50543*10^-7,
a133 -> 2.0337*10^-7, a134 -> -1.16196*10^-6, a144 -> 0.0219087, a222 -> 0.174636,
a223 -> 0.0743701, a224 -> 0.138138, a233 -> 0.0398568, a234 -> -0.0165303,
a244 -> 0.0390774, a322 -> 0.150348, a323 -> 0.0805803, a324 -> -0.0334195,
a333 -> 0.0239558, a334 -> 0.159051, a344 -> -0.182692, a422 -> 4.5244*10^-6,
a423 -> 1.40132*10^-7, a424 -> 9.09125*10^-7, a433 -> 2.59763*10^-6,
a434 -> 4.41731*10^-6, a444 -> 0.0324925}}

in a fraction of a second.

There does appear to be at least one non-trivial (not all zero) solution to the system.

Bill
  • 3,664
  • 1
  • 12
  • 9
  • You need to make a list not a sum to give to `Norm` .. (I'm guessing that's a typo here.) . Nice trick do `{equation list} /. Equal -> Subtract` .. – agentp Jan 23 '15 at 22:12
  • you need to sum the squares of the differences , ie `NMinimize[(lhs1-rhs1)^2 + (lhs2-rhs2)^2 .. ]` or `NMinimize[Norm[{ lhs1-rhs1 , lhs2-rhs2 ,..}]]` – agentp Jan 23 '15 at 23:56
  • @agentp Thank you for finally getting me to see the mistake I made. Hopefully I have fixed this now. – Bill Jan 24 '15 at 01:03
  • I have tried the following NMinimize[ Norm[{a122*a223 + a123*a323 + a124*a423 - (a222*a123 + a322*a133 + a422*a134), a122*a224 + a123*a324 + a124*a424 - (a124*a222 + a322*a134 + a422*a144), ...}],{a122, a123, a124, .., a444}] but I get the following message NMinimize::nnum: The function value Sqrt[25.6673+Abs[1.43926-0.797803 a43]^2] is not a number at {a122,a123,a124,a133,a134,a144,a222,a223,a224,a233,<<14>>} {0.304936,0.266141,0.365626,0.132704,0.870404,0.952376,-0.523097,0.275125,-0.797803,0.291049,<<14>>}. >> – Reema Jan 24 '15 at 14:40
  • The a43 in that error message probably means a twitch of the mouse and keyboard has changed some a434 into a43 or some similar damage. See if you can find and fix that. When I try to carefully reproduce exactly what you have done I get a minimum with no error. – Bill Jan 24 '15 at 20:48