External function in dynare 4.2

You should always post the exact error message. Guessing from your description, you are running Dynare 4.2.5. There is a documented bug in the inverse gamma function dynare.org/DynareWiki/KnownBugs. The fix can be found here: [Smets/Wouters (2007) in Dynare 4.2.5). Just replace the one file and it should run. It did on my computer, which indicates your steady state file works.

A couple more things:

  1. You seem to misinterpret what linear means. There could always be an intercept term in the linear specification. Such mod-files are rare, but they exist. Hence, the option to supply a steady state file. And as the name says, it is only an option. If no steady state file exists (which Dynare checks once), a steady state of 0 is used and everything runs faster. In the latter case, there is no updating every period.
  2. If your nonlinear constraints have a closed form solution, you can use the #-operator to define restrictions on the parameters. This is numerically more efficient than always calling a steady state file. But your initial problem description said something about “fsolve” from which I inferred that you don’t have an analytical solution. In this case, updating the parameters in the steady state file is the easiest way to do it and hardly inefficient as you would need to do the parameter updating even if you program everything yourself.