Craig, would you agree that’s more of an argument for a nan() function to make a NaN? How much effort would it be to update that code? In any case, if the code only uses real types, it will operate exactly the same as it does now.
From: Craig DeForest<mailto:defor...@boulder.swri.edu> Sent: 21 February 2021 02:08 To: Ed .<mailto:ej...@hotmail.com> Cc: Luis Mochan<mailto:moc...@icf.unam.mx>; pdl-de...@lists.sourceforge.net<mailto:pdl-de...@lists.sourceforge.net>; perldl<mailto:pdl-general@lists.sourceforge.net> Subject: Re: [Pdl-general] [Pdl-devel] PDL 2.026_01 released to CPAN I have a lot of old code that uses asin(2) to make a NaN. (Hate to admit it, but there it is... ). This may break a lot of it. Sent from my iPhone On Feb 19, 2021, at 6:20 PM, Ed . <ej...@hotmail.com> wrote: For sqrt with real numbers, there's already multiple possible answers! So this is not adding any additional problems. For log, it’s probably most pragmatic to have an additional function, which already exists in PDL::Complex. Question: does this new “native” complex support mean PDL::Complex should change / be simplified? Also, are you saying that you consider the behaviour of promoting floats/doubles into their complex counterparts is wrong? Best regards, Ed From: Luis Mochan<mailto:moc...@icf.unam.mx> Sent: 20 February 2021 01:08 To: pdl-de...@lists.sourceforge.net<mailto:pdl-de...@lists.sourceforge.net>; perldl<mailto:pdl-general@lists.sourceforge.net> Subject: Re: [Pdl-devel] PDL 2.026_01 released to CPAN Hi Ed, I'm not sure about what should be expected for operations on real numbers that have no real answer: a complex answer or an error? (In the case of sqrt(-1) or worse, for log(-1) there is the further problem of multiple possible answers.) Consider pdl> $i=sequence(long,10); pdl> p $i/3 [0 0 0 1 1 1 2 2 2 3] pdl> In this case, division is not promoting longs into floats. However asin(3) does promote floats into complex. sqrt(-1) isn't. So I'm still confused about what are the appropriate expectations. I'd follow your suggestion if I were sure what to request. Regards, Luis On Sat, Feb 20, 2021 at 12:52:58AM +0000, Ed . wrote: > > Is this the expected behavior? > > I’d have to say yes – the changes made by Ingo are to use <complex.h>’s > native-ish C complex-numbers support, and PDL types and code changes to > support that. The change to asin’s behaviour came for free with that. It’s > not yet fully pervasive, and I’m not 100% sure whether the new complex > behaviour should actually change to be opt-in. > > On the other hand, making it do the mathematically correct thing all the way > seems like the correct way forward! If people can try their various scripts > and extensions and see if anything breaks, and/or find things that are not > according to their expectations, it would be really helpful to report that on > here. Luis, could you open an issue on the repo and capture at least this > sqrt point? (A PR to add a failing test would be even better, and a PR with a > failing test plus code to fix the problem would be better again 😊) > > Best regards, > Ed > > From: Luis Mochan<mailto:moc...@icf.unam.mx> > Sent: 20 February 2021 00:09 > To: pdl-de...@lists.sourceforge.net<mailto:pdl-de...@lists.sourceforge.net>; > perldl<mailto:pdl-general@lists.sourceforge.net> > Subject: Re: [Pdl-devel] PDL 2.026_01 released to CPAN > > I installed it 026_01 (from github/master) > > > pdl> p asin(3) > 1.5707963267948966+1.7627471740390861i > > pdl> p sin(asin(3)) > 3.0000000000000004+1.7319121124709863e-16i > > Seems good, but > > pdl> p sqrt(-1) > Runtime error: Can't take sqrt of -1 at (eval 400) line 5. > > pdl> use PDL::Complex > > pdl> p sqrt(-1) > Runtime error: Can't take sqrt of -1 at (eval 416) line 5. > > pdl> p sqrt(-1+0*i) > 0 +1i > > pdl> > > Is this the expected behavior? > > Regards, > Luis > > > > On Fri, Feb 19, 2021 at 05:52:44PM -0600, Luis Mochan wrote: > > This is good news! > > Thanks! > > Luis > > > > On Fri, Feb 19, 2021 at 08:15:59PM +0000, Ed . wrote: > > > Dear PDL users, > > > > > > I’ve just uploaded PDL 2.026_01 to CPAN. It has Ingo Schmid’s “native > > > complex types” code (as tidied up a bit). Please give it a go and report > > > whether it works! Please note that now e.g. asin(3) will not return NaN, > > > but instead a complex number (which is, of course, mathematically valid). > > > > > > As Derek said, please report any issues you find to the mailing list > > > (good), or create an issue (better) or a pull request (best!) on GitHub. > > > Thanks, and Happy PDL-ing! > > > > > > Best regards, > > > Ed > > > > > > > _______________________________________________ > > > pdl-devel mailing list > > > pdl-de...@lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/pdl-devel > > > > > > -- > > > > o > > W. Luis Mochán, | tel:(52)(777)329-1734 /<(*) > > Instituto de Ciencias Físicas, UNAM | fax:(52)(777)317-5388 `>/ /\ > > Av. Universidad s/n CP 62210 | (*)/\/ \ > > Cuernavaca, Morelos, México | moc...@fis.unam.mx /\_/\__/ > > GPG: 791EB9EB, C949 3F81 6D9B 1191 9A16 C2DF 5F0A C52B 791E B9EB > > > > > > _______________________________________________ > > pdl-devel mailing list > > pdl-de...@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/pdl-devel > > -- > > o > W. Luis Mochán, | tel:(52)(777)329-1734 /<(*) > Instituto de Ciencias Físicas, UNAM | fax:(52)(777)317-5388 `>/ /\ > Av. Universidad s/n CP 62210 | (*)/\/ \ > Cuernavaca, Morelos, México | moc...@fis.unam.mx /\_/\__/ > GPG: 791EB9EB, C949 3F81 6D9B 1191 9A16 C2DF 5F0A C52B 791E B9EB > > > _______________________________________________ > pdl-devel mailing list > pdl-de...@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/pdl-devel > -- o W. Luis Mochán, | tel:(52)(777)329-1734 /<(*) Instituto de Ciencias Físicas, UNAM | fax:(52)(777)317-5388 `>/ /\ Av. Universidad s/n CP 62210 | (*)/\/ \ Cuernavaca, Morelos, México | moc...@fis.unam.mx /\_/\__/ GPG: 791EB9EB, C949 3F81 6D9B 1191 9A16 C2DF 5F0A C52B 791E B9EB _______________________________________________ pdl-devel mailing list pdl-de...@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pdl-devel _______________________________________________ pdl-general mailing list pdl-general@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pdl-general
_______________________________________________ pdl-general mailing list pdl-general@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/pdl-general