On Sun, 22 Nov 2020, Sven Schreiber wrote:
Am 22.11.2020 um 16:47 schrieb Allin Cottrell:
> On Sat, 21 Nov 2020, Sven Schreiber wrote:
>
>> Am 21.11.2020 um 15:26 schrieb Allin Cottrell:
>>> On Fri, 20 Nov 2020, Sven Schreiber wrote:
>>
>>>>
>>>> It seems to come from VAR_allocate_cholesky_matrix in lib/src/var.c,
>>>> where we have:
>>>>
>>>> n = var->neqns * effective_order(var);
>>>> var->C = gretl_zero_matrix_new(n, var->neqns);
>>>>
>>>> So the number of rows is indeed chosen as dim x lagorder which explains
>>>> my row number 4 above - but this doesn't make any sense, does it?
>>>
>>> That C matrix is described in var.h as "augmented Cholesky-decomposed
>>> error matrix". I can't say I remember the exact reason for
augmenting it
>>> with zeros, but as things stand it's required for conformability in
>>> functions such as gretl_VAR_get_fcast_decomp().
>
> I think I understand it now. That C matrix augmented with a bunch of
> rows of zeros is a device one would use in giving a compact account of
> the algorithm for IRFs and FEVDs. One can construct it literally in code
> but that's not efficient -- better to keep C square and just calculate
> "as if" it had zeros in train. That's what we now do in git.
OK, so I guess this automatically makes $system.C on the hansl side then
also square in the future?
Yes.
Allin