Services & Resources / Wolfram Forums
MathGroup Archive
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

Lists of equations. Again

  • To: mathgroup at
  • Subject: [mg56274] Lists of equations. Again
  • From: Maxim <ab_def at>
  • Date: Wed, 20 Apr 2005 05:32:50 -0400 (EDT)
  • Sender: owner-wri-mathgroup at

In version 5.0 FindRoot[{{x, y} == {1, 1}}, {x, 2}, {y, 2}] failed: it  
complained about the non-numerical jacobian and just returned the starting  
point. This now works in version 5.1; however, there is still exactly the  
same problem with higher-dimensional lists:

FindRoot[Array[a, {2, 2}] == IdentityMatrix[2],
   Evaluate[Sequence@@ (Flatten[#, 1]&)@ Array[{a[##], 0}&, {2, 2}]]]

This generates Thread::tdlen and FindRoot::njnum messages, indicating that  
there is again something wrong with the processing of lists. Strangely,

FindRoot[Array[a, {2, 2}] - IdentityMatrix[2],
   Evaluate[Sequence@@ (Flatten[#, 1]&)@ Array[{a[##], 0}&, {2, 2}]]]

works without a problem (another possible way to resolve this issue is to  
specify Jacobian -> IdentityMatrix[4]).

If the specified form of the jacobian doesn't have the correct structure,  
this often results in the kernel crash:

FindRoot[x == {1, 2}, {x, {0, 0}}, Jacobian -> {{{1}, {1}}}]
(*crashes the kernel*)

This may happen even if the structure is correct:

FindMinimum[x^2, {x, 1},
   Method -> {Newton, Hessian -> {{2}}}]
(*crashes the kernel*)

Here the hessian is specified correctly, but unless the gradient is also  
given explicitly as Gradient -> {2x}, all the other settings (Automatic,  
Symbolic, FiniteDifference) lead to the kernel crash.

Maxim Rytin
m.r at

  • Prev by Date: Re: holding boxes verbatim
  • Next by Date: Re: Bug in JavaBlock (or in JavaBlock documentation)
  • Previous by thread: webMathematica 2.2 Released
  • Next by thread: Re: Lists of equations. Again