Am 08.07.2011 20:37, schrieb Riccardo (Jack) Lucchetti:
As for Henrique's proposal, it's a good starting point; true, we don't
have, at present, a user-level widget for modifying a matrix, but I
guess Allin could see to it (I couldn't: I simply can't do any
GTK-related coding, I'm hopeless at it).
I'm not sure that's true; you can define a matrix in the GUI already. It
should not be too difficult to invoke that matrix definition dialog
window from the function package call window, no? (To provide the input
of an matrix argument.)
But then, the problem is: do we really want the user to input the
constraint matrices (in implicit or explicit form)? These could be HUGE;
in an n-variate C-model, a constraint matrix in implicit form has n^2+1
columns and at least n*(n-1)/2 rows. If you had a system with 7
variables (not unusual), would you really want to fill up a matrix with
50 columns and 21 rows by hand? Or you could have the option of filling
up the restricted elements (the 0s and 1s), but then, what do you put in
place of an UNrestricted element? We may agree on some conventional
value, like for instance -999, but I doubt that would be considered
particularly intuitive. Moreover, in the case of a C-model we'd need to
separate somehow long-run from short-run restrictions which, again, I
wouldn't know how to do in a simple and clean way.
I agree that for some (most?) real-world applications it will not be
practical to do it via the GUI. However, for getting to know the
functionality I think a function package call GUI would be a big plus.
Also for teaching of course. And perhaps even for quite many smaller
applications.
So I think it should be possible in principle, and a user will see for
herself that at some point the GUI becomes impractical.
I'm ready to think this through and make suggestions. For example,
absent the possibility to put NAs in matrices (right?), I think your
-999 suggestion goes in the right direction. Gretl could prefill the
relevant matrices with that code (indicating unrestricted elements) and
then the user only has to change the restricted elements.
Perhaps the best candidate is a text box à la Eviews, in which you write
the restrictions in a hansl-like syntax. That would complicate the code
quite a bit, but I like the challenge. The only missing bit would be
tyhe possibility of having a resizable text box in our GUI interface to
user functions. Allin?
As I said, I think it's better to give the user various ways of
specifying the matrix arguments in specialized "widgets" (or the user
could simply pre-define the named matrix and at call time provide the
name, which is already possible now I think).
PS: I'm cc-ing the developer list, since this is getting a bit technical
IMO.
Yes.
thanks,
sven