Am 22.11.2020 um 17:16 schrieb Allin Cottrell:
On Sun, 22 Nov 2020, Sven Schreiber wrote:
> OK, so I guess this automatically makes $system.C on the hansl
side then
> also square in the future?
Yes.
Alright, let me continue this thread with some other quirks in the
$system bundle area. I will try to be explicit when that bundle comes
from a 'var' command or from a 'system' block, because that's
sometimes
part of the confusion.
- endog_vars, list bundle member after 'system': IMHO this should be
called "ylist" just like the direct $-accessor and $system.ylist after
'var' are called. (I first thought that maybe endog_vars could hold more
than N variables --and thus more than $ylist-- because of non-modelled
variables that are still treated as needing to be instrumented, but I
tested that possibility and instead I get an error. So that's not a
reason to differentiate $system.endog_vars and $ylist.)
- list1...list<N> after 'system': These should be collected in a lists
array, perhaps called $system.eqnvars. (But this is just a feature
request, not a resolution of any problem.)
- xlist after 'system': the direct accessor $xlist exists but
$system.xlist doesn't -> should be added.
- xlist, 'var' vs. 'system': in the 'system' case this contains
deterministic terms, while with 'var' it doesn't. Maybe it would be good
to adjust the 'var' case. (This would be backwards-incompatible but I
see no easy solution.)
- A / compan / sysA: This is a bit of a mess...
* First of all after 'var' we have $compan, so we should probably add
$system.compan as an alias for $system.A.
* Then after 'system' we have $sysA which is the same as $system.A, but
maybe the link would be even more explicit if it were also $system.sysA.
(By implication then also add $system.sysB in addition to $system.B, and
the same for $system.sysGamma.)
* But note that for equivalent specifications the result $system.A after
'system' is just the top of the (companion matrix) result $system.A
after 'var'. I think the best solution would be to deprecate $system.A
in both cases (but keep them around as-is for now), once the different
aliases $system.compan (for 'var') and $system.sysA (for 'system') are
added.
* sysGamma: Not very important, but it would be easy in the 'var' case
to add an identity matrix to the bundle taking that role.
OK sorry, that's a long list, but I spent quite some time getting to
grips with the details of the current status quo there.
thanks
sven