Am 25.03.2025 um 15:52 schrieb Riccardo (Jack) Lucchetti:
On 25/03/2025 15:46, Sven Schreiber wrote:
<console>

? matrix hello = {1/0} # to get invalid input
? = eigensym(hello)
Not a Number geschah bei Berechnung
? = eigen(hello)
       1.#INF

? = svd(hello)
          nan

</console>

So we have everything: a hard-stopping error, some IEEE code (?), and a gretl code. Plus, with a 6x6 matrix input I also saw that eigen() spat out a "Data error".

Ouch

I think it would be good if this could be a little harmonized, no?

Is it even possible to do without breaking backwards compatibility? I we don't care about that, I'd favour stopping with an error rather than returning NAs (FWIW, stopping with an error is what both Octave and R do).

In this case I guess there will necessarily be some incompatibility involved.

BTW, notice that with the input above you have to be careful how to check for validity:

<console>

? = missing(hello)
  0

? = isnan(hello)
0
? = ok(hello)
  0
</console>

So only ok() indicates a problem here - I'm not saying those are bugs, since it is true that 1.#INF is neither missing nor NaN in the narrow sense (AFAIK), just that one has to be careful. As a side note, the missing() reference doesn't mention a matrix type as input, and the ok() reference explicitly says about the missing function that it's not for matrices.

cheers

sven
_______________________________________________
Gretl-devel mailing list -- gretl-devel@gretlml.univpm.it
To unsubscribe send an email to gretl-devel-le...@gretlml.univpm.it
Website: 
https://gretlml.univpm.it/postorius/lists/gretl-devel.gretlml.univpm.it/

Reply via email to