Am 11.03.2021 um 19:55 schrieb Allin Cottrell:
On Thu, 11 Mar 2021, Sven Schreiber wrote:
> with the March 7th snapshot (on Windows) I'm getting a weird error
> saying that the invpd() function doesn't support complex arguments. Fair
> enough, but this code has never used complex numbers. Debugging shows
> that a certain input matrix indeed is printed by gretl as a complex
> matrix of zeros:
>
> Pmat (2 x 2)
>
> 0.00000 - 0.00000i 0.00000 - 0.00000i
> 0.00000 - 0.00000i 0.00000 - 0.00000i
>
> But again, I'm not working with complex numbers here. This matrix should
> be real, and I'm not using any of the new gretl functions for complex
> numbers. Could this be some kind of underflow problem where suddenly
> gretl interprets stuff as complex?
How was this matrix generated? What does mwrite() output look like?
First let me show you a debug printout from a previous pass where
everthing is still OK, Pmat is a qxq matrix:
<debug>
Debug from meanvar: which bundle: b2
q = 2.0000000
Pmat (2 x 2)
0.93077 0.24912
0.069234 0.75088
</debug>
Later "print q Pmat" throws an invalid arg error and the result of
mwrite(Pmat) is as follows:
<file>
# rows: 24
# columns: 0
# complex: 1
</file>
The context is inside a function that gets a "const bundle b" , and then
matrix Pmat = b.Pmat
is done. Outside of that function the last operation before the matrix
is stuffed into the argument bundle (with the _() function) is a "+="
operation, if that means anything.
thanks
sven