On Mon, May 8, 2023 at 12:24 PM Riccardo (Jack) Lucchetti <p002264@staff.univpm.it> wrote:The inconsistency lies in the fact that the result of nullspace() is normalised by equating the largest element to 1 if has one column, and to be orthonormal otherwise. This may be a little unfortunate if one assumes (as I was doing) that the result is always orthonormal.I agree, this doesn't look nice. Not sure why we thought it was a good idea in the first place.
I don't remember, either, but I noticed that apart from normalize_nullspace() in lib/src/gretl_matrix.c there's also a nullspace_normalize function in plugin/jrestrict.c. If the latter is specific to cointegration stuff, I think it would be good if the function name reflected that. If, OTOH, it's a general algebra function, maybe it should also live in lib/src/gretl_matrix.c, and its relationship with the former function should be clarified.
Maybe the idea to set the largest element to 1 also had to do with cointegration vector estimation at the time. Didn't PcGive also do something like that? But again, I don't quite remember, and always having norm-1-vectors shouldn't hurt, either.
cheers
sven