From juanlu001 at gmail.com Mon Dec 2 02:05:39 2019 From: juanlu001 at gmail.com (Juan Luis Cano) Date: Mon, 2 Dec 2019 08:05:39 +0100 Subject: [SciPy-Dev] Floating point differences in CPython Message-ID: Hi all, I admit this is not strictly about SciPy, but there is lots of people in this list that care about compilers and floating point math so I still wanted to give it a try. I am observing floating point differences between two different versions of CPython 3.7.5, one compiled with GCC 7.4.0 (latest Linux Mint) and other compared with GCC 8.3.0 (Debian Buster) that can be reproduced like this: $ docker run --rm -it python:3.7.5-stretch python -c 'print("{:.10f}".format((7091.17117297555159893818 ** 2 + 7118.70008070942458289210 ** 2 + (-1513.67274389594149397453) ** 2) ** 1.5))' 1049171479739.7584228516 $ docker run --rm -it python:3.7.5-buster python -c 'print("{:.10f}".format((7091.17117297555159893818 ** 2 + 7118.70008070942458289210 ** 2 + (-1513.67274389594149397453) ** 2) ** 1.5))' 1049171479739.7585449219 I highlight the GCC version because as far as I understand is the only thing that could have changed between the two. Does anybody have a more detailed explanation of what's going on here? Best, -- Juan Luis Cano -------------- next part -------------- An HTML attachment was scrubbed... URL: From sseibert at anaconda.com Mon Dec 2 08:28:35 2019 From: sseibert at anaconda.com (Stanley Seibert) Date: Mon, 2 Dec 2019 07:28:35 -0600 Subject: [SciPy-Dev] Floating point differences in CPython In-Reply-To: References: Message-ID: I'm speculating, but what jumped out at me is the **1.5, which will likely invoke the pow() function in glibc. Since there is no IEEE spec for pow() precision, it is possible that a change there could produce this effect. Stretch uses glibc 2.24 and Buster uses glibc 2.28. The changelog for glibc 2.27 (https://sourceware.org/ml/libc-announce/2018/msg00000.html) mentions this: * Optimized x86-64 asin, atan2, exp, expf, log, pow, atan, sin, cosf, sinf, sincosf and tan with FMA, contributed by Arjan van de Ven and H.J. Lu from Intel. Which seems like a likely culprit, although I haven't done the work to exactly pinpoint it to this change. On Mon, Dec 2, 2019 at 1:06 AM Juan Luis Cano wrote: > Hi all, > > I admit this is not strictly about SciPy, but there is lots of people in > this list that care about compilers and floating point math so I still > wanted to give it a try. > > I am observing floating point differences between two different versions > of CPython 3.7.5, one compiled with GCC 7.4.0 (latest Linux Mint) and other > compared with GCC 8.3.0 (Debian Buster) that can be reproduced like this: > > $ docker run --rm -it python:3.7.5-stretch python -c 'print("{:.10f}".format((7091.17117297555159893818 ** 2 + 7118.70008070942458289210 ** 2 + (-1513.67274389594149397453) ** 2) ** 1.5))' > 1049171479739.7584228516 > $ docker run --rm -it python:3.7.5-buster python -c 'print("{:.10f}".format((7091.17117297555159893818 ** 2 + 7118.70008070942458289210 ** 2 + (-1513.67274389594149397453) ** 2) ** 1.5))' > 1049171479739.7585449219 > > > I highlight the GCC version because as far as I understand is the only > thing that could have changed between the two. Does anybody have a more > detailed explanation of what's going on here? > > Best, > > -- > Juan Luis Cano > _______________________________________________ > SciPy-Dev mailing list > SciPy-Dev at python.org > https://mail.python.org/mailman/listinfo/scipy-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: From matti.picus at gmail.com Mon Dec 2 08:37:01 2019 From: matti.picus at gmail.com (Matti Picus) Date: Mon, 2 Dec 2019 15:37:01 +0200 Subject: [SciPy-Dev] Floating point differences in CPython In-Reply-To: References: Message-ID: <177c1e78-f151-0ff7-07f5-772612355788@gmail.com> An HTML attachment was scrubbed... URL: From sseibert at anaconda.com Mon Dec 2 13:22:26 2019 From: sseibert at anaconda.com (Stanley Seibert) Date: Mon, 2 Dec 2019 12:22:26 -0600 Subject: [SciPy-Dev] Floating point differences in CPython In-Reply-To: <177c1e78-f151-0ff7-07f5-772612355788@gmail.com> References: <177c1e78-f151-0ff7-07f5-772612355788@gmail.com> Message-ID: Given how much platform-to-platform variation there is (this gives us headaches all the time on Numba), I was wondering how CPython got these tests to pass without shipping their own cross-platform C math library. It turns out the test runner is pretty generous: https://github.com/python/cpython/blob/5fd5cb8d85fab3393dd76c7f3de1cdeb8ecf7203/Lib/test/test_math.py#L1614-L1679 The default test precision is 5 ulps (with some functions getting much more), and the original example differs by only 1 ulp between glibc versions, so CPython's testing would not have flagged a discrepancy this small. On Mon, Dec 2, 2019 at 7:38 AM Matti Picus wrote: > > On 2/12/19 3:28 pm, Stanley Seibert wrote: > > > On Mon, Dec 2, 2019 at 1:06 AM Juan Luis Cano wrote: > >> Hi all, >> >> I admit this is not strictly about SciPy, but there is lots of people in >> this list that care about compilers and floating point math so I still >> wanted to give it a try. >> >> I am observing floating point differences between two different versions >> of CPython 3.7.5, one compiled with GCC 7.4.0 (latest Linux Mint) and other >> compared with GCC 8.3.0 (Debian Buster) that can be reproduced like this: >> >> $ docker run --rm -it python:3.7.5-stretch python -c 'print("{:.10f}".format((7091.17117297555159893818 ** 2 + 7118.70008070942458289210 ** 2 + (-1513.67274389594149397453) ** 2) ** 1.5))' >> 1049171479739.7584228516 >> $ docker run --rm -it python:3.7.5-buster python -c 'print("{:.10f}".format((7091.17117297555159893818 ** 2 + 7118.70008070942458289210 ** 2 + (-1513.67274389594149397453) ** 2) ** 1.5))' >> 1049171479739.7585449219 >> >> >> I highlight the GCC version because as far as I understand is the only >> thing that could have changed between the two. Does anybody have a more >> detailed explanation of what's going on here? >> >> Best, >> >> -- >> Juan Luis Cano >> >> I'm speculating, but what jumped out at me is the **1.5, which will > likely invoke the pow() function in glibc. Since there is no IEEE spec for > pow() precision, it is possible that a change there could produce this > effect. Stretch uses glibc 2.24 and Buster uses glibc 2.28. The changelog > for glibc 2.27 (https://sourceware.org/ml/libc-announce/2018/msg00000.html) > mentions this: > > * Optimized x86-64 asin, atan2, exp, expf, log, pow, atan, sin, cosf, > sinf, sincosf and tan with FMA, contributed by Arjan van de Ven and > H.J. Lu from Intel. > > Which seems like a likely culprit, although I haven't done the work to > exactly pinpoint it to this change. > > > CPython has extensive tests to verify the functions in the cmath[0] and > math[1] modules, but the latter does not seem to include tests for `pow`. > Maybe after 9 years it is time to update it. > > > [0] > https://github.com/python/cpython/blob/master/Lib/test/cmath_testcases.txt > > [1] > https://github.com/python/cpython/blob/master/Lib/test/math_testcases.txt > > > Matti > _______________________________________________ > SciPy-Dev mailing list > SciPy-Dev at python.org > https://mail.python.org/mailman/listinfo/scipy-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: From tyler.je.reddy at gmail.com Tue Dec 3 00:04:33 2019 From: tyler.je.reddy at gmail.com (Tyler Reddy) Date: Mon, 2 Dec 2019 22:04:33 -0700 Subject: [SciPy-Dev] Proposed SciPy 1.4.0 Release Schedule In-Reply-To: References: Message-ID: I think there are two remaining PRs/issues that could use a boost/review to get over the line for 1.4.0rc2: https://github.com/scipy/scipy/pull/11152 (scipy.stats) https://github.com/scipy/scipy/pull/11166 (scipy.sparse) On Fri, 22 Nov 2019 at 16:49, Tyler Reddy wrote: > An attempt at building the wheels for the SciPy 1.3.3 release is underway: > > https://travis-ci.org/MacPython/scipy-wheels/builds/615811782 > https://ci.appveyor.com/project/scipy/scipy-wheels/builds/29063776 > > If those are successful I will try to get it out soon to address some > recent > issues affecting DLL loading and multiprocessing tests. > > On Thu, 21 Nov 2019 at 14:01, Tyler Reddy > wrote: > >> First attempt at 1.4.0rc1 wheel builds are now underway, with >> fingers crossed: >> >> https://travis-ci.org/MacPython/scipy-wheels/builds/615256054 >> https://ci.appveyor.com/project/scipy/scipy-wheels/builds/29034442 >> >> On Sun, 17 Nov 2019 at 01:40, Ralf Gommers >> wrote: >> >>> >>> >>> On Sat, Nov 16, 2019 at 9:12 PM Tyler Reddy >>> wrote: >>> >>>> I branched maintenance/1.4.x at ~10 pm Mountain Time on Nov. 16/2019. >>>> >>> >>> Awesome, thanks Tyler! >>> >>> Ralf >>> >>> >>>> The SciPy master branch is now open for development of version 1.5.0. >>>> >>>> Best wishes, >>>> Tyler >>>> >>>> On Fri, 15 Nov 2019 at 22:38, Tyler Reddy >>>> wrote: >>>> >>>>> Please do take a look at the release notes in preparation for 1.4.0 >>>>> branching: https://github.com/scipy/scipy/pull/11061 >>>>> >>>>> The number of pull requests is quite massive (347, I think), so it is >>>>> a first draft, but I've transcribed the material from the wiki, made a >>>>> no-doubt-controversial draft of release highlights, and tried to curate >>>>> author names/mailmap based on the first round of contributor feedback (~144 >>>>> authors vs. 97 for 1.3.0). >>>>> >>>>> On Wed, 13 Nov 2019 at 21:28, Ralf Gommers >>>>> wrote: >>>>> >>>>>> >>>>>> >>>>>> On Wed, Nov 13, 2019 at 7:35 PM Tyler Reddy >>>>>> wrote: >>>>>> >>>>>>> Alright, shall we aim for a two-day bump on the branching to Nov. >>>>>>> 16th (Saturday)? I see we're at ~8 PRs with the milestone now, but I also >>>>>>> still have to work on release notes, etc. >>>>>>> >>>>>> >>>>>> Thanks, that sounds good! >>>>>> >>>>>> >>>>>> >>>>>>> I'm also expecting one or two surprises to pop up in the wheels repo >>>>>>> given major release + 3.8. >>>>>>> >>>>>>> On Wed, 13 Nov 2019 at 20:21, Ralf Gommers >>>>>>> wrote: >>>>>>> >>>>>>>> Hi Tyler, are you still planning to branch 1.4.x tomorrow? It looks >>>>>>>> like there's no real blockers, but there's a bunch of stuff that people >>>>>>>> seem to be scrambling to get in, so perhaps a 24-48 hour bump could be >>>>>>>> useful. >>>>>>>> >>>>>>>> Cheers, >>>>>>>> Ralf >>>>>>>> >>>>>>>> >>>>>>>> On Tue, Nov 12, 2019 at 8:31 AM Tyler Reddy < >>>>>>>> tyler.je.reddy at gmail.com> wrote: >>>>>>>> >>>>>>>>> Down to 12 open PRs with 1.4.0 milestone--getting closer! >>>>>>>>> >>>>>>>>> On Sat, 9 Nov 2019 at 21:40, Tyler Reddy >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> We currently sit at 31 open PRs and 20 open issues with 1.4.0 >>>>>>>>>> milestone. >>>>>>>>>> >>>>>>>>>> That's a substantial drop in PRs but a rise in issues since the >>>>>>>>>> last accounting. Things got >>>>>>>>>> a little hectic with Python 3.8 for 1.3.2, but hopefully the >>>>>>>>>> wheels stuff is in good shape >>>>>>>>>> for 1.4.x series now. >>>>>>>>>> >>>>>>>>>> Branching in about 5 days is ambitious, but let's aim to stay >>>>>>>>>> reasonably on track if possible. >>>>>>>>>> >>>>>>>>>> On Mon, 21 Oct 2019 at 13:39, Matt Haberland >>>>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>>> Re: 1.2.3 release, I did get a request in gh-10915 >>>>>>>>>>> for gh-10498 >>>>>>>>>>> to be backported to >>>>>>>>>>> 1.2. >>>>>>>>>>> >>>>>>>>>>> On Mon, Oct 21, 2019 at 8:47 AM Ralf Gommers < >>>>>>>>>>> ralf.gommers at gmail.com> wrote: >>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On Sat, Oct 19, 2019 at 12:24 AM Tyler Reddy < >>>>>>>>>>>> tyler.je.reddy at gmail.com> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Hi, >>>>>>>>>>>>> >>>>>>>>>>>>> SciPy 1.3.0 was released May 17 (5 months ago), and I think >>>>>>>>>>>>> we'd like to keep a roughly biannual release cadence. >>>>>>>>>>>>> >>>>>>>>>>>>> I'd like to propose the following schedule for 1.4.0: >>>>>>>>>>>>> - November 14: branch 1.4.x >>>>>>>>>>>>> - November 17: rc1 >>>>>>>>>>>>> - December 1: rc2 (if needed) >>>>>>>>>>>>> - December 10: final release >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Sounds good to me. >>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> The arrival of Python 3.8 and simultaneous responsibility to >>>>>>>>>>>>> get at least one more 1.2.x LTS Python 2.7 release out the door means >>>>>>>>>>>>> things will probably be busy on the release front until 2020. >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> True. I think supporting 3.8 is fairly high-prio, there's a lot >>>>>>>>>>>> of demand for it. Doing a 1.3.2 release that supports it would make sense I >>>>>>>>>>>> guess. >>>>>>>>>>>> >>>>>>>>>>>> There don't seem to be any new commits on the 1.2.x branch nor >>>>>>>>>>>> urgent Python 2.7 fixes that need to go out. So do we need a 1.2.3 release? >>>>>>>>>>>> >>>>>>>>>>>> Cheers, >>>>>>>>>>>> Ralf >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>>> As always, it is a good idea to start tagging things that >>>>>>>>>>>>> should be in 1.4.0 & please do help with reviewing PRs/issues that are >>>>>>>>>>>>> tagged--current counts are: >>>>>>>>>>>>> >>>>>>>>>>>>> - PRs: 40 open with 1.4.0 milestone >>>>>>>>>>>>> - issues: 17 open with 1.4.0 milestone >>>>>>>>>>>>> >>>>>>>>>>>>> While helping with that, also great if the release notes wiki >>>>>>>>>>>>> is updated for appropriate changes: >>>>>>>>>>>>> https://github.com/scipy/scipy/wiki/Release-note-entries-for-SciPy-1.4.0 >>>>>>>>>>>>> >>>>>>>>>>>>> Curating those final notes can be painful if the wiki isn't >>>>>>>>>>>>> updated. >>>>>>>>>>>>> >>>>>>>>>>>>> Thoughts/objections for the schedule? >>>>>>>>>>>>> >>>>>>>>>>>>> Best wishes, >>>>>>>>>>>>> Tyler >>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>> SciPy-Dev mailing list >>>>>>>>>>>>> SciPy-Dev at python.org >>>>>>>>>>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>>>>>>>>>> >>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>> SciPy-Dev mailing list >>>>>>>>>>>> SciPy-Dev at python.org >>>>>>>>>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Matt Haberland >>>>>>>>>>> Assistant Adjunct Professor in the Program in Computing >>>>>>>>>>> Department of Mathematics >>>>>>>>>>> 6617A Math Sciences Building, UCLA >>>>>>>>>>> _______________________________________________ >>>>>>>>>>> SciPy-Dev mailing list >>>>>>>>>>> SciPy-Dev at python.org >>>>>>>>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>> SciPy-Dev mailing list >>>>>>>>> SciPy-Dev at python.org >>>>>>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> SciPy-Dev mailing list >>>>>>>> SciPy-Dev at python.org >>>>>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>>>>> >>>>>>> _______________________________________________ >>>>>>> SciPy-Dev mailing list >>>>>>> SciPy-Dev at python.org >>>>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>>>> >>>>>> _______________________________________________ >>>>>> SciPy-Dev mailing list >>>>>> SciPy-Dev at python.org >>>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>>> >>>>> _______________________________________________ >>>> SciPy-Dev mailing list >>>> SciPy-Dev at python.org >>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>> >>> _______________________________________________ >>> SciPy-Dev mailing list >>> SciPy-Dev at python.org >>> https://mail.python.org/mailman/listinfo/scipy-dev >>> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From juanlu001 at gmail.com Tue Dec 3 05:09:56 2019 From: juanlu001 at gmail.com (Juan Luis Cano) Date: Tue, 3 Dec 2019 11:09:56 +0100 Subject: [SciPy-Dev] Floating point differences in CPython In-Reply-To: References: <177c1e78-f151-0ff7-07f5-772612355788@gmail.com> Message-ID: Thanks Stan, Matti - I guess that explains everything. If you think it's worth it to open an issue upstream I can do that, otherwise mystery solved :) On Mon, Dec 2, 2019 at 7:22 PM Stanley Seibert wrote: > Given how much platform-to-platform variation there is (this gives us > headaches all the time on Numba), I was wondering how CPython got these > tests to pass without shipping their own cross-platform C math library. It > turns out the test runner is pretty generous: > > > https://github.com/python/cpython/blob/5fd5cb8d85fab3393dd76c7f3de1cdeb8ecf7203/Lib/test/test_math.py#L1614-L1679 > > The default test precision is 5 ulps (with some functions getting much > more), and the original example differs by only 1 ulp between glibc > versions, so CPython's testing would not have flagged a discrepancy this > small. > > On Mon, Dec 2, 2019 at 7:38 AM Matti Picus wrote: > >> >> On 2/12/19 3:28 pm, Stanley Seibert wrote: >> >> >> On Mon, Dec 2, 2019 at 1:06 AM Juan Luis Cano >> wrote: >> >>> Hi all, >>> >>> I admit this is not strictly about SciPy, but there is lots of people in >>> this list that care about compilers and floating point math so I still >>> wanted to give it a try. >>> >>> I am observing floating point differences between two different versions >>> of CPython 3.7.5, one compiled with GCC 7.4.0 (latest Linux Mint) and other >>> compared with GCC 8.3.0 (Debian Buster) that can be reproduced like this: >>> >>> $ docker run --rm -it python:3.7.5-stretch python -c 'print("{:.10f}".format((7091.17117297555159893818 ** 2 + 7118.70008070942458289210 ** 2 + (-1513.67274389594149397453) ** 2) ** 1.5))' >>> 1049171479739.7584228516 >>> $ docker run --rm -it python:3.7.5-buster python -c 'print("{:.10f}".format((7091.17117297555159893818 ** 2 + 7118.70008070942458289210 ** 2 + (-1513.67274389594149397453) ** 2) ** 1.5))' >>> 1049171479739.7585449219 >>> >>> >>> I highlight the GCC version because as far as I understand is the only >>> thing that could have changed between the two. Does anybody have a more >>> detailed explanation of what's going on here? >>> >>> Best, >>> >>> -- >>> Juan Luis Cano >>> >>> I'm speculating, but what jumped out at me is the **1.5, which will >> likely invoke the pow() function in glibc. Since there is no IEEE spec for >> pow() precision, it is possible that a change there could produce this >> effect. Stretch uses glibc 2.24 and Buster uses glibc 2.28. The changelog >> for glibc 2.27 ( >> https://sourceware.org/ml/libc-announce/2018/msg00000.html) mentions >> this: >> >> * Optimized x86-64 asin, atan2, exp, expf, log, pow, atan, sin, cosf, >> sinf, sincosf and tan with FMA, contributed by Arjan van de Ven and >> H.J. Lu from Intel. >> >> Which seems like a likely culprit, although I haven't done the work to >> exactly pinpoint it to this change. >> >> >> CPython has extensive tests to verify the functions in the cmath[0] and >> math[1] modules, but the latter does not seem to include tests for `pow`. >> Maybe after 9 years it is time to update it. >> >> >> [0] >> https://github.com/python/cpython/blob/master/Lib/test/cmath_testcases.txt >> >> [1] >> https://github.com/python/cpython/blob/master/Lib/test/math_testcases.txt >> >> >> Matti >> _______________________________________________ >> SciPy-Dev mailing list >> SciPy-Dev at python.org >> https://mail.python.org/mailman/listinfo/scipy-dev >> > _______________________________________________ > SciPy-Dev mailing list > SciPy-Dev at python.org > https://mail.python.org/mailman/listinfo/scipy-dev > -- Juan Luis Cano -------------- next part -------------- An HTML attachment was scrubbed... URL: From perimosocordiae at gmail.com Tue Dec 3 20:00:54 2019 From: perimosocordiae at gmail.com (CJ Carey) Date: Tue, 3 Dec 2019 17:00:54 -0800 Subject: [SciPy-Dev] Proposed SciPy 1.4.0 Release Schedule In-Reply-To: References: Message-ID: The scipy.sparse PR is merged. On Mon, Dec 2, 2019 at 9:05 PM Tyler Reddy wrote: > I think there are two remaining PRs/issues that could use a boost/review > to get over the line for 1.4.0rc2: > > https://github.com/scipy/scipy/pull/11152 (scipy.stats) > https://github.com/scipy/scipy/pull/11166 (scipy.sparse) > > > > On Fri, 22 Nov 2019 at 16:49, Tyler Reddy > wrote: > >> An attempt at building the wheels for the SciPy 1.3.3 release is underway: >> >> https://travis-ci.org/MacPython/scipy-wheels/builds/615811782 >> https://ci.appveyor.com/project/scipy/scipy-wheels/builds/29063776 >> >> If those are successful I will try to get it out soon to address some >> recent >> issues affecting DLL loading and multiprocessing tests. >> >> On Thu, 21 Nov 2019 at 14:01, Tyler Reddy >> wrote: >> >>> First attempt at 1.4.0rc1 wheel builds are now underway, with >>> fingers crossed: >>> >>> https://travis-ci.org/MacPython/scipy-wheels/builds/615256054 >>> https://ci.appveyor.com/project/scipy/scipy-wheels/builds/29034442 >>> >>> On Sun, 17 Nov 2019 at 01:40, Ralf Gommers >>> wrote: >>> >>>> >>>> >>>> On Sat, Nov 16, 2019 at 9:12 PM Tyler Reddy >>>> wrote: >>>> >>>>> I branched maintenance/1.4.x at ~10 pm Mountain Time on Nov. 16/2019. >>>>> >>>> >>>> Awesome, thanks Tyler! >>>> >>>> Ralf >>>> >>>> >>>>> The SciPy master branch is now open for development of version 1.5.0. >>>>> >>>>> Best wishes, >>>>> Tyler >>>>> >>>>> On Fri, 15 Nov 2019 at 22:38, Tyler Reddy >>>>> wrote: >>>>> >>>>>> Please do take a look at the release notes in preparation for 1.4.0 >>>>>> branching: https://github.com/scipy/scipy/pull/11061 >>>>>> >>>>>> The number of pull requests is quite massive (347, I think), so it is >>>>>> a first draft, but I've transcribed the material from the wiki, made a >>>>>> no-doubt-controversial draft of release highlights, and tried to curate >>>>>> author names/mailmap based on the first round of contributor feedback (~144 >>>>>> authors vs. 97 for 1.3.0). >>>>>> >>>>>> On Wed, 13 Nov 2019 at 21:28, Ralf Gommers >>>>>> wrote: >>>>>> >>>>>>> >>>>>>> >>>>>>> On Wed, Nov 13, 2019 at 7:35 PM Tyler Reddy < >>>>>>> tyler.je.reddy at gmail.com> wrote: >>>>>>> >>>>>>>> Alright, shall we aim for a two-day bump on the branching to Nov. >>>>>>>> 16th (Saturday)? I see we're at ~8 PRs with the milestone now, but I also >>>>>>>> still have to work on release notes, etc. >>>>>>>> >>>>>>> >>>>>>> Thanks, that sounds good! >>>>>>> >>>>>>> >>>>>>> >>>>>>>> I'm also expecting one or two surprises to pop up in the wheels >>>>>>>> repo given major release + 3.8. >>>>>>>> >>>>>>>> On Wed, 13 Nov 2019 at 20:21, Ralf Gommers >>>>>>>> wrote: >>>>>>>> >>>>>>>>> Hi Tyler, are you still planning to branch 1.4.x tomorrow? It >>>>>>>>> looks like there's no real blockers, but there's a bunch of stuff that >>>>>>>>> people seem to be scrambling to get in, so perhaps a 24-48 hour bump could >>>>>>>>> be useful. >>>>>>>>> >>>>>>>>> Cheers, >>>>>>>>> Ralf >>>>>>>>> >>>>>>>>> >>>>>>>>> On Tue, Nov 12, 2019 at 8:31 AM Tyler Reddy < >>>>>>>>> tyler.je.reddy at gmail.com> wrote: >>>>>>>>> >>>>>>>>>> Down to 12 open PRs with 1.4.0 milestone--getting closer! >>>>>>>>>> >>>>>>>>>> On Sat, 9 Nov 2019 at 21:40, Tyler Reddy < >>>>>>>>>> tyler.je.reddy at gmail.com> wrote: >>>>>>>>>> >>>>>>>>>>> We currently sit at 31 open PRs and 20 open issues with 1.4.0 >>>>>>>>>>> milestone. >>>>>>>>>>> >>>>>>>>>>> That's a substantial drop in PRs but a rise in issues since the >>>>>>>>>>> last accounting. Things got >>>>>>>>>>> a little hectic with Python 3.8 for 1.3.2, but hopefully the >>>>>>>>>>> wheels stuff is in good shape >>>>>>>>>>> for 1.4.x series now. >>>>>>>>>>> >>>>>>>>>>> Branching in about 5 days is ambitious, but let's aim to stay >>>>>>>>>>> reasonably on track if possible. >>>>>>>>>>> >>>>>>>>>>> On Mon, 21 Oct 2019 at 13:39, Matt Haberland >>>>>>>>>>> wrote: >>>>>>>>>>> >>>>>>>>>>>> Re: 1.2.3 release, I did get a request in gh-10915 >>>>>>>>>>>> for gh-10498 >>>>>>>>>>>> to be backported >>>>>>>>>>>> to 1.2. >>>>>>>>>>>> >>>>>>>>>>>> On Mon, Oct 21, 2019 at 8:47 AM Ralf Gommers < >>>>>>>>>>>> ralf.gommers at gmail.com> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> On Sat, Oct 19, 2019 at 12:24 AM Tyler Reddy < >>>>>>>>>>>>> tyler.je.reddy at gmail.com> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> Hi, >>>>>>>>>>>>>> >>>>>>>>>>>>>> SciPy 1.3.0 was released May 17 (5 months ago), and I think >>>>>>>>>>>>>> we'd like to keep a roughly biannual release cadence. >>>>>>>>>>>>>> >>>>>>>>>>>>>> I'd like to propose the following schedule for 1.4.0: >>>>>>>>>>>>>> - November 14: branch 1.4.x >>>>>>>>>>>>>> - November 17: rc1 >>>>>>>>>>>>>> - December 1: rc2 (if needed) >>>>>>>>>>>>>> - December 10: final release >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> Sounds good to me. >>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> The arrival of Python 3.8 and simultaneous responsibility to >>>>>>>>>>>>>> get at least one more 1.2.x LTS Python 2.7 release out the door means >>>>>>>>>>>>>> things will probably be busy on the release front until 2020. >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> True. I think supporting 3.8 is fairly high-prio, there's a >>>>>>>>>>>>> lot of demand for it. Doing a 1.3.2 release that supports it would make >>>>>>>>>>>>> sense I guess. >>>>>>>>>>>>> >>>>>>>>>>>>> There don't seem to be any new commits on the 1.2.x branch nor >>>>>>>>>>>>> urgent Python 2.7 fixes that need to go out. So do we need a 1.2.3 release? >>>>>>>>>>>>> >>>>>>>>>>>>> Cheers, >>>>>>>>>>>>> Ralf >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>>> As always, it is a good idea to start tagging things that >>>>>>>>>>>>>> should be in 1.4.0 & please do help with reviewing PRs/issues that are >>>>>>>>>>>>>> tagged--current counts are: >>>>>>>>>>>>>> >>>>>>>>>>>>>> - PRs: 40 open with 1.4.0 milestone >>>>>>>>>>>>>> - issues: 17 open with 1.4.0 milestone >>>>>>>>>>>>>> >>>>>>>>>>>>>> While helping with that, also great if the release notes wiki >>>>>>>>>>>>>> is updated for appropriate changes: >>>>>>>>>>>>>> https://github.com/scipy/scipy/wiki/Release-note-entries-for-SciPy-1.4.0 >>>>>>>>>>>>>> >>>>>>>>>>>>>> Curating those final notes can be painful if the wiki isn't >>>>>>>>>>>>>> updated. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Thoughts/objections for the schedule? >>>>>>>>>>>>>> >>>>>>>>>>>>>> Best wishes, >>>>>>>>>>>>>> Tyler >>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>> SciPy-Dev mailing list >>>>>>>>>>>>>> SciPy-Dev at python.org >>>>>>>>>>>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>>>>>>>>>>> >>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>> SciPy-Dev mailing list >>>>>>>>>>>>> SciPy-Dev at python.org >>>>>>>>>>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> Matt Haberland >>>>>>>>>>>> Assistant Adjunct Professor in the Program in Computing >>>>>>>>>>>> Department of Mathematics >>>>>>>>>>>> 6617A Math Sciences Building, UCLA >>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>> SciPy-Dev mailing list >>>>>>>>>>>> SciPy-Dev at python.org >>>>>>>>>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>>>>>>>>> >>>>>>>>>>> _______________________________________________ >>>>>>>>>> SciPy-Dev mailing list >>>>>>>>>> SciPy-Dev at python.org >>>>>>>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> SciPy-Dev mailing list >>>>>>>>> SciPy-Dev at python.org >>>>>>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> SciPy-Dev mailing list >>>>>>>> SciPy-Dev at python.org >>>>>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>>>>> >>>>>>> _______________________________________________ >>>>>>> SciPy-Dev mailing list >>>>>>> SciPy-Dev at python.org >>>>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>>>> >>>>>> _______________________________________________ >>>>> SciPy-Dev mailing list >>>>> SciPy-Dev at python.org >>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>> >>>> _______________________________________________ >>>> SciPy-Dev mailing list >>>> SciPy-Dev at python.org >>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>> >>> _______________________________________________ > SciPy-Dev mailing list > SciPy-Dev at python.org > https://mail.python.org/mailman/listinfo/scipy-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: From charlesr.harris at gmail.com Thu Dec 5 21:40:55 2019 From: charlesr.harris at gmail.com (Charles R Harris) Date: Thu, 5 Dec 2019 19:40:55 -0700 Subject: [SciPy-Dev] NumPy 1.18.0rc1 released. Message-ID: Hi All, On behalf of the NumPy team I am pleased to announce that NumPy 1.18.0rc1 has been released. In addition to the usual bug fixes, this NumPy release cleans up and documents the new random C-API, expires a large number of old deprecations, and improves the appearance and organization of the documentation. The Python versions supported are 3.5-3.8. This is the last NumPy release series that will support Python 3.5. The highlights of this release are: - the C-API for ``numpy.random`` has been defined and documented, - basic infrastructure for linking with 64 bit BLAS and LAPACK libraries, - many documentation improvements. Downstream developers should use Cython >= 0.29.14 for Python 3.8 support and OpenBLAS >= 3.7 to avoid wrong results on the Skylake architecture. The NumPy Wheels for this release can be downloaded from PyPI , source archives and release notes are available from Github . *Highlights* - The C-API for ``numpy.random`` has been defined and documented. - Basic infrastructure for linking with 64 bit BLAS and LAPACK libraries. - Many documentation improvements. *Contributors* A total of 113 people contributed to this release. People with a "+" by their names contributed a patch for the first time. - Abhinav Sagar - Alex Henrie + - Alexander Jung + - Allan Haldane - Andrea Pattori - Andrew Liu + - Anis Ladram + - Anne Bonner + - Antoine Dechaume + - Aryan Naraghi + - Bastian Eichenberger + - Brian Wignall + - Brigitta Sipocz - CakeWithSteak + - Charles Harris - Chris Barker - Chris Burr + - Chris Markiewicz + - Christoph Gohlke - Christopher Whelan - Colin Snyder - Dan Allan - Daniel Ching - David Stansby + - David Zwicker + - Dieter Werthm?ller - Disconnect3d + - Dmytro + - Doug Davis + - Eric Larson - Eric Wieser - Esben Haabendal + - Eugene Prilepin + - Felix Divo + - Gary Gurlaskie - Gina + - Giuseppe Cuccu + - Grzegorz Bokota + - Guanqun Lu + - Guilherme Leobas + - Guillaume Horel - G?raud Le Falher + - Hameer Abbasi - Harmon - Hiroyuki V. Yamazaki - Huang, Guangtai + - Hugo + - Hyeonguk Ryu + - Ilhan Polat + - Isaac Virshup - Jack J. Woehr + - Jack Woehr + - Jackie Leng - Jaime Fernandez - Jeff Hale + - Johann Faouzi + - Jon Dufresne + - Joseph Fox-Rabinovitz - Joseph R. Fox-Rabinovitz + - Jo?o Marcos Gris + - Justus Magin + - J?r?mie du Boisberranger - Kai Striega - Kevin Sheppard - Kexuan Sun - Kmol Yuan + - Kriti Singh - Larry Bradley + - Lars Grueter - Luis Pedro Coelho - MSeifert04 - Magdalena Proszewska + - Manny + - Mark Harfouche - Martin Reinecke - Martin Thoma - Matt Haberland + - Matt McCormick + - Matthias Bussonnier - Matti Picus - Max Bolingbroke + - Maxwell Aladago + - Michael Hudson-Doyle + - Oleksandr Pavlyk - Omar Merghany + - Pauli Virtanen - Peter Andreas Entschev - Peter Bell - Peter Cock + - Pradeep Reddy Raamana + - Qiming Sun + - Raghuveer Devulapalli - Ralf Gommers - Samesh + - Samesh Lakhotia + - Sebastian Berg - Sergei Lebedev - Seth Troisi + - Siddhesh Poyarekar + - Simon + - Simon Notley + - Stefan van der Walt - Stephan Hoyer - Steve Stagg - Thomas A Caswell - Thomas Kluyver - Tim Hoffmann + - Tyler Reddy - Vladimir Pershin + - Warren Weckesser - Yadong Zhang + - Zieji Pohz + - Zolisa Bleki + Cheers, Charles Harris -------------- next part -------------- An HTML attachment was scrubbed... URL: From tyler.je.reddy at gmail.com Fri Dec 6 19:59:28 2019 From: tyler.je.reddy at gmail.com (Tyler Reddy) Date: Fri, 6 Dec 2019 17:59:28 -0700 Subject: [SciPy-Dev] Proposed SciPy 1.4.0 Release Schedule In-Reply-To: References: Message-ID: I believe the temporary reversion to the last blocker (dtype=object array creation deprecation matter) was merged into NumPy master today, so the nightly NumPy wheels that are "blocking" the release should be fixed up by sometime on the weekend (I hope). I'll try to proceed with rc2 as soon as possible. On Tue, 3 Dec 2019 at 18:01, CJ Carey wrote: > The scipy.sparse PR is merged. > > On Mon, Dec 2, 2019 at 9:05 PM Tyler Reddy > wrote: > >> I think there are two remaining PRs/issues that could use a boost/review >> to get over the line for 1.4.0rc2: >> >> https://github.com/scipy/scipy/pull/11152 (scipy.stats) >> https://github.com/scipy/scipy/pull/11166 (scipy.sparse) >> >> >> >> On Fri, 22 Nov 2019 at 16:49, Tyler Reddy >> wrote: >> >>> An attempt at building the wheels for the SciPy 1.3.3 release is >>> underway: >>> >>> https://travis-ci.org/MacPython/scipy-wheels/builds/615811782 >>> https://ci.appveyor.com/project/scipy/scipy-wheels/builds/29063776 >>> >>> If those are successful I will try to get it out soon to address some >>> recent >>> issues affecting DLL loading and multiprocessing tests. >>> >>> On Thu, 21 Nov 2019 at 14:01, Tyler Reddy >>> wrote: >>> >>>> First attempt at 1.4.0rc1 wheel builds are now underway, with >>>> fingers crossed: >>>> >>>> https://travis-ci.org/MacPython/scipy-wheels/builds/615256054 >>>> https://ci.appveyor.com/project/scipy/scipy-wheels/builds/29034442 >>>> >>>> On Sun, 17 Nov 2019 at 01:40, Ralf Gommers >>>> wrote: >>>> >>>>> >>>>> >>>>> On Sat, Nov 16, 2019 at 9:12 PM Tyler Reddy >>>>> wrote: >>>>> >>>>>> I branched maintenance/1.4.x at ~10 pm Mountain Time on Nov. 16/2019. >>>>>> >>>>> >>>>> Awesome, thanks Tyler! >>>>> >>>>> Ralf >>>>> >>>>> >>>>>> The SciPy master branch is now open for development of version 1.5.0. >>>>>> >>>>>> Best wishes, >>>>>> Tyler >>>>>> >>>>>> On Fri, 15 Nov 2019 at 22:38, Tyler Reddy >>>>>> wrote: >>>>>> >>>>>>> Please do take a look at the release notes in preparation for 1.4.0 >>>>>>> branching: https://github.com/scipy/scipy/pull/11061 >>>>>>> >>>>>>> The number of pull requests is quite massive (347, I think), so it >>>>>>> is a first draft, but I've transcribed the material from the wiki, made a >>>>>>> no-doubt-controversial draft of release highlights, and tried to curate >>>>>>> author names/mailmap based on the first round of contributor feedback (~144 >>>>>>> authors vs. 97 for 1.3.0). >>>>>>> >>>>>>> On Wed, 13 Nov 2019 at 21:28, Ralf Gommers >>>>>>> wrote: >>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Wed, Nov 13, 2019 at 7:35 PM Tyler Reddy < >>>>>>>> tyler.je.reddy at gmail.com> wrote: >>>>>>>> >>>>>>>>> Alright, shall we aim for a two-day bump on the branching to Nov. >>>>>>>>> 16th (Saturday)? I see we're at ~8 PRs with the milestone now, but I also >>>>>>>>> still have to work on release notes, etc. >>>>>>>>> >>>>>>>> >>>>>>>> Thanks, that sounds good! >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> I'm also expecting one or two surprises to pop up in the wheels >>>>>>>>> repo given major release + 3.8. >>>>>>>>> >>>>>>>>> On Wed, 13 Nov 2019 at 20:21, Ralf Gommers >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> Hi Tyler, are you still planning to branch 1.4.x tomorrow? It >>>>>>>>>> looks like there's no real blockers, but there's a bunch of stuff that >>>>>>>>>> people seem to be scrambling to get in, so perhaps a 24-48 hour bump could >>>>>>>>>> be useful. >>>>>>>>>> >>>>>>>>>> Cheers, >>>>>>>>>> Ralf >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Tue, Nov 12, 2019 at 8:31 AM Tyler Reddy < >>>>>>>>>> tyler.je.reddy at gmail.com> wrote: >>>>>>>>>> >>>>>>>>>>> Down to 12 open PRs with 1.4.0 milestone--getting closer! >>>>>>>>>>> >>>>>>>>>>> On Sat, 9 Nov 2019 at 21:40, Tyler Reddy < >>>>>>>>>>> tyler.je.reddy at gmail.com> wrote: >>>>>>>>>>> >>>>>>>>>>>> We currently sit at 31 open PRs and 20 open issues with 1.4.0 >>>>>>>>>>>> milestone. >>>>>>>>>>>> >>>>>>>>>>>> That's a substantial drop in PRs but a rise in issues since the >>>>>>>>>>>> last accounting. Things got >>>>>>>>>>>> a little hectic with Python 3.8 for 1.3.2, but hopefully the >>>>>>>>>>>> wheels stuff is in good shape >>>>>>>>>>>> for 1.4.x series now. >>>>>>>>>>>> >>>>>>>>>>>> Branching in about 5 days is ambitious, but let's aim to stay >>>>>>>>>>>> reasonably on track if possible. >>>>>>>>>>>> >>>>>>>>>>>> On Mon, 21 Oct 2019 at 13:39, Matt Haberland < >>>>>>>>>>>> haberland at ucla.edu> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Re: 1.2.3 release, I did get a request in gh-10915 >>>>>>>>>>>>> for gh-10498 >>>>>>>>>>>>> to be backported >>>>>>>>>>>>> to 1.2. >>>>>>>>>>>>> >>>>>>>>>>>>> On Mon, Oct 21, 2019 at 8:47 AM Ralf Gommers < >>>>>>>>>>>>> ralf.gommers at gmail.com> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Sat, Oct 19, 2019 at 12:24 AM Tyler Reddy < >>>>>>>>>>>>>> tyler.je.reddy at gmail.com> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> Hi, >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> SciPy 1.3.0 was released May 17 (5 months ago), and I think >>>>>>>>>>>>>>> we'd like to keep a roughly biannual release cadence. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> I'd like to propose the following schedule for 1.4.0: >>>>>>>>>>>>>>> - November 14: branch 1.4.x >>>>>>>>>>>>>>> - November 17: rc1 >>>>>>>>>>>>>>> - December 1: rc2 (if needed) >>>>>>>>>>>>>>> - December 10: final release >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> Sounds good to me. >>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> The arrival of Python 3.8 and simultaneous responsibility to >>>>>>>>>>>>>>> get at least one more 1.2.x LTS Python 2.7 release out the door means >>>>>>>>>>>>>>> things will probably be busy on the release front until 2020. >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> True. I think supporting 3.8 is fairly high-prio, there's a >>>>>>>>>>>>>> lot of demand for it. Doing a 1.3.2 release that supports it would make >>>>>>>>>>>>>> sense I guess. >>>>>>>>>>>>>> >>>>>>>>>>>>>> There don't seem to be any new commits on the 1.2.x branch >>>>>>>>>>>>>> nor urgent Python 2.7 fixes that need to go out. So do we need a 1.2.3 >>>>>>>>>>>>>> release? >>>>>>>>>>>>>> >>>>>>>>>>>>>> Cheers, >>>>>>>>>>>>>> Ralf >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>>> As always, it is a good idea to start tagging things that >>>>>>>>>>>>>>> should be in 1.4.0 & please do help with reviewing PRs/issues that are >>>>>>>>>>>>>>> tagged--current counts are: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> - PRs: 40 open with 1.4.0 milestone >>>>>>>>>>>>>>> - issues: 17 open with 1.4.0 milestone >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> While helping with that, also great if the release notes >>>>>>>>>>>>>>> wiki is updated for appropriate changes: >>>>>>>>>>>>>>> https://github.com/scipy/scipy/wiki/Release-note-entries-for-SciPy-1.4.0 >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Curating those final notes can be painful if the wiki isn't >>>>>>>>>>>>>>> updated. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Thoughts/objections for the schedule? >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Best wishes, >>>>>>>>>>>>>>> Tyler >>>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>>> SciPy-Dev mailing list >>>>>>>>>>>>>>> SciPy-Dev at python.org >>>>>>>>>>>>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>>>>>>>>>>>> >>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>> SciPy-Dev mailing list >>>>>>>>>>>>>> SciPy-Dev at python.org >>>>>>>>>>>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>>>>>>>>>> Matt Haberland >>>>>>>>>>>>> Assistant Adjunct Professor in the Program in Computing >>>>>>>>>>>>> Department of Mathematics >>>>>>>>>>>>> 6617A Math Sciences Building, UCLA >>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>> SciPy-Dev mailing list >>>>>>>>>>>>> SciPy-Dev at python.org >>>>>>>>>>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>>>>>>>>>> >>>>>>>>>>>> _______________________________________________ >>>>>>>>>>> SciPy-Dev mailing list >>>>>>>>>>> SciPy-Dev at python.org >>>>>>>>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> SciPy-Dev mailing list >>>>>>>>>> SciPy-Dev at python.org >>>>>>>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> SciPy-Dev mailing list >>>>>>>>> SciPy-Dev at python.org >>>>>>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> SciPy-Dev mailing list >>>>>>>> SciPy-Dev at python.org >>>>>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>>>>> >>>>>>> _______________________________________________ >>>>>> SciPy-Dev mailing list >>>>>> SciPy-Dev at python.org >>>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>>> >>>>> _______________________________________________ >>>>> SciPy-Dev mailing list >>>>> SciPy-Dev at python.org >>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>> >>>> _______________________________________________ >> SciPy-Dev mailing list >> SciPy-Dev at python.org >> https://mail.python.org/mailman/listinfo/scipy-dev >> > _______________________________________________ > SciPy-Dev mailing list > SciPy-Dev at python.org > https://mail.python.org/mailman/listinfo/scipy-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: From koumura at cycentum.com Fri Dec 6 23:33:36 2019 From: koumura at cycentum.com (Takuya Koumura) Date: Sat, 7 Dec 2019 13:33:36 +0900 Subject: [SciPy-Dev] Adding logsoftmax function to scipy.special In-Reply-To: References: Message-ID: Hi, I implemented log_softmax and I wrote a docstring for it. Can anyone tell me how to add the function name to the scipy.special index page ( https://docs.scipy.org/doc/scipy/reference/special.html)? Is it Okay to directly edit the docstring in special/__init__.py? I wonder ?.. autosummary:: :toctree: generated/? indicates it was generated by Sphinx? Best regards, Takuya 2019?11?18?(?) 17:38 Takuya Koumura : > Hi Ralf, Josh, and all, > > Thank you for your positive comments and raising potential issues. > > Having read Josh?s comment, I conducted several experiments and found > there indeed is a case where cancellation occurs in my original > implementation, in which log_softmax(x) = x - logsumexp(x) = x - (m + > log(sum(exp(x - m)))) where m = max(x). > > Calculating s = x - m first and using it to calculate log_softmax(x) = s - > logsumexp(s) should decrease the chance of cancellation because it does not > involve subtraction other than x - m. Note that s is always <=0, so s - > log(sum(exp(s))) is actually addition of negative values. > Also, reusing s may be a bit more efficient in computational time. > > Best, > Takuya > > > 2019?11?18?(?) 3:51 Joshua Wilson : > >> > I would like to implement logsoftmax(x) as x-logsumexp(x) >> >> The function seems reasonable to add, but I am not so sure about that >> implementation, as it appears that it could lead to cancellation. >> Note, for example, that because of the scaling `logsumexp` does to >> prevent overflow, with that implementation you will end up adding and >> subtracting the component `x_i` of the largest magnitude when >> computing the `i`th component of the results array, see e.g. >> >> >> https://github.com/scipy/scipy/blob/master/scipy/special/_logsumexp.py#L124 >> >> Off the top of my head, it is not obvious to me that situations >> similar to that will not lead to cancellation errors. >> >> Of course, I might be wrong, but my overall point is that in order to >> use a particular implementation we should have a reasonable >> understanding of its theoretical properties, so I would like to see >> some exploration of that before proceeding. >> >> - Josh >> >> On Fri, Nov 15, 2019 at 5:17 PM Ralf Gommers >> wrote: >> > >> > Hi Takuya, >> > >> > >> > On Tue, Nov 12, 2019 at 9:05 PM Takuya Koumura >> wrote: >> >> >> >> Hello, >> >> >> >> I raised a GitHub issue (#11058) and was suggested to post it to >> scipy-dev. >> >> >> >> I?m considering to send a PR to add logsoftmax function in >> scipy.special. Before that, I would like to hear your opinion (partly >> because it?s my first time to send a PR to scipy). >> > >> > >> > Welcome! Thanks for proposing that. logsoftmax is fairly popular at >> least in deep learning, so it makes sense I think, and we already have a >> bunch of other log* functions in scipy.special. >> > >> > I noticed that both PyTorch and Tensorflow name this function >> `log_softmax` rather than `logsoftmax`. The latter would be a little more >> consistent with other functions (although we also have `special.log_ndtr`), >> while the former is consistent with other implementations of the same >> functionality. I'd be okay with either, with a slight preference for >> `log_softmax`. >> > >> >> >> >> I would like to implement logsoftmax(x) as x-logsumexp(x). Actually, >> special.softmax(x) = np.exp(x-logsumexp(x)), so it is trivial for those who >> read the source code of softmax, but I think including logsoftmax as a >> separate function will be useful for other users. Logsoftmax is more >> accurate with inputs that make softmax saturate, eg: When x=[1000, 0], >> np.log(softmax(x))=[0, -Inf] (maybe depending on the floating point >> precision), while logsoftmax(x)=[0, -1000]. >> >> >> >> I am planning to add the new function at the bottom of >> special/_logsumexp.py following the softmax function, and add some unit >> tests in special/test/test_logsumexp.py. If you have comments, I?d >> appreciate any. >> > >> > >> > That seems like a good place. >> > >> > Cheers, >> > Ralf >> > >> >> >> >> Best wishes, >> >> -- >> >> Takuya KOUMURA >> >> koumura at cycentum.com >> >> _______________________________________________ >> >> SciPy-Dev mailing list >> >> SciPy-Dev at python.org >> >> https://mail.python.org/mailman/listinfo/scipy-dev >> > >> > _______________________________________________ >> > SciPy-Dev mailing list >> > SciPy-Dev at python.org >> > https://mail.python.org/mailman/listinfo/scipy-dev >> _______________________________________________ >> SciPy-Dev mailing list >> SciPy-Dev at python.org >> https://mail.python.org/mailman/listinfo/scipy-dev >> > > > -- > -- > Takuya KOUMURA > koumura at cycentum.com > -- -- Takuya KOUMURA koumura at cycentum.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From stanczakdominik at gmail.com Fri Dec 6 23:43:16 2019 From: stanczakdominik at gmail.com (=?UTF-8?Q?Dominik_Sta=C5=84czak?=) Date: Sat, 7 Dec 2019 05:43:16 +0100 Subject: [SciPy-Dev] Adding logsoftmax function to scipy.special In-Reply-To: References: Message-ID: Hey, your function may not show up if there's an __all__ variable in that module that lists importable functions and you didn't add your function to it. Sphinx goes by that one if it's available. Not sure that's relevant, but it's likely to be. Cheers, Dominik On Sat, Dec 7, 2019, 05:34 Takuya Koumura wrote: > Hi, > > I implemented log_softmax and I wrote a docstring for it. Can anyone tell > me how to add the function name to the scipy.special index page ( > https://docs.scipy.org/doc/scipy/reference/special.html)? Is it Okay to > directly edit the docstring in special/__init__.py? I wonder ?.. > autosummary:: :toctree: generated/? indicates it was generated by Sphinx? > > Best regards, > Takuya > > > 2019?11?18?(?) 17:38 Takuya Koumura : > >> Hi Ralf, Josh, and all, >> >> Thank you for your positive comments and raising potential issues. >> >> Having read Josh?s comment, I conducted several experiments and found >> there indeed is a case where cancellation occurs in my original >> implementation, in which log_softmax(x) = x - logsumexp(x) = x - (m + >> log(sum(exp(x - m)))) where m = max(x). >> >> Calculating s = x - m first and using it to calculate log_softmax(x) = s >> - logsumexp(s) should decrease the chance of cancellation because it does >> not involve subtraction other than x - m. Note that s is always <=0, so s - >> log(sum(exp(s))) is actually addition of negative values. >> Also, reusing s may be a bit more efficient in computational time. >> >> Best, >> Takuya >> >> >> 2019?11?18?(?) 3:51 Joshua Wilson : >> >>> > I would like to implement logsoftmax(x) as x-logsumexp(x) >>> >>> The function seems reasonable to add, but I am not so sure about that >>> implementation, as it appears that it could lead to cancellation. >>> Note, for example, that because of the scaling `logsumexp` does to >>> prevent overflow, with that implementation you will end up adding and >>> subtracting the component `x_i` of the largest magnitude when >>> computing the `i`th component of the results array, see e.g. >>> >>> >>> https://github.com/scipy/scipy/blob/master/scipy/special/_logsumexp.py#L124 >>> >>> Off the top of my head, it is not obvious to me that situations >>> similar to that will not lead to cancellation errors. >>> >>> Of course, I might be wrong, but my overall point is that in order to >>> use a particular implementation we should have a reasonable >>> understanding of its theoretical properties, so I would like to see >>> some exploration of that before proceeding. >>> >>> - Josh >>> >>> On Fri, Nov 15, 2019 at 5:17 PM Ralf Gommers >>> wrote: >>> > >>> > Hi Takuya, >>> > >>> > >>> > On Tue, Nov 12, 2019 at 9:05 PM Takuya Koumura >>> wrote: >>> >> >>> >> Hello, >>> >> >>> >> I raised a GitHub issue (#11058) and was suggested to post it to >>> scipy-dev. >>> >> >>> >> I?m considering to send a PR to add logsoftmax function in >>> scipy.special. Before that, I would like to hear your opinion (partly >>> because it?s my first time to send a PR to scipy). >>> > >>> > >>> > Welcome! Thanks for proposing that. logsoftmax is fairly popular at >>> least in deep learning, so it makes sense I think, and we already have a >>> bunch of other log* functions in scipy.special. >>> > >>> > I noticed that both PyTorch and Tensorflow name this function >>> `log_softmax` rather than `logsoftmax`. The latter would be a little more >>> consistent with other functions (although we also have `special.log_ndtr`), >>> while the former is consistent with other implementations of the same >>> functionality. I'd be okay with either, with a slight preference for >>> `log_softmax`. >>> > >>> >> >>> >> I would like to implement logsoftmax(x) as x-logsumexp(x). Actually, >>> special.softmax(x) = np.exp(x-logsumexp(x)), so it is trivial for those who >>> read the source code of softmax, but I think including logsoftmax as a >>> separate function will be useful for other users. Logsoftmax is more >>> accurate with inputs that make softmax saturate, eg: When x=[1000, 0], >>> np.log(softmax(x))=[0, -Inf] (maybe depending on the floating point >>> precision), while logsoftmax(x)=[0, -1000]. >>> >> >>> >> I am planning to add the new function at the bottom of >>> special/_logsumexp.py following the softmax function, and add some unit >>> tests in special/test/test_logsumexp.py. If you have comments, I?d >>> appreciate any. >>> > >>> > >>> > That seems like a good place. >>> > >>> > Cheers, >>> > Ralf >>> > >>> >> >>> >> Best wishes, >>> >> -- >>> >> Takuya KOUMURA >>> >> koumura at cycentum.com >>> >> _______________________________________________ >>> >> SciPy-Dev mailing list >>> >> SciPy-Dev at python.org >>> >> https://mail.python.org/mailman/listinfo/scipy-dev >>> > >>> > _______________________________________________ >>> > SciPy-Dev mailing list >>> > SciPy-Dev at python.org >>> > https://mail.python.org/mailman/listinfo/scipy-dev >>> _______________________________________________ >>> SciPy-Dev mailing list >>> SciPy-Dev at python.org >>> https://mail.python.org/mailman/listinfo/scipy-dev >>> >> >> >> -- >> -- >> Takuya KOUMURA >> koumura at cycentum.com >> > > > -- > -- > Takuya KOUMURA > koumura at cycentum.com > _______________________________________________ > SciPy-Dev mailing list > SciPy-Dev at python.org > https://mail.python.org/mailman/listinfo/scipy-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ralf.gommers at gmail.com Fri Dec 6 23:48:27 2019 From: ralf.gommers at gmail.com (Ralf Gommers) Date: Fri, 6 Dec 2019 20:48:27 -0800 Subject: [SciPy-Dev] Adding logsoftmax function to scipy.special In-Reply-To: References: Message-ID: On Fri, Dec 6, 2019 at 8:43 PM Dominik Sta?czak wrote: > Hey, > > your function may not show up if there's an __all__ variable in that > module that lists importable functions and you didn't add your function to > it. Sphinx goes by that one if it's available. > > Not sure that's relevant, but it's likely to be. > > Cheers, > Dominik > > On Sat, Dec 7, 2019, 05:34 Takuya Koumura wrote: > >> Hi, >> >> I implemented log_softmax and I wrote a docstring for it. Can anyone tell >> me how to add the function name to the scipy.special index page ( >> https://docs.scipy.org/doc/scipy/reference/special.html)? Is it Okay to >> directly edit the docstring in special/__init__.py? >> > Yes, you need to add your function to __init__.py, right under `softmax` looks like the correct place. And indeed, as Dominic suggests, you also need to add the function name to `__all__` in the file where you added it - `__all__` is a list of all public names in each file. > I wonder ?.. autosummary:: :toctree: generated/? indicates it was >> generated by Sphinx? >> > No, that is a directive to tell Sphinx it should take the functions listed below it, and generated links and doc pages for those in the html/pdf output. Cheers, Ralf > >> Best regards, >> Takuya >> >> >> 2019?11?18?(?) 17:38 Takuya Koumura : >> >>> Hi Ralf, Josh, and all, >>> >>> Thank you for your positive comments and raising potential issues. >>> >>> Having read Josh?s comment, I conducted several experiments and found >>> there indeed is a case where cancellation occurs in my original >>> implementation, in which log_softmax(x) = x - logsumexp(x) = x - (m + >>> log(sum(exp(x - m)))) where m = max(x). >>> >>> Calculating s = x - m first and using it to calculate log_softmax(x) = s >>> - logsumexp(s) should decrease the chance of cancellation because it does >>> not involve subtraction other than x - m. Note that s is always <=0, so s - >>> log(sum(exp(s))) is actually addition of negative values. >>> Also, reusing s may be a bit more efficient in computational time. >>> >>> Best, >>> Takuya >>> >>> >>> 2019?11?18?(?) 3:51 Joshua Wilson : >>> >>>> > I would like to implement logsoftmax(x) as x-logsumexp(x) >>>> >>>> The function seems reasonable to add, but I am not so sure about that >>>> implementation, as it appears that it could lead to cancellation. >>>> Note, for example, that because of the scaling `logsumexp` does to >>>> prevent overflow, with that implementation you will end up adding and >>>> subtracting the component `x_i` of the largest magnitude when >>>> computing the `i`th component of the results array, see e.g. >>>> >>>> >>>> https://github.com/scipy/scipy/blob/master/scipy/special/_logsumexp.py#L124 >>>> >>>> Off the top of my head, it is not obvious to me that situations >>>> similar to that will not lead to cancellation errors. >>>> >>>> Of course, I might be wrong, but my overall point is that in order to >>>> use a particular implementation we should have a reasonable >>>> understanding of its theoretical properties, so I would like to see >>>> some exploration of that before proceeding. >>>> >>>> - Josh >>>> >>>> On Fri, Nov 15, 2019 at 5:17 PM Ralf Gommers >>>> wrote: >>>> > >>>> > Hi Takuya, >>>> > >>>> > >>>> > On Tue, Nov 12, 2019 at 9:05 PM Takuya Koumura >>>> wrote: >>>> >> >>>> >> Hello, >>>> >> >>>> >> I raised a GitHub issue (#11058) and was suggested to post it to >>>> scipy-dev. >>>> >> >>>> >> I?m considering to send a PR to add logsoftmax function in >>>> scipy.special. Before that, I would like to hear your opinion (partly >>>> because it?s my first time to send a PR to scipy). >>>> > >>>> > >>>> > Welcome! Thanks for proposing that. logsoftmax is fairly popular at >>>> least in deep learning, so it makes sense I think, and we already have a >>>> bunch of other log* functions in scipy.special. >>>> > >>>> > I noticed that both PyTorch and Tensorflow name this function >>>> `log_softmax` rather than `logsoftmax`. The latter would be a little more >>>> consistent with other functions (although we also have `special.log_ndtr`), >>>> while the former is consistent with other implementations of the same >>>> functionality. I'd be okay with either, with a slight preference for >>>> `log_softmax`. >>>> > >>>> >> >>>> >> I would like to implement logsoftmax(x) as x-logsumexp(x). Actually, >>>> special.softmax(x) = np.exp(x-logsumexp(x)), so it is trivial for those who >>>> read the source code of softmax, but I think including logsoftmax as a >>>> separate function will be useful for other users. Logsoftmax is more >>>> accurate with inputs that make softmax saturate, eg: When x=[1000, 0], >>>> np.log(softmax(x))=[0, -Inf] (maybe depending on the floating point >>>> precision), while logsoftmax(x)=[0, -1000]. >>>> >> >>>> >> I am planning to add the new function at the bottom of >>>> special/_logsumexp.py following the softmax function, and add some unit >>>> tests in special/test/test_logsumexp.py. If you have comments, I?d >>>> appreciate any. >>>> > >>>> > >>>> > That seems like a good place. >>>> > >>>> > Cheers, >>>> > Ralf >>>> > >>>> >> >>>> >> Best wishes, >>>> >> -- >>>> >> Takuya KOUMURA >>>> >> koumura at cycentum.com >>>> >> _______________________________________________ >>>> >> SciPy-Dev mailing list >>>> >> SciPy-Dev at python.org >>>> >> https://mail.python.org/mailman/listinfo/scipy-dev >>>> > >>>> > _______________________________________________ >>>> > SciPy-Dev mailing list >>>> > SciPy-Dev at python.org >>>> > https://mail.python.org/mailman/listinfo/scipy-dev >>>> _______________________________________________ >>>> SciPy-Dev mailing list >>>> SciPy-Dev at python.org >>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>> >>> >>> >>> -- >>> -- >>> Takuya KOUMURA >>> koumura at cycentum.com >>> >> >> >> -- >> -- >> Takuya KOUMURA >> koumura at cycentum.com >> _______________________________________________ >> SciPy-Dev mailing list >> SciPy-Dev at python.org >> https://mail.python.org/mailman/listinfo/scipy-dev >> > _______________________________________________ > SciPy-Dev mailing list > SciPy-Dev at python.org > https://mail.python.org/mailman/listinfo/scipy-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ralf.gommers at gmail.com Sat Dec 7 00:10:36 2019 From: ralf.gommers at gmail.com (Ralf Gommers) Date: Fri, 6 Dec 2019 21:10:36 -0800 Subject: [SciPy-Dev] Proposed SciPy 1.4.0 Release Schedule In-Reply-To: References: Message-ID: On Fri, Dec 6, 2019 at 4:59 PM Tyler Reddy wrote: > I believe the temporary reversion to the last blocker (dtype=object array > creation deprecation matter) was merged into NumPy master today, so the > nightly NumPy wheels that are "blocking" the release should be fixed up by > sometime on the weekend (I hope). I'll try to proceed with rc2 as soon as > possible. > That reversion isn't all that temporary - it will come back, but in a different yet-to-be-determined form. It did expose some things we should clean up in SciPy, but should be fine to ignore for 1.4.0 RC2 soon sounds good! Cheers, Ralf > On Tue, 3 Dec 2019 at 18:01, CJ Carey wrote: > >> The scipy.sparse PR is merged. >> >> On Mon, Dec 2, 2019 at 9:05 PM Tyler Reddy >> wrote: >> >>> I think there are two remaining PRs/issues that could use a boost/review >>> to get over the line for 1.4.0rc2: >>> >>> https://github.com/scipy/scipy/pull/11152 (scipy.stats) >>> https://github.com/scipy/scipy/pull/11166 (scipy.sparse) >>> >>> >>> >>> On Fri, 22 Nov 2019 at 16:49, Tyler Reddy >>> wrote: >>> >>>> An attempt at building the wheels for the SciPy 1.3.3 release is >>>> underway: >>>> >>>> https://travis-ci.org/MacPython/scipy-wheels/builds/615811782 >>>> https://ci.appveyor.com/project/scipy/scipy-wheels/builds/29063776 >>>> >>>> If those are successful I will try to get it out soon to address some >>>> recent >>>> issues affecting DLL loading and multiprocessing tests. >>>> >>>> On Thu, 21 Nov 2019 at 14:01, Tyler Reddy >>>> wrote: >>>> >>>>> First attempt at 1.4.0rc1 wheel builds are now underway, with >>>>> fingers crossed: >>>>> >>>>> https://travis-ci.org/MacPython/scipy-wheels/builds/615256054 >>>>> https://ci.appveyor.com/project/scipy/scipy-wheels/builds/29034442 >>>>> >>>>> On Sun, 17 Nov 2019 at 01:40, Ralf Gommers >>>>> wrote: >>>>> >>>>>> >>>>>> >>>>>> On Sat, Nov 16, 2019 at 9:12 PM Tyler Reddy >>>>>> wrote: >>>>>> >>>>>>> I branched maintenance/1.4.x at ~10 pm Mountain Time on Nov. 16/2019. >>>>>>> >>>>>> >>>>>> Awesome, thanks Tyler! >>>>>> >>>>>> Ralf >>>>>> >>>>>> >>>>>>> The SciPy master branch is now open for development of version 1.5.0. >>>>>>> >>>>>>> Best wishes, >>>>>>> Tyler >>>>>>> >>>>>>> On Fri, 15 Nov 2019 at 22:38, Tyler Reddy >>>>>>> wrote: >>>>>>> >>>>>>>> Please do take a look at the release notes in preparation for 1.4.0 >>>>>>>> branching: https://github.com/scipy/scipy/pull/11061 >>>>>>>> >>>>>>>> The number of pull requests is quite massive (347, I think), so it >>>>>>>> is a first draft, but I've transcribed the material from the wiki, made a >>>>>>>> no-doubt-controversial draft of release highlights, and tried to curate >>>>>>>> author names/mailmap based on the first round of contributor feedback (~144 >>>>>>>> authors vs. 97 for 1.3.0). >>>>>>>> >>>>>>>> On Wed, 13 Nov 2019 at 21:28, Ralf Gommers >>>>>>>> wrote: >>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Wed, Nov 13, 2019 at 7:35 PM Tyler Reddy < >>>>>>>>> tyler.je.reddy at gmail.com> wrote: >>>>>>>>> >>>>>>>>>> Alright, shall we aim for a two-day bump on the branching to Nov. >>>>>>>>>> 16th (Saturday)? I see we're at ~8 PRs with the milestone now, but I also >>>>>>>>>> still have to work on release notes, etc. >>>>>>>>>> >>>>>>>>> >>>>>>>>> Thanks, that sounds good! >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>>> I'm also expecting one or two surprises to pop up in the wheels >>>>>>>>>> repo given major release + 3.8. >>>>>>>>>> >>>>>>>>>> On Wed, 13 Nov 2019 at 20:21, Ralf Gommers < >>>>>>>>>> ralf.gommers at gmail.com> wrote: >>>>>>>>>> >>>>>>>>>>> Hi Tyler, are you still planning to branch 1.4.x tomorrow? It >>>>>>>>>>> looks like there's no real blockers, but there's a bunch of stuff that >>>>>>>>>>> people seem to be scrambling to get in, so perhaps a 24-48 hour bump could >>>>>>>>>>> be useful. >>>>>>>>>>> >>>>>>>>>>> Cheers, >>>>>>>>>>> Ralf >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Tue, Nov 12, 2019 at 8:31 AM Tyler Reddy < >>>>>>>>>>> tyler.je.reddy at gmail.com> wrote: >>>>>>>>>>> >>>>>>>>>>>> Down to 12 open PRs with 1.4.0 milestone--getting closer! >>>>>>>>>>>> >>>>>>>>>>>> On Sat, 9 Nov 2019 at 21:40, Tyler Reddy < >>>>>>>>>>>> tyler.je.reddy at gmail.com> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> We currently sit at 31 open PRs and 20 open issues with 1.4.0 >>>>>>>>>>>>> milestone. >>>>>>>>>>>>> >>>>>>>>>>>>> That's a substantial drop in PRs but a rise in issues since >>>>>>>>>>>>> the last accounting. Things got >>>>>>>>>>>>> a little hectic with Python 3.8 for 1.3.2, but hopefully the >>>>>>>>>>>>> wheels stuff is in good shape >>>>>>>>>>>>> for 1.4.x series now. >>>>>>>>>>>>> >>>>>>>>>>>>> Branching in about 5 days is ambitious, but let's aim to stay >>>>>>>>>>>>> reasonably on track if possible. >>>>>>>>>>>>> >>>>>>>>>>>>> On Mon, 21 Oct 2019 at 13:39, Matt Haberland < >>>>>>>>>>>>> haberland at ucla.edu> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> Re: 1.2.3 release, I did get a request in gh-10915 >>>>>>>>>>>>>> for gh-10498 >>>>>>>>>>>>>> to be backported >>>>>>>>>>>>>> to 1.2. >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Mon, Oct 21, 2019 at 8:47 AM Ralf Gommers < >>>>>>>>>>>>>> ralf.gommers at gmail.com> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Sat, Oct 19, 2019 at 12:24 AM Tyler Reddy < >>>>>>>>>>>>>>> tyler.je.reddy at gmail.com> wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Hi, >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> SciPy 1.3.0 was released May 17 (5 months ago), and I think >>>>>>>>>>>>>>>> we'd like to keep a roughly biannual release cadence. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> I'd like to propose the following schedule for 1.4.0: >>>>>>>>>>>>>>>> - November 14: branch 1.4.x >>>>>>>>>>>>>>>> - November 17: rc1 >>>>>>>>>>>>>>>> - December 1: rc2 (if needed) >>>>>>>>>>>>>>>> - December 10: final release >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Sounds good to me. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> The arrival of Python 3.8 and simultaneous responsibility >>>>>>>>>>>>>>>> to get at least one more 1.2.x LTS Python 2.7 release out the door means >>>>>>>>>>>>>>>> things will probably be busy on the release front until 2020. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> True. I think supporting 3.8 is fairly high-prio, there's a >>>>>>>>>>>>>>> lot of demand for it. Doing a 1.3.2 release that supports it would make >>>>>>>>>>>>>>> sense I guess. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> There don't seem to be any new commits on the 1.2.x branch >>>>>>>>>>>>>>> nor urgent Python 2.7 fixes that need to go out. So do we need a 1.2.3 >>>>>>>>>>>>>>> release? >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Cheers, >>>>>>>>>>>>>>> Ralf >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> As always, it is a good idea to start tagging things that >>>>>>>>>>>>>>>> should be in 1.4.0 & please do help with reviewing PRs/issues that are >>>>>>>>>>>>>>>> tagged--current counts are: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> - PRs: 40 open with 1.4.0 milestone >>>>>>>>>>>>>>>> - issues: 17 open with 1.4.0 milestone >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> While helping with that, also great if the release notes >>>>>>>>>>>>>>>> wiki is updated for appropriate changes: >>>>>>>>>>>>>>>> https://github.com/scipy/scipy/wiki/Release-note-entries-for-SciPy-1.4.0 >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Curating those final notes can be painful if the wiki isn't >>>>>>>>>>>>>>>> updated. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Thoughts/objections for the schedule? >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Best wishes, >>>>>>>>>>>>>>>> Tyler >>>>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>>>> SciPy-Dev mailing list >>>>>>>>>>>>>>>> SciPy-Dev at python.org >>>>>>>>>>>>>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>>> SciPy-Dev mailing list >>>>>>>>>>>>>>> SciPy-Dev at python.org >>>>>>>>>>>>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> -- >>>>>>>>>>>>>> Matt Haberland >>>>>>>>>>>>>> Assistant Adjunct Professor in the Program in Computing >>>>>>>>>>>>>> Department of Mathematics >>>>>>>>>>>>>> 6617A Math Sciences Building, UCLA >>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>> SciPy-Dev mailing list >>>>>>>>>>>>>> SciPy-Dev at python.org >>>>>>>>>>>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>>>>>>>>>>> >>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>> SciPy-Dev mailing list >>>>>>>>>>>> SciPy-Dev at python.org >>>>>>>>>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>>>>>>>>> >>>>>>>>>>> _______________________________________________ >>>>>>>>>>> SciPy-Dev mailing list >>>>>>>>>>> SciPy-Dev at python.org >>>>>>>>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> SciPy-Dev mailing list >>>>>>>>>> SciPy-Dev at python.org >>>>>>>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> SciPy-Dev mailing list >>>>>>>>> SciPy-Dev at python.org >>>>>>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>>>>>> >>>>>>>> _______________________________________________ >>>>>>> SciPy-Dev mailing list >>>>>>> SciPy-Dev at python.org >>>>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>>>> >>>>>> _______________________________________________ >>>>>> SciPy-Dev mailing list >>>>>> SciPy-Dev at python.org >>>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>>> >>>>> _______________________________________________ >>> SciPy-Dev mailing list >>> SciPy-Dev at python.org >>> https://mail.python.org/mailman/listinfo/scipy-dev >>> >> _______________________________________________ >> SciPy-Dev mailing list >> SciPy-Dev at python.org >> https://mail.python.org/mailman/listinfo/scipy-dev >> > _______________________________________________ > SciPy-Dev mailing list > SciPy-Dev at python.org > https://mail.python.org/mailman/listinfo/scipy-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: From rlucas7 at vt.edu Sat Dec 7 09:23:35 2019 From: rlucas7 at vt.edu (rlucas7 at vt.edu) Date: Sat, 7 Dec 2019 09:23:35 -0500 Subject: [SciPy-Dev] Adding logsoftmax function to scipy.special Message-ID: <56F9F9BD-30C7-4251-84CD-0FC4C66CCFBF@vt.edu> On Dec 7, 2019, at 12:12 AM, scipy-dev-request at python.org wrote: > > ?Send SciPy-Dev mailing list submissions to > scipy-dev at python.org > > To subscribe or unsubscribe via the World Wide Web, visit > https://mail.python.org/mailman/listinfo/scipy-dev > or, via email, send a message with subject or body 'help' to > scipy-dev-request at python.org > > You can reach the person managing the list at > scipy-dev-owner at python.org > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of SciPy-Dev digest..." > > > Today's Topics: > > 1. Re: Adding logsoftmax function to scipy.special (Ralf Gommers) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Fri, 6 Dec 2019 20:48:27 -0800 > From: Ralf Gommers > To: SciPy Developers List > Subject: Re: [SciPy-Dev] Adding logsoftmax function to scipy.special > Message-ID: > > Content-Type: text/plain; charset="utf-8" > >> On Fri, Dec 6, 2019 at 8:43 PM Dominik Sta?czak >> wrote: >> >> Hey, >> >> your function may not show up if there's an __all__ variable in that >> module that lists importable functions and you didn't add your function to >> it. Sphinx goes by that one if it's available. >> >> Not sure that's relevant, but it's likely to be. >> >> Cheers, >> Dominik >> >>> On Sat, Dec 7, 2019, 05:34 Takuya Koumura wrote: >>> >>> Hi, >>> >>> I implemented log_softmax and I wrote a docstring for it. Can anyone tell >>> me how to add the function name to the scipy.special index page ( >>> https://docs.scipy.org/doc/scipy/reference/special.html)? Is it Okay to >>> directly edit the docstring in special/__init__.py? >>> >> > Yes, you need to add your function to __init__.py, right under `softmax` > looks like the correct place. > > And indeed, as Dominic suggests, you also need to add the function name to > `__all__` in the file where you added it - `__all__` is a list of all > public names in each file. > > >> I wonder ?.. autosummary:: :toctree: generated/? indicates it was >>> generated by Sphinx? >>> >> > No, that is a directive to tell Sphinx it should take the functions listed > below it, and generated links and doc pages for those in the html/pdf > output. > > Cheers, > Ralf > > > >> >>> Best regards, >>> Takuya >>> >>> >>> 2019?11?18?(?) 17:38 Takuya Koumura : >>> >>>> Hi Ralf, Josh, and all, >>>> >>>> Thank you for your positive comments and raising potential issues. >>>> >>>> Having read Josh?s comment, I conducted several experiments and found >>>> there indeed is a case where cancellation occurs in my original >>>> implementation, in which log_softmax(x) = x - logsumexp(x) = x - (m + >>>> log(sum(exp(x - m)))) where m = max(x). >>>> >>>> Calculating s = x - m first and using it to calculate log_softmax(x) = s >>>> - logsumexp(s) should decrease the chance of cancellation because it does >>>> not involve subtraction other than x - m. Note that s is always <=0, so s - >>>> log(sum(exp(s))) is actually addition of negative values. >>>> Also, reusing s may be a bit more efficient in computational time. >>>> >>>> Best, >>>> Takuya >>>> >>>> >>>> 2019?11?18?(?) 3:51 Joshua Wilson : >>>> >>>>>> I would like to implement logsoftmax(x) as x-logsumexp(x) >>>>> >>>>> The function seems reasonable to add, but I am not so sure about that >>>>> implementation, as it appears that it could lead to cancellation. >>>>> Note, for example, that because of the scaling `logsumexp` does to >>>>> prevent overflow, with that implementation you will end up adding and >>>>> subtracting the component `x_i` of the largest magnitude when >>>>> computing the `i`th component of the results array, see e.g. >>>>> >>>>> >>>>> https://github.com/scipy/scipy/blob/master/scipy/special/_logsumexp.py#L124 >>>>> >>>>> Off the top of my head, it is not obvious to me that situations >>>>> similar to that will not lead to cancellation errors. >>>>> >>>>> Of course, I might be wrong, but my overall point is that in order to >>>>> use a particular implementation we should have a reasonable >>>>> understanding of its theoretical properties, so I would like to see >>>>> some exploration of that before proceeding. >>>>> >>>>> - Josh There was a recent paper by Nick Higham?s group in Manchester related to these types of calculations and investigation of stability. Not sure if it shows anything about the specific method being discussed here but I?ll pass on the link anyway in case it helps Takuya, https://arxiv.org/pdf/1909.03469.pdf IIRC The paper refers to the scipy functions and the shift by max. There are also some computational study to determine stability empirically too. Hope that helps. >>>>> On Fri, Nov 15, 2019 at 5:17 PM Ralf Gommers >>>>> wrote: >>>>>> >>>>>> Hi Takuya, >>>>>> >>>>>> >>>>>> On Tue, Nov 12, 2019 at 9:05 PM Takuya Koumura >>>>> wrote: >>>>>>> >>>>>>> Hello, >>>>>>> >>>>>>> I raised a GitHub issue (#11058) and was suggested to post it to >>>>> scipy-dev. >>>>>>> >>>>>>> I?m considering to send a PR to add logsoftmax function in >>>>> scipy.special. Before that, I would like to hear your opinion (partly >>>>> because it?s my first time to send a PR to scipy). >>>>>> >>>>>> >>>>>> Welcome! Thanks for proposing that. logsoftmax is fairly popular at >>>>> least in deep learning, so it makes sense I think, and we already have a >>>>> bunch of other log* functions in scipy.special. >>>>>> >>>>>> I noticed that both PyTorch and Tensorflow name this function >>>>> `log_softmax` rather than `logsoftmax`. The latter would be a little more >>>>> consistent with other functions (although we also have `special.log_ndtr`), >>>>> while the former is consistent with other implementations of the same >>>>> functionality. I'd be okay with either, with a slight preference for >>>>> `log_softmax`. >>>>>> >>>>>>> >>>>>>> I would like to implement logsoftmax(x) as x-logsumexp(x). Actually, >>>>> special.softmax(x) = np.exp(x-logsumexp(x)), so it is trivial for those who >>>>> read the source code of softmax, but I think including logsoftmax as a >>>>> separate function will be useful for other users. Logsoftmax is more >>>>> accurate with inputs that make softmax saturate, eg: When x=[1000, 0], >>>>> np.log(softmax(x))=[0, -Inf] (maybe depending on the floating point >>>>> precision), while logsoftmax(x)=[0, -1000]. >>>>>>> >>>>>>> I am planning to add the new function at the bottom of >>>>> special/_logsumexp.py following the softmax function, and add some unit >>>>> tests in special/test/test_logsumexp.py. If you have comments, I?d >>>>> appreciate any. >>>>>> >>>>>> >>>>>> That seems like a good place. >>>>>> >>>>>> Cheers, >>>>>> Ralf >>>>>> >>>>>>> >>>>>>> Best wishes, >>>>>>> -- >>>>>>> Takuya KOUMURA >>>>>>> koumura at cycentum.com >>>>>>> _______________________________________________ >>>>>>> SciPy-Dev mailing list >>>>>>> SciPy-Dev at python.org >>>>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>>> >>>>>> _______________________________________________ >>>>>> SciPy-Dev mailing list >>>>>> SciPy-Dev at python.org >>>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>> _______________________________________________ >>>>> SciPy-Dev mailing list >>>>> SciPy-Dev at python.org >>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>> >>>> >>>> >>>> -- >>>> -- >>>> Takuya KOUMURA >>>> koumura at cycentum.com >>>> >>> >>> >>> -- >>> -- >>> Takuya KOUMURA >>> koumura at cycentum.com >>> _______________________________________________ >>> SciPy-Dev mailing list >>> SciPy-Dev at python.org >>> https://mail.python.org/mailman/listinfo/scipy-dev >>> >> _______________________________________________ >> SciPy-Dev mailing list >> SciPy-Dev at python.org >> https://mail.python.org/mailman/listinfo/scipy-dev >> > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: > > ------------------------------ > > Message: 2 > Date: Fri, 6 Dec 2019 21:10:36 -0800 > From: Ralf Gommers > To: SciPy Developers List > Subject: Re: [SciPy-Dev] Proposed SciPy 1.4.0 Release Schedule > Message-ID: > > Content-Type: text/plain; charset="utf-8" > >> On Fri, Dec 6, 2019 at 4:59 PM Tyler Reddy wrote: >> >> I believe the temporary reversion to the last blocker (dtype=object array >> creation deprecation matter) was merged into NumPy master today, so the >> nightly NumPy wheels that are "blocking" the release should be fixed up by >> sometime on the weekend (I hope). I'll try to proceed with rc2 as soon as >> possible. >> > > That reversion isn't all that temporary - it will come back, but in a > different yet-to-be-determined form. It did expose some things we should > clean up in SciPy, but should be fine to ignore for 1.4.0 > > RC2 soon sounds good! > > Cheers, > Ralf > > > >>> On Tue, 3 Dec 2019 at 18:01, CJ Carey wrote: >>> >>> The scipy.sparse PR is merged. >>> >>> On Mon, Dec 2, 2019 at 9:05 PM Tyler Reddy >>> wrote: >>> >>>> I think there are two remaining PRs/issues that could use a boost/review >>>> to get over the line for 1.4.0rc2: >>>> >>>> https://github.com/scipy/scipy/pull/11152 (scipy.stats) >>>> https://github.com/scipy/scipy/pull/11166 (scipy.sparse) >>>> >>>> >>>> >>>> On Fri, 22 Nov 2019 at 16:49, Tyler Reddy >>>> wrote: >>>> >>>>> An attempt at building the wheels for the SciPy 1.3.3 release is >>>>> underway: >>>>> >>>>> https://travis-ci.org/MacPython/scipy-wheels/builds/615811782 >>>>> https://ci.appveyor.com/project/scipy/scipy-wheels/builds/29063776 >>>>> >>>>> If those are successful I will try to get it out soon to address some >>>>> recent >>>>> issues affecting DLL loading and multiprocessing tests. >>>>> >>>>> On Thu, 21 Nov 2019 at 14:01, Tyler Reddy >>>>> wrote: >>>>> >>>>>> First attempt at 1.4.0rc1 wheel builds are now underway, with >>>>>> fingers crossed: >>>>>> >>>>>> https://travis-ci.org/MacPython/scipy-wheels/builds/615256054 >>>>>> https://ci.appveyor.com/project/scipy/scipy-wheels/builds/29034442 >>>>>> >>>>>> On Sun, 17 Nov 2019 at 01:40, Ralf Gommers >>>>>> wrote: >>>>>> >>>>>>> >>>>>>> >>>>>>> On Sat, Nov 16, 2019 at 9:12 PM Tyler Reddy >>>>>>> wrote: >>>>>>> >>>>>>>> I branched maintenance/1.4.x at ~10 pm Mountain Time on Nov. 16/2019. >>>>>>>> >>>>>>> >>>>>>> Awesome, thanks Tyler! >>>>>>> >>>>>>> Ralf >>>>>>> >>>>>>> >>>>>>>> The SciPy master branch is now open for development of version 1.5.0. >>>>>>>> >>>>>>>> Best wishes, >>>>>>>> Tyler >>>>>>>> >>>>>>>> On Fri, 15 Nov 2019 at 22:38, Tyler Reddy >>>>>>>> wrote: >>>>>>>> >>>>>>>>> Please do take a look at the release notes in preparation for 1.4.0 >>>>>>>>> branching: https://github.com/scipy/scipy/pull/11061 >>>>>>>>> >>>>>>>>> The number of pull requests is quite massive (347, I think), so it >>>>>>>>> is a first draft, but I've transcribed the material from the wiki, made a >>>>>>>>> no-doubt-controversial draft of release highlights, and tried to curate >>>>>>>>> author names/mailmap based on the first round of contributor feedback (~144 >>>>>>>>> authors vs. 97 for 1.3.0). >>>>>>>>> >>>>>>>>> On Wed, 13 Nov 2019 at 21:28, Ralf Gommers >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Wed, Nov 13, 2019 at 7:35 PM Tyler Reddy < >>>>>>>>>> tyler.je.reddy at gmail.com> wrote: >>>>>>>>>> >>>>>>>>>>> Alright, shall we aim for a two-day bump on the branching to Nov. >>>>>>>>>>> 16th (Saturday)? I see we're at ~8 PRs with the milestone now, but I also >>>>>>>>>>> still have to work on release notes, etc. >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Thanks, that sounds good! >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> I'm also expecting one or two surprises to pop up in the wheels >>>>>>>>>>> repo given major release + 3.8. >>>>>>>>>>> >>>>>>>>>>> On Wed, 13 Nov 2019 at 20:21, Ralf Gommers < >>>>>>>>>>> ralf.gommers at gmail.com> wrote: >>>>>>>>>>> >>>>>>>>>>>> Hi Tyler, are you still planning to branch 1.4.x tomorrow? It >>>>>>>>>>>> looks like there's no real blockers, but there's a bunch of stuff that >>>>>>>>>>>> people seem to be scrambling to get in, so perhaps a 24-48 hour bump could >>>>>>>>>>>> be useful. >>>>>>>>>>>> >>>>>>>>>>>> Cheers, >>>>>>>>>>>> Ralf >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On Tue, Nov 12, 2019 at 8:31 AM Tyler Reddy < >>>>>>>>>>>> tyler.je.reddy at gmail.com> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Down to 12 open PRs with 1.4.0 milestone--getting closer! >>>>>>>>>>>>> >>>>>>>>>>>>> On Sat, 9 Nov 2019 at 21:40, Tyler Reddy < >>>>>>>>>>>>> tyler.je.reddy at gmail.com> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>>> We currently sit at 31 open PRs and 20 open issues with 1.4.0 >>>>>>>>>>>>>> milestone. >>>>>>>>>>>>>> >>>>>>>>>>>>>> That's a substantial drop in PRs but a rise in issues since >>>>>>>>>>>>>> the last accounting. Things got >>>>>>>>>>>>>> a little hectic with Python 3.8 for 1.3.2, but hopefully the >>>>>>>>>>>>>> wheels stuff is in good shape >>>>>>>>>>>>>> for 1.4.x series now. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Branching in about 5 days is ambitious, but let's aim to stay >>>>>>>>>>>>>> reasonably on track if possible. >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Mon, 21 Oct 2019 at 13:39, Matt Haberland < >>>>>>>>>>>>>> haberland at ucla.edu> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> Re: 1.2.3 release, I did get a request in gh-10915 >>>>>>>>>>>>>>> for gh-10498 >>>>>>>>>>>>>>> to be backported >>>>>>>>>>>>>>> to 1.2. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On Mon, Oct 21, 2019 at 8:47 AM Ralf Gommers < >>>>>>>>>>>>>>> ralf.gommers at gmail.com> wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On Sat, Oct 19, 2019 at 12:24 AM Tyler Reddy < >>>>>>>>>>>>>>>> tyler.je.reddy at gmail.com> wrote: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Hi, >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> SciPy 1.3.0 was released May 17 (5 months ago), and I think >>>>>>>>>>>>>>>>> we'd like to keep a roughly biannual release cadence. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> I'd like to propose the following schedule for 1.4.0: >>>>>>>>>>>>>>>>> - November 14: branch 1.4.x >>>>>>>>>>>>>>>>> - November 17: rc1 >>>>>>>>>>>>>>>>> - December 1: rc2 (if needed) >>>>>>>>>>>>>>>>> - December 10: final release >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Sounds good to me. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> The arrival of Python 3.8 and simultaneous responsibility >>>>>>>>>>>>>>>>> to get at least one more 1.2.x LTS Python 2.7 release out the door means >>>>>>>>>>>>>>>>> things will probably be busy on the release front until 2020. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> True. I think supporting 3.8 is fairly high-prio, there's a >>>>>>>>>>>>>>>> lot of demand for it. Doing a 1.3.2 release that supports it would make >>>>>>>>>>>>>>>> sense I guess. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> There don't seem to be any new commits on the 1.2.x branch >>>>>>>>>>>>>>>> nor urgent Python 2.7 fixes that need to go out. So do we need a 1.2.3 >>>>>>>>>>>>>>>> release? >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Cheers, >>>>>>>>>>>>>>>> Ralf >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> As always, it is a good idea to start tagging things that >>>>>>>>>>>>>>>>> should be in 1.4.0 & please do help with reviewing PRs/issues that are >>>>>>>>>>>>>>>>> tagged--current counts are: >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> - PRs: 40 open with 1.4.0 milestone >>>>>>>>>>>>>>>>> - issues: 17 open with 1.4.0 milestone >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> While helping with that, also great if the release notes >>>>>>>>>>>>>>>>> wiki is updated for appropriate changes: >>>>>>>>>>>>>>>>> https://github.com/scipy/scipy/wiki/Release-note-entries-for-SciPy-1.4.0 >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Curating those final notes can be painful if the wiki isn't >>>>>>>>>>>>>>>>> updated. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Thoughts/objections for the schedule? >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Best wishes, >>>>>>>>>>>>>>>>> Tyler >>>>>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>>>>> SciPy-Dev mailing list >>>>>>>>>>>>>>>>> SciPy-Dev at python.org >>>>>>>>>>>>>>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>>>> SciPy-Dev mailing list >>>>>>>>>>>>>>>> SciPy-Dev at python.org >>>>>>>>>>>>>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>> Matt Haberland >>>>>>>>>>>>>>> Assistant Adjunct Professor in the Program in Computing >>>>>>>>>>>>>>> Department of Mathematics >>>>>>>>>>>>>>> 6617A Math Sciences Building, UCLA >>>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>>>> SciPy-Dev mailing list >>>>>>>>>>>>>>> SciPy-Dev at python.org >>>>>>>>>>>>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>>>>>>>>>>>> >>>>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>>> SciPy-Dev mailing list >>>>>>>>>>>>> SciPy-Dev at python.org >>>>>>>>>>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>>>>>>>>>> >>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>> SciPy-Dev mailing list >>>>>>>>>>>> SciPy-Dev at python.org >>>>>>>>>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>>>>>>>>> >>>>>>>>>>> _______________________________________________ >>>>>>>>>>> SciPy-Dev mailing list >>>>>>>>>>> SciPy-Dev at python.org >>>>>>>>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> SciPy-Dev mailing list >>>>>>>>>> SciPy-Dev at python.org >>>>>>>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>> SciPy-Dev mailing list >>>>>>>> SciPy-Dev at python.org >>>>>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>>>>> >>>>>>> _______________________________________________ >>>>>>> SciPy-Dev mailing list >>>>>>> SciPy-Dev at python.org >>>>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>>>> >>>>>> _______________________________________________ >>>> SciPy-Dev mailing list >>>> SciPy-Dev at python.org >>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>> >>> _______________________________________________ >>> SciPy-Dev mailing list >>> SciPy-Dev at python.org >>> https://mail.python.org/mailman/listinfo/scipy-dev >>> >> _______________________________________________ >> SciPy-Dev mailing list >> SciPy-Dev at python.org >> https://mail.python.org/mailman/listinfo/scipy-dev >> > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: > > ------------------------------ > > Subject: Digest Footer > > _______________________________________________ > SciPy-Dev mailing list > SciPy-Dev at python.org > https://mail.python.org/mailman/listinfo/scipy-dev > > > ------------------------------ > > End of SciPy-Dev Digest, Vol 194, Issue 8 > ***************************************** -------------- next part -------------- An HTML attachment was scrubbed... URL: From koumura at cycentum.com Sat Dec 7 11:58:33 2019 From: koumura at cycentum.com (Takuya Koumura) Date: Sun, 8 Dec 2019 01:58:33 +0900 Subject: [SciPy-Dev] Adding logsoftmax function to scipy.special In-Reply-To: References: Message-ID: Hi Dominik and Ralf, Thank you for your prompt response. I got it! Best, Takuya 2019?12?7?(?) 13:48 Ralf Gommers : > > > On Fri, Dec 6, 2019 at 8:43 PM Dominik Sta?czak > wrote: > >> Hey, >> >> your function may not show up if there's an __all__ variable in that >> module that lists importable functions and you didn't add your function to >> it. Sphinx goes by that one if it's available. >> >> Not sure that's relevant, but it's likely to be. >> >> Cheers, >> Dominik >> >> On Sat, Dec 7, 2019, 05:34 Takuya Koumura wrote: >> >>> Hi, >>> >>> I implemented log_softmax and I wrote a docstring for it. Can anyone >>> tell me how to add the function name to the scipy.special index page ( >>> https://docs.scipy.org/doc/scipy/reference/special.html)? Is it Okay >>> to directly edit the docstring in special/__init__.py? >>> >> > Yes, you need to add your function to __init__.py, right under `softmax` > looks like the correct place. > > And indeed, as Dominic suggests, you also need to add the function name to > `__all__` in the file where you added it - `__all__` is a list of all > public names in each file. > > >> I wonder ?.. autosummary:: :toctree: generated/? indicates it was >>> generated by Sphinx? >>> >> > No, that is a directive to tell Sphinx it should take the functions listed > below it, and generated links and doc pages for those in the html/pdf > output. > > Cheers, > Ralf > > > >> >>> Best regards, >>> Takuya >>> >>> >>> 2019?11?18?(?) 17:38 Takuya Koumura : >>> >>>> Hi Ralf, Josh, and all, >>>> >>>> Thank you for your positive comments and raising potential issues. >>>> >>>> Having read Josh?s comment, I conducted several experiments and found >>>> there indeed is a case where cancellation occurs in my original >>>> implementation, in which log_softmax(x) = x - logsumexp(x) = x - (m + >>>> log(sum(exp(x - m)))) where m = max(x). >>>> >>>> Calculating s = x - m first and using it to calculate log_softmax(x) = >>>> s - logsumexp(s) should decrease the chance of cancellation because it does >>>> not involve subtraction other than x - m. Note that s is always <=0, so s - >>>> log(sum(exp(s))) is actually addition of negative values. >>>> Also, reusing s may be a bit more efficient in computational time. >>>> >>>> Best, >>>> Takuya >>>> >>>> >>>> 2019?11?18?(?) 3:51 Joshua Wilson : >>>> >>>>> > I would like to implement logsoftmax(x) as x-logsumexp(x) >>>>> >>>>> The function seems reasonable to add, but I am not so sure about that >>>>> implementation, as it appears that it could lead to cancellation. >>>>> Note, for example, that because of the scaling `logsumexp` does to >>>>> prevent overflow, with that implementation you will end up adding and >>>>> subtracting the component `x_i` of the largest magnitude when >>>>> computing the `i`th component of the results array, see e.g. >>>>> >>>>> >>>>> https://github.com/scipy/scipy/blob/master/scipy/special/_logsumexp.py#L124 >>>>> >>>>> Off the top of my head, it is not obvious to me that situations >>>>> similar to that will not lead to cancellation errors. >>>>> >>>>> Of course, I might be wrong, but my overall point is that in order to >>>>> use a particular implementation we should have a reasonable >>>>> understanding of its theoretical properties, so I would like to see >>>>> some exploration of that before proceeding. >>>>> >>>>> - Josh >>>>> >>>>> On Fri, Nov 15, 2019 at 5:17 PM Ralf Gommers >>>>> wrote: >>>>> > >>>>> > Hi Takuya, >>>>> > >>>>> > >>>>> > On Tue, Nov 12, 2019 at 9:05 PM Takuya Koumura >>>>> wrote: >>>>> >> >>>>> >> Hello, >>>>> >> >>>>> >> I raised a GitHub issue (#11058) and was suggested to post it to >>>>> scipy-dev. >>>>> >> >>>>> >> I?m considering to send a PR to add logsoftmax function in >>>>> scipy.special. Before that, I would like to hear your opinion (partly >>>>> because it?s my first time to send a PR to scipy). >>>>> > >>>>> > >>>>> > Welcome! Thanks for proposing that. logsoftmax is fairly popular at >>>>> least in deep learning, so it makes sense I think, and we already have a >>>>> bunch of other log* functions in scipy.special. >>>>> > >>>>> > I noticed that both PyTorch and Tensorflow name this function >>>>> `log_softmax` rather than `logsoftmax`. The latter would be a little more >>>>> consistent with other functions (although we also have `special.log_ndtr`), >>>>> while the former is consistent with other implementations of the same >>>>> functionality. I'd be okay with either, with a slight preference for >>>>> `log_softmax`. >>>>> > >>>>> >> >>>>> >> I would like to implement logsoftmax(x) as x-logsumexp(x). >>>>> Actually, special.softmax(x) = np.exp(x-logsumexp(x)), so it is trivial for >>>>> those who read the source code of softmax, but I think including logsoftmax >>>>> as a separate function will be useful for other users. Logsoftmax is more >>>>> accurate with inputs that make softmax saturate, eg: When x=[1000, 0], >>>>> np.log(softmax(x))=[0, -Inf] (maybe depending on the floating point >>>>> precision), while logsoftmax(x)=[0, -1000]. >>>>> >> >>>>> >> I am planning to add the new function at the bottom of >>>>> special/_logsumexp.py following the softmax function, and add some unit >>>>> tests in special/test/test_logsumexp.py. If you have comments, I?d >>>>> appreciate any. >>>>> > >>>>> > >>>>> > That seems like a good place. >>>>> > >>>>> > Cheers, >>>>> > Ralf >>>>> > >>>>> >> >>>>> >> Best wishes, >>>>> >> -- >>>>> >> Takuya KOUMURA >>>>> >> koumura at cycentum.com >>>>> >> _______________________________________________ >>>>> >> SciPy-Dev mailing list >>>>> >> SciPy-Dev at python.org >>>>> >> https://mail.python.org/mailman/listinfo/scipy-dev >>>>> > >>>>> > _______________________________________________ >>>>> > SciPy-Dev mailing list >>>>> > SciPy-Dev at python.org >>>>> > https://mail.python.org/mailman/listinfo/scipy-dev >>>>> _______________________________________________ >>>>> SciPy-Dev mailing list >>>>> SciPy-Dev at python.org >>>>> https://mail.python.org/mailman/listinfo/scipy-dev >>>>> >>>> >>>> >>>> -- >>>> -- >>>> Takuya KOUMURA >>>> koumura at cycentum.com >>>> >>> >>> >>> -- >>> -- >>> Takuya KOUMURA >>> koumura at cycentum.com >>> _______________________________________________ >>> SciPy-Dev mailing list >>> SciPy-Dev at python.org >>> https://mail.python.org/mailman/listinfo/scipy-dev >>> >> _______________________________________________ >> SciPy-Dev mailing list >> SciPy-Dev at python.org >> https://mail.python.org/mailman/listinfo/scipy-dev >> > _______________________________________________ > SciPy-Dev mailing list > SciPy-Dev at python.org > https://mail.python.org/mailman/listinfo/scipy-dev > -- -- Takuya KOUMURA koumura at cycentum.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From tyler.je.reddy at gmail.com Sun Dec 8 15:53:51 2019 From: tyler.je.reddy at gmail.com (Tyler Reddy) Date: Sun, 8 Dec 2019 13:53:51 -0700 Subject: [SciPy-Dev] ANN: SciPy 1.4.0rc2 -- please test Message-ID: -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Hi all, On behalf of the SciPy development team I'm pleased to announce the release candidate SciPy 1.4.0rc2. Please help us test this pre-release. Sources and binary wheels can be found at: https://pypi.org/project/scipy/ and at: https://github.com/scipy/scipy/releases/tag/v1.4.0rc2 One of a few ways to install the release candidate with pip: pip install scipy==1.4.0rc2 ========================== SciPy 1.4.0 Release Notes ========================== Note: Scipy 1.4.0 is not released yet! SciPy 1.4.0 is the culmination of 6 months of hard work. It contains many new features, numerous bug-fixes, improved test coverage and better documentation. There have been a number of deprecations and API changes in this release, which are documented below. All users are encouraged to upgrade to this release, as there are a large number of bug-fixes and optimizations. Before upgrading, we recommend that users check that their own code does not use deprecated SciPy functionality (to do so, run your code with ``python -Wd`` and check for ``DeprecationWarning`` s). Our development attention will now shift to bug-fix releases on the 1.4.x branch, and on adding new features on the master branch. This release requires Python 3.5+ and NumPy >=1.13.3 (for Python 3.5, 3.6), >=1.14.5 (for Python 3.7), >= 1.17.3 (for Python 3.8) For running on PyPy, PyPy3 6.0+ and NumPy 1.15.0 are required. Highlights of this release ----------------------------------- - a new submodule, `scipy.fft`, now supersedes `scipy.fftpack`; this means support for ``long double`` transforms, faster multi-dimensional transforms, improved algorithm time complexity, release of the global intepreter lock, and control over threading behavior - support for ``pydata/sparse`` arrays in `scipy.sparse.linalg` - substantial improvement to the documentation and functionality of several `scipy.special` functions, and some new additions - the generalized inverse Gaussian distribution has been added to `scipy.stats` - an implementation of the Edmonds-Karp algorithm in `scipy.sparse.csgraph.maximum_flow` - `scipy.spatial.SphericalVoronoi` now supports n-dimensional input, has linear memory complexity, improved performance, and supports single-hemisphere generators New features ============ Infrastructure -------------------- Documentation can now be built with ``runtests.py --doc`` A ``Dockerfile`` is now available in the ``scipy/scipy-dev`` repository to facilitate getting started with SciPy development. `scipy.constants` improvements ---------------------------------------------- `scipy.constants` has been updated with the CODATA 2018 constants. `scipy.fft` added ----------------------- `scipy.fft` is a new submodule that supersedes the `scipy.fftpack` submodule. For the most part, this is a drop-in replacement for ``numpy.fft`` and `scipy.fftpack` alike. With some important differences, `scipy.fft`: - uses NumPy's conventions for real transforms (``rfft``). This means the return value is a complex array, half the size of the full ``fft`` output. This is different from the output of ``fftpack`` which returned a real array representing complex components packed together. - the inverse real to real transforms (``idct`` and ``idst``) are normalized for ``norm=None`` in thesame way as ``ifft``. This means the identity ``idct(dct(x)) == x`` is now ``True`` for all norm modes. - does not include the convolutions or pseudo-differential operators from ``fftpack``. This submodule is based on the ``pypocketfft`` library, developed by the author of ``pocketfft`` which was recently adopted by NumPy as well. ``pypocketfft`` offers a number of advantages over fortran ``FFTPACK``: - support for long double (``np.longfloat``) precision transforms. - faster multi-dimensional transforms using vectorisation - Bluestein?s algorithm removes the worst-case ``O(n^2)`` complexity of ``FFTPACK`` - the global interpreter lock (``GIL``) is released during transforms - optional multithreading of multi-dimensional transforms via the ``workers`` argument Note that `scipy.fftpack` has not been deprecated and will continue to be maintained but is now considered legacy. New code is recommended to use `scipy.fft` instead, where possible. `scipy.fftpack` improvements ---------------------------------------- `scipy.fftpack` now uses pypocketfft to perform its FFTs, offering the same speed and accuracy benefits listed for scipy.fft above but without the improved API. `scipy.integrate` improvements ------------------------------------------- The function `scipy.integrate.solve_ivp` now has an ``args`` argument. This allows the user-defined functions passed to the function to have additional parameters without having to create wrapper functions or lambda expressions for them. `scipy.integrate.solve_ivp` can now return a ``y_events`` attribute representing the solution of the ODE at event times New ``OdeSolver`` is implemented --- ``DOP853``. This is a high-order explicit Runge-Kutta method originally implemented in Fortran. Now we provide a pure Python implementation usable through ``solve_ivp`` with all its features. `scipy.integrate.quad` provides better user feedback when break points are specified with a weighted integrand. `scipy.integrate.quad_vec` is now available for general purpose integration of vector-valued functions `scipy.interpolate` improvements -------------------------------------------- `scipy.interpolate.pade` now handles complex input data gracefully `scipy.interpolate.Rbf` can now interpolate multi-dimensional functions `scipy.io` improvements --------------------------------- `scipy.io.wavfile.read` can now read data from a `WAV` file that has a malformed header, similar to other modern `WAV` file parsers `scipy.io.FortranFile` now has an expanded set of available ``Exception`` classes for handling poorly-formatted files `scipy.linalg` improvements -------------------------------------- The function ``scipy.linalg.subspace_angles(A, B)`` now gives correct results for complex-valued matrices. Before this, the function only returned correct values for real-valued matrices. New boolean keyword argument ``check_finite`` for `scipy.linalg.norm`; whether to check that the input matrix contains only finite numbers. Disabling may give a performance gain, but may result in problems (crashes, non-termination) if the inputs do contain infinities or NaNs. `scipy.linalg.solve_triangular` has improved performance for a C-ordered triangular matrix ``LAPACK`` wrappers have been added for ``?geequ``, ``?geequb``, ``?syequb``, and ``?heequb`` Some performance improvements may be observed due to an internal optimization in operations involving LAPACK routines via ``_compute_lwork``. This is particularly true for operations on small arrays. Block ``QR`` wrappers are now available in `scipy.linalg.lapack` `scipy.ndimage` improvements ------------------------------------------ `scipy.optimize` improvements ------------------------------------------ It is now possible to use linear and non-linear constraints with `scipy.optimize.differential_evolution`. `scipy.optimize.linear_sum_assignment` has been re-written in C++ to improve performance, and now allows input costs to be infinite. A ``ScalarFunction.fun_and_grad`` method was added for convenient simultaneous retrieval of a function and gradient evaluation `scipy.optimize.minimize` ``BFGS`` method has improved performance by avoiding duplicate evaluations in some cases Better user feedback is provided when an objective function returns an array instead of a scalar. `scipy.signal` improvements --------------------------------------- Added a new function to calculate convolution using the overlap-add method, named `scipy.signal.oaconvolve`. Like `scipy.signal.fftconvolve`, this function supports specifying dimensions along which to do the convolution. `scipy.signal.cwt` now supports complex wavelets. The implementation of ``choose_conv_method`` has been updated to reflect the new FFT implementation. In addition, the performance has been significantly improved (with rather drastic improvements in edge cases). The function ``upfirdn`` now has a ``mode`` keyword argument that can be used to select the signal extension mode used at the signal boundaries. These modes are also available for use in ``resample_poly`` via a newly added ``padtype`` argument. `scipy.signal.sosfilt` now benefits from Cython code for improved performance `scipy.signal.resample` should be more efficient by leveraging ``rfft`` when possible `scipy.sparse` improvements ---------------------------------------- It is now possible to use the LOBPCG method in `scipy.sparse.linalg.svds`. `scipy.sparse.linalg.LinearOperator` now supports the operation ``rmatmat`` for adjoint matrix-matrix multiplication, in addition to ``rmatvec``. Multiple stability updates enable float32 support in the LOBPCG eigenvalue solver for symmetric and Hermitian eigenvalues problems in ``scipy.sparse.linalg.lobpcg``. A solver for the maximum flow problem has been added as `scipy.sparse.csgraph.maximum_flow`. `scipy.sparse.csgraph.maximum_bipartite_matching` now allows non-square inputs, no longer requires a perfect matching to exist, and has improved performance. `scipy.sparse.lil_matrix` conversions now perform better in some scenarios Basic support is available for ``pydata/sparse`` arrays in `scipy.sparse.linalg` `scipy.sparse.linalg.spsolve_triangular` now supports the ``unit_diagonal`` argument to improve call signature similarity with its dense counterpart, `scipy.linalg.solve_triangular` ``assertAlmostEqual`` may now be used with sparse matrices, which have added support for ``__round__`` `scipy.spatial` improvements -------------------------------------- The bundled Qhull library was upgraded to version 2019.1, fixing several issues. Scipy-specific patches are no longer applied to it. `scipy.spatial.SphericalVoronoi` now has linear memory complexity, improved performance, and supports single-hemisphere generators. Support has also been added for handling generators that lie on a great circle arc (geodesic input) and for generators in n-dimensions. `scipy.spatial.transform.Rotation` now includes functions for calculation of a mean rotation, generation of the 3D rotation groups, and reduction of rotations with rotational symmetries. `scipy.spatial.transform.Slerp` is now callable with a scalar argument `scipy.spatial.voronoi_plot_2d` now supports furthest site Voronoi diagrams `scipy.spatial.Delaunay` and `scipy.spatial.Voronoi` now have attributes for tracking whether they are furthest site diagrams `scipy.special` improvements --------------------------------------- The Voigt profile has been added as `scipy.special.voigt_profile`. A real dispatch has been added for the Wright Omega function (`scipy.special.wrightomega`). The analytic continuation of the Riemann zeta function has been added. (The Riemann zeta function is the one-argument variant of `scipy.special.zeta`.) The complete elliptic integral of the first kind (`scipy.special.ellipk`) is now available in `scipy.special.cython_special`. The accuracy of `scipy.special.hyp1f1` for real arguments has been improved. The documentation of many functions has been improved. `scipy.stats` improvements ------------------------------------- `scipy.stats.multiscale_graphcorr` added as an independence test that operates on high dimensional and nonlinear data sets. It has higher statistical power than other `scipy.stats` tests while being the only one that operates on multivariate data. The generalized inverse Gaussian distribution (`scipy.stats.geninvgauss`) has been added. It is now possible to efficiently reuse `scipy.stats.binned_statistic_dd` with new values by providing the result of a previous call to the function. `scipy.stats.hmean` now handles input with zeros more gracefully. The beta-binomial distribution is now available in `scipy.stats.betabinom`. `scipy.stats.zscore`, `scipy.stats.circmean`, `scipy.stats.circstd`, and `scipy.stats.circvar` now support the ``nan_policy`` argument for enhanced handling of ``NaN`` values `scipy.stats.entropy` now accepts an ``axis`` argument `scipy.stats.gaussian_kde.resample` now accepts a ``seed`` argument to empower reproducibility `scipy.stats.kendalltau` performance has improved, especially for large inputs, due to improved cache usage `scipy.stats.truncnorm` distribution has been rewritten to support much wider tails Deprecated features =================== `scipy` deprecations ---------------------------- Support for NumPy functions exposed via the root SciPy namespace is deprecated and will be removed in 2.0.0. For example, if you use ``scipy.rand`` or ``scipy.diag``, you should change your code to directly use ``numpy.random.default_rng`` or ``numpy.diag``, respectively. They remain available in the currently continuing Scipy 1.x release series. The exception to this rule is using ``scipy.fft`` as a function -- :mod:`scipy.fft` is now meant to be used only as a module, so the ability to call ``scipy.fft(...)`` will be removed in SciPy 1.5.0. In `scipy.spatial.Rotation` methods ``from_dcm``, ``as_dcm`` were renamed to ``from_matrix``, ``as_matrix`` respectively. The old names will be removed in SciPy 1.6.0. Method ``Rotation.match_vectors`` was deprecated in favor of ``Rotation.align_vectors``, which provides a more logical and general API to the same functionality. The old method will be removed in SciPy 1.6.0. Backwards incompatible changes ============================== `scipy.special` changes -------------------------------- The deprecated functions ``hyp2f0``, ``hyp1f2``, and ``hyp3f0`` have been removed. The deprecated function ``bessel_diff_formula`` has been removed. The function ``i0`` is no longer registered with ``numpy.dual``, so that ``numpy.dual.i0`` will unconditionally refer to the NumPy version regardless of whether `scipy.special` is imported. The function ``expn`` has been changed to return ``nan`` outside of its domain of definition (``x, n < 0``) instead of ``inf``. `scipy.sparse` changes -------------------------------- Sparse matrix reshape now raises an error if shape is not two-dimensional, rather than guessing what was meant. The behavior is now the same as before SciPy 1.1.0. ``CSR`` and ``CSC`` sparse matrix classes should now return empty matrices of the same type when indexed out of bounds. Previously, for some versions of SciPy, this would raise an ``IndexError``. The change is largely motivated by greater consistency with ``ndarray`` and ``numpy.matrix`` semantics. `scipy.signal` changes ------------------------------ `scipy.signal.resample` behavior for length-1 signal inputs has been fixed to output a constant (DC) value rather than an impulse, consistent with the assumption of signal periodicity in the FFT method. `scipy.signal.cwt` now performs complex conjugation and time-reversal of wavelet data, which is a backwards-incompatible bugfix for time-asymmetric wavelets. `scipy.stats` changes ----------------------------- `scipy.stats.loguniform` added with better documentation as (an alias for ``scipy.stats.reciprocal``). ``loguniform`` generates random variables that are equally likely in the log space; e.g., ``1``, ``10`` and ``100`` are all equally likely if ``loguniform(10 ** 0, 10 ** 2).rvs()`` is used. Other changes ============= The ``LSODA`` method of `scipy.integrate.solve_ivp` now correctly detects stiff problems. `scipy.spatial.cKDTree` now accepts and correctly handles empty input data `scipy.stats.binned_statistic_dd` now calculates the standard deviation statistic in a numerically stable way. `scipy.stats.binned_statistic_dd` now throws an error if the input data contains either ``np.nan`` or ``np.inf``. Similarly, in `scipy.stats` now all continuous distributions' ``.fit()`` methods throw an error if the input data contain any instance of either ``np.nan`` or ``np.inf``. Authors ======= * @endolith * @wenhui-prudencemed + * Abhinav + * Anne Archibald * ashwinpathak20nov1996 + * Danilo Augusto + * Nelson Auner + * aypiggott + * Christoph Baumgarten * Peter Bell * Sebastian Berg * Arman Bilge + * Benedikt Boecking + * Christoph Boeddeker + * Daniel Bunting * Evgeni Burovski * Angeline Burrell + * Angeline G. Burrell + * CJ Carey * Carlos Ramos Carre?o + * Mak Sze Chun + * Malayaja Chutani + * Christian Clauss + * Jonathan Conroy + * Stephen P Cook + * Dylan Cutler + * Anirudh Dagar + * Aidan Dang + * dankleeman + * Brandon David + * Tyler Dawson + * Dieter Werthm?ller * Joe Driscoll + * Jakub Dyczek + * D?vid Bodn?r * Fletcher Easton + * Stefan Endres * etienne + * Johann Faouzi * Yu Feng * Isuru Fernando + * Matthew H Flamm * Martin Gauch + * Gabriel Gerlero + * Ralf Gommers * Chris Gorgolewski + * Domen Gorjup + * Edouard Goudenhoofdt + * Jan Gwinner + * Maja Gwozdz + * Matt Haberland * hadshirt + * Pierre Haessig + * David Hagen * Charles Harris * Gina Helfrich + * Alex Henrie + * Francisco J. Hernandez Heras + * Andreas Hilboll * Lindsey Hiltner * Thomas Hisch * Min ho Kim + * Gert-Ludwig Ingold * jakobjakobson13 + * Todd Jennings * He Jia * Muhammad Firmansyah Kasim + * Andrew Knyazev + * Holger Kohr + * Mateusz Konieczny + * Krzysztof Pi?ro + * Philipp Lang + * Peter Mahler Larsen + * Eric Larson * Antony Lee * Gregory R. Lee * Chelsea Liu + * Jesse Livezey * Peter Lysakovski + * Jason Manley + * Michael Marien + * Nikolay Mayorov * G. D. McBain + * Sam McCormack + * Melissa Weber Mendon?a + * Kevin Michel + * mikeWShef + * Sturla Molden * Eric Moore * Peyton Murray + * Andrew Nelson * Clement Ng + * Juan Nunez-Iglesias * Renee Otten + * Kellie Ottoboni + * Ayappan P * Sambit Panda + * Tapasweni Pathak + * Oleksandr Pavlyk * Fabian Pedregosa * Petar Mlinari? * Matti Picus * Marcel Plch + * Christoph Pohl + * Ilhan Polat * Siddhesh Poyarekar + * Ioannis Prapas + * James Alan Preiss + * Yisheng Qiu + * Eric Quintero * Bharat Raghunathan + * Tyler Reddy * Joscha Reimer * Antonio Horta Ribeiro * Lucas Roberts * rtshort + * Josua Sassen * Kevin Sheppard * Scott Sievert * Leo Singer * Kai Striega * S?ren Fuglede J?rgensen * tborisow + * ?tienne Tremblay + * tuxcell + * Miguel de Val-Borro * Andrew Valentine + * Hugo van Kemenade * Paul van Mulbregt * Sebastiano Vigna * Pauli Virtanen * Dany Vohl + * Ben Walsh + * Huize Wang + * Warren Weckesser * Anreas Weh + * Joseph Weston + * Adrian Wijaya + * Timothy Willard + * Josh Wilson * Kentaro Yamamoto + * Dave Zbarsky + A total of 142 people contributed to this release. People with a "+" by their names contributed a patch for the first time. This list of names is automatically generated, and may not be fully complete. Issues closed for 1.4.0 -------------------------------- * `#1255 `__: maxiter broken for Scipy.sparse.linalg gmres, in addition to... * `#1301 `__: consolidate multipack.h from interpolate and integrate packages... * `#1739 `__: Single precision FFT insufficiently accurate. (Trac #1212) * `#1795 `__: stats test_distributions.py: replace old fuzz tests (Trac #1269) * `#2233 `__: fftpack segfault with big arrays (Trac #1714) * `#2434 `__: rmatmat and the sophistication of linear operator objects * `#2477 `__: stats.truncnorm.rvs() does not give symmetric results for negative... * `#2629 `__: FFTpack is unacceptably slow on non power of 2 * `#2883 `__: UnboundLocalError in scipy.interpolate.splrep * `#2956 `__: Feature Request: axis argument for stats.entropy function * `#3528 `__: Segfault on test_djbfft (possibly MKL-related?) * `#3793 `__: cwt should also return complex array * `#4464 `__: TST: residue/residuez/invres/invresz don't have any tests * `#4561 `__: BUG: tf filter trailing and leading zeros in residuez * `#4669 `__: Rewrite sosfilt to make a single loop over the input? * `#5040 `__: BUG: Empty data handling of (c)KDTrees * `#5112 `__: boxcox transform edge cases could use more care * `#5441 `__: scipy.stats.ncx2 fails for nc=0 * `#5502 `__: args keyword not handled in optimize.curve_fit * `#6484 `__: Qhull segmentation fault * `#6900 `__: linear_sum_assignment with infinite weights * `#6966 `__: Hypergeometric Functions documentation is lacking * `#6999 `__: possible false positive corruption check in compressed loadmat() * `#7018 `__: ydata that needs broadcasting renders curve_fit unable to compute... * `#7140 `__: trouble with documentation for windows * `#7327 `__: interpolate.ndgriddata.griddata causes Python to crash rather... * `#7396 `__: MatrixLinearOperator implements _adjoint(), but not _transpose() * `#7400 `__: BUG(?): special: factorial and factorial2 return a 0-dimensional... * `#7434 `__: Testing of scipy.stats continuous distributions misses 25 distributions * `#7491 `__: Several scipy.stats distributions (fisk, burr, burr12, f) return... * `#7759 `__: Overflow in stats.kruskal for large samples * `#7906 `__: Wrong result from scipy.interpolate.UnivariateSpline.integral... * `#8165 `__: ENH: match functionality of R for hmean * `#8417 `__: optimimze.minimize(method='L-BFGS-B', options={'disp': True})... * `#8535 `__: Strictly increasing requirement in UnivariateSpline * `#8815 `__: [BUG] GMRES: number of iteration is only increased if callback... * `#9207 `__: scipy.linalg.solve_triangular speed after scipy.linalg.lu_factor * `#9275 `__: new feature: adding LOBPCG solver in svds in addition to ARPACK * `#9403 `__: range of truncnorm.logpdf could be extended * `#9429 `__: gaussian_kde not working with numpy matrix * `#9515 `__: ndimage implementation relies on undefined behavior * `#9643 `__: arpack returns singular values in ascending order * `#9669 `__: DOC: matthew-brett/build-openblas has been retired * `#9852 `__: scipy.spatial.ConvexHull exit with code 134, free(): invalid... * `#9902 `__: scipy.stats.truncnorm second moment may be wrong * `#9943 `__: Custom sampling methods in shgo do not work * `#9947 `__: DOC: Incorrect documentation for \`nan_policy='propagate\` in... * `#9994 `__: BUG: sparse: reshape method allows a shape containing an arbitrary... * `#10036 `__: Official Nelder mead tutorial uses xtol instead of xatol, which... * `#10078 `__: possible to get a better error message when objective function... * `#10092 `__: overflow in truncnorm.rvs * `#10121 `__: A little spelling mistake * `#10126 `__: inaccurate std implementation in binned_statistic * `#10161 `__: Error in documentation scipy.special.modstruve * `#10195 `__: Derivative of spline with 'const' extrapolation is also extrapolted... * `#10206 `__: sparse matrices indexing with scipy 1.3 * `#10236 `__: Non-descriptive error on type mismatch for functions of scipy.optimize... * `#10258 `__: LOBPCG convergence failure if guess provided * `#10262 `__: distance matrix lacks dtype checks / warnings * `#10271 `__: BUG: optimize failure on wheels * `#10277 `__: scipy.special.zeta(0) = NAN * `#10292 `__: DOC/REL: Some sections of the release notes are not nested correctly. * `#10300 `__: scipy.stats.rv_continuous.fit throws empty RuntimeError when... * `#10319 `__: events in scipy.integrate.solve_ivp: How do I setup an events... * `#10323 `__: Adding more low-level LAPACK wrappers * `#10360 `__: firwin2 inadvertently modifies input and may result in undefined... * `#10388 `__: BLD: TestHerd::test_hetrd core dumps with Python-dbg * `#10395 `__: Remove warning about output shape of zoom * `#10403 `__: DOC: scipy.signal.resample ignores t parameter * `#10421 `__: Yeo-Johnson power transformation fails with integer input data * `#10422 `__: BUG: scipy.fft does not support multiprocessing * `#10427 `__: ENH: convolve numbers should be updated * `#10444 `__: BUG: scipy.spatial.transform.Rotation.match_vectors returns improper... * `#10488 `__: ENH: DCTs/DSTs for scipy.fft * `#10501 `__: BUG: scipy.spatial.HalfspaceIntersection works incorrectly * `#10514 `__: BUG: cKDTree GIL handling is incorrect * `#10535 `__: TST: master branch CI failures * `#10588 `__: scipy.fft and numpy.fft inconsistency when axes=None and shape... * `#10628 `__: Scipy python>3.6 Windows wheels don't ship msvcp\*.dll * `#10733 `__: DOC/BUG: min_only result does not match documentation * `#10774 `__: min_only=true djisktra infinite loop with duplicate indices * `#10775 `__: UnboundLocalError in Radau when given a NaN * `#10835 `__: io.wavfile.read unnecessarily raises an error for a bad wav header * `#10838 `__: Error in documentation for scipy.linalg.lu_factor * `#10875 `__: DOC: Graphical guides (using TikZ) * `#10880 `__: setting verbose > 2 in minimize with trust-constr method leads... * `#10887 `__: scipy.signal.signaltools._fftconv_faster has incorrect estimates * `#10948 `__: gammainc(0,x) = nan but should be 1, gammaincc(0,x) = nan but... * `#10952 `__: TestQRdelete_F.test_delete_last_p_col test failure * `#10968 `__: API: Change normalized=False to normalize=True in Rotation * `#10987 `__: Memory leak in shgo triangulation * `#10991 `__: Error running openBlas probably missing a step * `#11033 `__: deadlock on osx for python 3.8 * `#11041 `__: Test failure in wheel builds for TestTf2zpk.test_simple * `#11089 `__: Regression in scipy.stats where distribution will not accept loc and scale parameters * `#11100 `__: BUG: multiscale_graphcorr random state seeding and parallel use * `#11121 `__: Calls to `scipy.interpolate.splprep` increase RAM usage. * `#11125 `__: BUG: segfault when slicing a CSR or CSC sparse matrix with slice start index > stop index Pull requests for 1.4.0 ------------------------------- * `#4591 `__: BUG, TST: Several issues with scipy.signal.residue * `#6629 `__: ENH: sparse: canonicalize on initialization * `#7076 `__: ENH: add complex wavelet support to scipy.signal.cwt. * `#8681 `__: ENH add generalized inverse Gaussian distribution to scipy.stats * `#9064 `__: BUG/ENH: Added default _transpose into LinearOperator. Fixes... * `#9215 `__: ENH: Rbf interpolation of large multi-dimensional data * `#9311 `__: ENH: Added voigt in scipy.special. * `#9642 `__: ENH: integrate: quad() for vector-valued functions * `#9679 `__: DOC: expand docstring of exponweib distribution * `#9684 `__: TST: add ppc64le ci testing * `#9800 `__: WIP : ENH: Refactored _hungarian.py for speed and added a minimize/maximize? * `#9847 `__: DOC: Change integrate tutorial to use solve_ivp instead of odeint * `#9876 `__: ENH: Use rfft when possible in resampling * `#9998 `__: BUG: Do not remove 1s when calling sparse: reshape method #9994 * `#10002 `__: ENH: adds constraints for differential evolution * `#10098 `__: ENH: integrate: add args argument to solve_ivp. * `#10099 `__: DOC: Add missing docs for linprog unknown_options * `#10104 `__: BUG: Rewrite of stats.truncnorm distribution. * `#10105 `__: MAINT improve efficiency of rvs_ratio_uniforms in scipy.stats * `#10107 `__: TST: dual_annealing set seed * `#10108 `__: ENH: stats: improve kendall_tau cache usage * `#10110 `__: MAINT: _lib: Fix a build warning. * `#10114 `__: FIX: only print bounds when supported by minimizer (shgo) * `#10115 `__: TST: Add a test with an almost singular design matrix for lsq_linear * `#10118 `__: MAINT: fix rdist methods in scipy.stats * `#10119 `__: MAINT: improve rvs of randint in scipy.stats * `#10127 `__: Fix typo in record array field name (spatial-ckdtree-sparse_distance? * `#10130 `__: MAINT: ndimage: Fix some compiler warnings. * `#10131 `__: DOC: Note the solve_ivp args enhancement in the 1.4.0 release... * `#10133 `__: MAINT: add rvs for semicircular in scipy.stats * `#10138 `__: BUG: special: Invalid arguments to ellip_harm can crash Python. * `#10139 `__: MAINT: spatial: Fix some compiler warnings in the file distance_wrap.c. * `#10140 `__: ENH: add handling of NaN in RuntimeWarning except clause * `#10142 `__: DOC: return value of scipy.special.comb * `#10143 `__: MAINT: Loosen linprog tol * `#10152 `__: BUG: Fix custom sampling input for shgo, add unittest * `#10154 `__: MAINT: add moments and improve doc of mielke in scipy.stats * `#10158 `__: Issue #6999: read zlib checksum before checking bytes read. * `#10166 `__: BUG: Correctly handle broadcasted ydata in curve_fit pcov computation. * `#10167 `__: DOC: special: Add missing factor of \`i\` to \`modstruve\` docstring * `#10168 `__: MAINT: stats: Fix an incorrect comment. * `#10169 `__: ENH: optimize: Clarify error when objective function returns... * `#10172 `__: DEV: Run tests in parallel when --parallel flag is passed to... * `#10173 `__: ENH: Implement DOP853 ODE integrator * `#10176 `__: Fixed typo * `#10182 `__: TST: fix test issue for stats.pearsonr * `#10184 `__: MAINT: stats: Simplify zmap and zscore (we can use keepdims now). * `#10191 `__: DOC: fix a formatting issue in the scipy.spatial module docstring. * `#10193 `__: DOC: Updated docstring for optimize.nnls * `#10198 `__: DOC, ENH: special: Make \`hyp2f1\` references more specific * `#10202 `__: DOC: Format DST and DCT definitions as latex equations * `#10207 `__: BUG: Compressed matrix indexing should return a scalar * `#10210 `__: DOC: Update docs for connection='weak' in connected_components * `#10225 `__: DOC: Clarify new interfaces for legacy functions in 'optimize' * `#10231 `__: DOC, MAINT: gpg2 updates to release docs / pavement * `#10235 `__: LICENSE: split license file in standard BSD 3-clause and bundled. * `#10238 `__: ENH: Add new scipy.fft module using pocketfft * `#10243 `__: BUG: fix ARFF reader regression with quoted values. * `#10248 `__: DOC: update README file * `#10255 `__: CI: bump OpenBLAS to match wheels * `#10264 `__: TST: add tests for stats.tvar with unflattened arrays * `#10280 `__: MAINT: stats: Use a constant value for sqrt(2/PI). * `#10286 `__: Development Documentation Overhaul * `#10290 `__: MAINT: Deprecate NumPy functions in SciPy root * `#10291 `__: FIX: Avoid importing xdist when checking for availability * `#10295 `__: Disable deprecated Numpy API in __odrpack.c * `#10296 `__: ENH: C++ extension for linear assignment problem * `#10298 `__: ENH: Made pade function work with complex inputs * `#10301 `__: DOC: Fix critical value significance levels in stats.anderson_ksamp * `#10307 `__: Minkowski Distance Type Fix (issue #10262) * `#10309 `__: BUG: Pass jac=None directly to lsoda * `#10310 `__: BUG: interpolate: UnivariateSpline.derivative.ext is 'zeros'... * `#10312 `__: FIX: Fixing a typo in a comment * `#10314 `__: scipy.spatial enhancement request * `#10315 `__: DOC: Update integration tutorial to solve_ivp * `#10318 `__: DOC: update the example for PPoly.solve * `#10333 `__: TST: add tests for stats.tvar with unflattened arrays * `#10334 `__: MAINT: special: Remove deprecated \`hyp2f0\`, \`hyp1f2\`, and... * `#10336 `__: BUG: linalg/interpolative: fix interp_decomp modifying input * `#10341 `__: BUG: sparse.linalg/gmres: deprecate effect of callback on semantics... * `#10344 `__: DOC: improve wording of mathematical formulation * `#10345 `__: ENH: Tiled QR wrappers for scipy.linalg.lapack * `#10350 `__: MAINT: linalg: Use the new fft subpackage in linalg.dft test... * `#10351 `__: BUG: Fix unstable standard deviation calculation in histogram * `#10353 `__: Bug: interpolate.NearestNDInterpolator (issue #10352) * `#10357 `__: DOC: linalg: Refer to scipy.fft.fft (not fftpack) in the dft... * `#10359 `__: DOC: Update roadmap now scipy.fft has been merged * `#10361 `__: ENH: Prefer scipy.fft to scipy.fftpack in scipy.signal * `#10371 `__: DOC: Tweaks to fft documentation * `#10372 `__: DOC: Fix typos * `#10377 `__: TST, MAINT: adjustments for pytest 5.0 * `#10378 `__: ENH: _lib: allow new np.random.Generator in check_random_state * `#10379 `__: BUG: sparse: set writeability to be forward-compatible with numpy>=1.17 * `#10381 `__: BUG: Fixes gh-7491, pdf at x=0 of fisk/burr/burr12/f distributions. * `#10387 `__: ENH: optimize/bfgs: don't evaluate twice at initial point for... * `#10392 `__: [DOC] Add an example for _binned_statistic_dd * `#10396 `__: Remove warning about output shape of zoom * `#10397 `__: ENH: Add check_finite to sp.linalg.norm * `#10399 `__: ENH: Add __round__ method to sparse matrix * `#10407 `__: MAINT: drop pybind11 from install_requires, it's only build-time... * `#10408 `__: TST: use pytest.raises, not numpy assert_raises * `#10409 `__: CI: uninstall nose on Travis * `#10410 `__: [ENH] ncx2 dispatch to chi2 when nc=0 * `#10411 `__: TST: optimize: test should use assert_allclose for fp comparisons * `#10414 `__: DOC: add pybind11 to the other part of quickstart guides * `#10417 `__: DOC: special: don't mark non-ufuncs with a \`[+]\` * `#10423 `__: FIX: Use pybind11::isinstace to check array dtypes * `#10424 `__: DOC: add doctest example for binary data for ttest_ind_from_stats * `#10425 `__: ENH: Add missing Hermitian transforms to scipy.fft * `#10426 `__: MAINT: Fix doc build bugs * `#10431 `__: Update numpy version for AIX * `#10433 `__: MAINT: Minor fixes for the stats * `#10434 `__: BUG: special: make \`ndtri\` return NaN outside domain of definition * `#10435 `__: BUG: Allow integer input data in scipy.stats.yeojohnson * `#10438 `__: [DOC] Add example for kurtosis * `#10440 `__: ENH: special: make \`ellipk\` a ufunc * `#10443 `__: MAINT: ndimage: malloc fail check * `#10447 `__: BLD: Divert output from test compiles into a temporary directory * `#10451 `__: MAINT: signal: malloc fail check * `#10455 `__: BUG: special: fix values of \`hyperu\` for negative \`x\` * `#10456 `__: DOC: Added comment clarifying the call for dcsrch.f in lbfgsb.f * `#10457 `__: BUG: Allow ckdtree to accept empty data input * `#10459 `__: BUG:TST: Compute lwork safely * `#10460 `__: [DOC] Add example to entropy * `#10461 `__: DOC: Quickstart Guide updates * `#10462 `__: TST: special: only show max atol/rtol for test points that failed * `#10465 `__: BUG: Correctly align fft inputs * `#10467 `__: ENH: lower-memory duplicate generator checking in spatial.SphericalVoronoi * `#10470 `__: ENH: Normalise the inverse DCT/DST in scipy.fft * `#10472 `__: BENCH: adjust timeout for slow setup_cache * `#10475 `__: CI: include python debug for Travis-ci * `#10476 `__: TST: special: use \`__tracebackhide__\` to get better error messages * `#10477 `__: ENH: faster region building in spatial.SphericalVoronoi * `#10479 `__: BUG: stats: Fix a few issues with the distributions' fit method. * `#10480 `__: Add RuntimeError in _distn_infrastructure.py in fit() method * `#10481 `__: BENCH, MAINT: wheel_cache_size has been renamed build_cache_size * `#10494 `__: ENH: faster circumcenter calculation in spatial.SphericalVoronoi * `#10500 `__: Splrep _curfit_cache global variable bugfix * `#10503 `__: BUG: spatial/qhull: get HalfspaceIntersection.dual_points from... * `#10506 `__: DOC: interp2d, note nearest neighbor extrapolation * `#10507 `__: MAINT: Remove fortran fftpack library in favour of pypocketfft * `#10508 `__: TST: fix a bug in the circular import test. * `#10509 `__: MAINT: Set up _build_utils as subpackage * `#10516 `__: BUG: Use nogil contexts in cKDTree * `#10517 `__: ENH: fftconvolve should not FFT broadcastable axes * `#10518 `__: ENH: Speedup fftconvolve * `#10520 `__: DOC: Proper .rst formatting for deprecated features and Backwards... * `#10523 `__: DOC: Improve scipy.signal.resample documentation * `#10524 `__: ENH: Add MGC to scipy.stats * `#10525 `__: [ENH] ncx2.ppf dispatch to chi2 when nc=0 * `#10526 `__: DOC: clarify laplacian normalization * `#10528 `__: API: Rename scipy.fft DCT/DST shape argument to s * `#10531 `__: BUG: fixed improper rotations in spatial.transform.rotation.match_vectors * `#10533 `__: [DOC] Add example for winsorize function * `#10539 `__: MAINT: special: don't register \`i0\` with \`numpy.dual\` * `#10540 `__: MAINT: Fix Travis and Circle * `#10542 `__: MAINT: interpolate: use cython_lapack * `#10547 `__: Feature request. Add furthest site Voronoi diagrams to scipy.spatial.plotutils. * `#10549 `__: [BUG] Fix bug in trimr when inclusive=False * `#10552 `__: add scipy.signal.upfirdn signal extension modes * `#10555 `__: MAINT: special: move \`c_misc\` into Cephes * `#10556 `__: [DOC] Add example for trima * `#10562 `__: [DOC] Fix triple string fo trimmed so that __doc__ can show... * `#10563 `__: improve least_squares error msg for mismatched shape * `#10564 `__: ENH: linalg: memoize get_lapack/blas_funcs to speed it up * `#10566 `__: ENH: add implementation of solver for the maximum flow problem * `#10567 `__: BUG: spatial: use c++11 construct for getting start of vector... * `#10568 `__: DOC: special: small tweaks to the \`zetac\` docstring * `#10571 `__: [ENH] Gaussian_kde can accept matrix dataset * `#10574 `__: ENH: linalg: speed up _compute_lwork by avoiding numpy constructs * `#10582 `__: Fix typos with typos in bundled libraries reverted * `#10583 `__: ENH: special: add the analytic continuation of Riemann zeta * `#10584 `__: MAINT: special: clean up \`special.__all__\` * `#10586 `__: BUG: multidimensional scipy.fft functions should accept 's' rather... * `#10587 `__: BUG: integrate/lsoda: never abort run, set error istate instead * `#10594 `__: API: Replicate numpy's fftn behaviour when s is given but not... * `#10599 `__: DOC: dev: update documentation vs. github pull request workflow... * `#10603 `__: MAINT: installer scripts removed * `#10604 `__: MAINT: Change c\*np.ones(...) to np.full(..., c, ...) in many... * `#10608 `__: Univariate splines should require x to be strictly increasing... * `#10613 `__: ENH: Add seed option for gaussian_kde.resample * `#10614 `__: ENH: Add parallel computation to scipy.fft * `#10615 `__: MAINT: interpolate: remove unused header file * `#10616 `__: MAINT: Clean up 32-bit platform xfail markers * `#10618 `__: BENCH: Added 'trust-constr' to minimize benchmarks * `#10621 `__: [MRG] multiple stability updates in lobpcg * `#10622 `__: MAINT: forward port 1.3.1 release notes * `#10624 `__: DOC: stats: Fix spelling of 'support'. * `#10627 `__: DOC: stats: Add references for the alpha distribution. * `#10629 `__: MAINT: special: avoid overflow longer in \`zeta\` for negative... * `#10630 `__: TST: GH10271, relax test assertion, fixes #10271 * `#10631 `__: DOC: nelder-mean uses xatol fixes #10036 * `#10633 `__: BUG: interpolate: integral(a, b) should be zero when both limits... * `#10635 `__: DOC: special: complete hypergeometric functions documentation * `#10636 `__: BUG: special: use series for \`hyp1f1\` when it converges rapidly * `#10641 `__: ENH: allow matching of general bipartite graphs * `#10643 `__: ENH: scipy.sparse.linalg.spsolve triangular unit diagonal * `#10650 `__: ENH: Cythonize sosfilt * `#10654 `__: DOC: Vertical alignment of table entries * `#10655 `__: ENH: Dockerfile for scipy development * `#10660 `__: TST: clean up tests for rvs in scipy.stats * `#10664 `__: Throw error on non-finite input for binned_statistic_dd() * `#10665 `__: DOC: special: improve the docstrings for \`gamma\` and \`gammasgn\` * `#10669 `__: TST: Update scipy.fft real transform tests * `#10670 `__: DOC: Clarify docs and error messages for scipy.signal.butter * `#10672 `__: ENH: return solution attribute when using events in solve_ivp * `#10675 `__: MAINT: special: add an explicit NaN check for \`iv\` arguments * `#10679 `__: DOC: special: Add documentation for \`beta\` function * `#10681 `__: TST: sparse.linalg: fix arnoldi test seed * `#10682 `__: DOC: special: Add documentation for \`betainc\` function * `#10684 `__: TST: special: require Mpmath 1.1.0 for \`test_hyperu_around_0\` * `#10686 `__: FIX: sphinx isattributedescriptor is not available in sphinx... * `#10687 `__: DOC: added Docker quickstart guide by @andyfaff * `#10689 `__: DOC: special: clarify format of parameters/returns sections for... * `#10690 `__: DOC: special: improve docstrings of incomplete gamma functions * `#10692 `__: ENH: higher-dimensional input in \`spatial.SphericalVoronoi\` * `#10694 `__: ENH: ScalarFunction.fun_and_grad * `#10698 `__: DOC: special: Add documentation for \`betaincinv\` * `#10699 `__: MAINT: remove time print lbfgsb fixes #8417 * `#10701 `__: TST, MAINT: bump OpenBLAS to 0.3.7 stable * `#10702 `__: DOC: clarify iterations consume multiple function calls * `#10703 `__: DOC: iprint doc lbfgsb closes #5482 * `#10708 `__: TST: test suggested in gh1758 * `#10710 `__: ENH: Added nan_policy to circ functions in \`stats\` * `#10712 `__: ENH: add axis parameter to stats.entropy * `#10714 `__: DOC: Formatting fix rv_continuous.expect docs * `#10715 `__: DOC: BLD: update doc Makefile for python version; add scipy version... * `#10717 `__: MAINT: modernize doc/Makefile * `#10719 `__: Enable setting minres initial vector * `#10720 `__: DOC: silence random warning in doc build for \`stats.binned_statistic_dd\` * `#10724 `__: DEV: Add doc option to runtests.py * `#10728 `__: MAINT: get rid of gramA, gramB text files that lobpcg tests leave... * `#10732 `__: DOC: add min_only to docstring for Dijkstra's algorithm * `#10734 `__: DOC: spell out difference between source and target in shortest... * `#10735 `__: Fix for Python 4 * `#10739 `__: BUG: optimize/slsqp: deal with singular BFGS update * `#10741 `__: ENH: LAPACK wrappers for ?geequ, ?geequb, ?syequb, ?heequb * `#10742 `__: DOC: special: add to the docstring of \`gammaln\` * `#10743 `__: ENH: special: add a real dispatch for \`wrightomega\` * `#10746 `__: MAINT: Fix typos in comments, docs and test name * `#10747 `__: Remove spurious quotes * `#10750 `__: MAINT: make cython code more precise * `#10751 `__: MAINT: Check that scipy.linalg.lapack functions are documented * `#10752 `__: MAINT: special: use \`sf_error\` in Cephes * `#10755 `__: DOC: cluster: Add 'See Also' and 'Examples' for kmeans2. * `#10763 `__: MAINT: list of minimize methods * `#10768 `__: BUG: Fix corner case for sos2zpk * `#10773 `__: Fix error type for complex input to scipy.fftpack.rfft and irfft * `#10776 `__: ENH: handle geodesic input in \`spatial.SphericalVoronoi\` * `#10777 `__: MAINT: minimizer-->custom should handle the kinds of bounds/constrain?... * `#10781 `__: ENH: solve_triangular C order improvement * `#10787 `__: Fix behavior of \`exp1\` on branch cut and add docstring * `#10789 `__: DOC: special: add parameters/returns doc sections for erfc/erfcx/erfi * `#10790 `__: Travis CI: sudo is deprecated and Xenial is default distro * `#10792 `__: DOC: special: add full docstring for \`expi\` * `#10799 `__: DOC: special: add a complete docstring for \`expn\` * `#10800 `__: Docs edits (GSoD) * `#10802 `__: BUG: fix UnboundLocalError in Radau (scipy#10775) * `#10804 `__: ENH: Speed up next_fast_len with LRU cache * `#10805 `__: DOC: Fix unbalanced quotes in signal.place_poles * `#10809 `__: ENH: Speed up next_fast_len * `#10810 `__: ENH: Raise catchable exceptions for bad Fortran files * `#10811 `__: MAINT: optimize: Remove extra variable from _remove_redundancy_dense * `#10813 `__: MAINT: special: Remove unused variables from _kolmogi and _smirnovi * `#10815 `__: DOC, API: scipy.stats.reciprocal is "log-uniform" * `#10816 `__: MAINT: special: remove deprecated \`bessel_diff_formula\` * `#10817 `__: DOC: special: complete the docstring for \`fresnel\` * `#10820 `__: Fixed compiler_helper.py to allow compilation with ICC on Linux * `#10823 `__: DOC: updated reference guide text for consistency in writing... * `#10825 `__: MAINT: special: change some features of the Voigt function * `#10828 `__: MAINT: integrate: Remove unused variable from init_callback * `#10830 `__: Adding LOBPCG solver in svds in addition to ARPACK * `#10837 `__: WIP: ENH: reduction function for \`spatial.tranform.Rotation\`... * `#10843 `__: ENH: Adding optional parameter to stats.zscores to allow for... * `#10845 `__: Rebase kruskal fix * `#10847 `__: remove redundant __getitem__ from scipy.sparse.lil * `#10848 `__: Better handling of empty (not missing) docstrings * `#10849 `__: ENH: implement rmatmat for LinearOperator * `#10850 `__: MAINT : Refactoring lil List of Lists * `#10851 `__: DOC: add a generative art example to the scipy.spatial tutorial. * `#10852 `__: DOC: linalg: fixed gh-10838 unused imports in example deleted * `#10854 `__: DOC: special: add a full docstring for \`pdtr\` * `#10861 `__: ENH: option to reuse binnumbers in stats.binned_statistic_dd * `#10863 `__: DOC: partial standardization and validation of scipy.stats reference... * `#10865 `__: BUG: special: fix incomplete gamma functions for infinite \`a\` * `#10866 `__: ENH: calculation of mean in spatial.transform.Rotation * `#10867 `__: MAINT: Also store latex directory * `#10869 `__: ENH: Implement overlap-add convolution * `#10870 `__: ENH: Do not raise EOF error if wavfile data read * `#10876 `__: ENH: Add beta-binomial distribution to scipy.stats * `#10878 `__: MAINT: Update R project URL * `#10883 `__: MAINT: (ndimage) More robust check for output being a numpy dtype * `#10884 `__: DOC: Added instructions on adding a new distribution to scipy.stats. * `#10885 `__: [BUG] fix lobpcg with maxiter=None results in Exception * `#10899 `__: ENH: Match R functionality for hmean * `#10900 `__: MAINT: stats: Use keepdims to simplify a few lines in power_divergence. * `#10901 `__: ENH: sparse/linalg: support pydata/sparse matrices * `#10907 `__: Check whether \`maxiter\` is integer * `#10912 `__: ENH: warn user that quad() ignores \`points=...\` when \`weight=...\`... * `#10918 `__: CI: fix Travis CI py3.8 build * `#10920 `__: MAINT: Update constants to codata 2018 values (second try) * `#10921 `__: ENH: scipy.sparse.lil: tocsr accelerated * `#10924 `__: BUG: Forbid passing 'args' as kwarg in scipy.optimize.curve_fit * `#10928 `__: DOC: Add examples to io.wavfile docstrings * `#10934 `__: typo fix * `#10935 `__: BUG: Avoid undefined behaviour on float to unsigned conversion * `#10936 `__: DOC: Added missing example to stats.mstats.variation * `#10939 `__: ENH: scipy.sparse.lil: tocsr accelerated depending on density * `#10946 `__: BUG: setting verbose > 2 in minimize with trust-constr method... * `#10947 `__: DOC: special: small improvements to the \`poch\` docstring * `#10949 `__: BUG: fix return type of erlang_gen._argcheck * `#10951 `__: DOC: fixed Ricker wavelet formula * `#10954 `__: BUG: special: fix \`factorial\` return type for 0-d inputs * `#10955 `__: MAINT: Relax the assert_unitary atol value * `#10956 `__: WIP: make pdtr(int, double) be pdtr(double, double) * `#10957 `__: BUG: Ensure full binary compatibility of long double test data * `#10964 `__: ENH: Make Slerp callable with a scalar argument * `#10972 `__: BUG: Handle complex gains in zpk2sos * `#10975 `__: TST: skip test_kendalltau ppc64le * `#10978 `__: BUG: boxcox data dimension and constancy check #5112 * `#10979 `__: API: Rename dcm to (rotation) matrix in Rotation class * `#10981 `__: MAINT: add support for a==0 and x>0 edge case to igam and igamc * `#10986 `__: MAINT: Remove direct imports from numpy in signaltools.py * `#10988 `__: BUG: signal: fixed issue #10360 * `#10989 `__: FIX binned_statistic_dd Mac wheel test fails * `#10990 `__: BUG: Fix memory leak in shgo triangulation * `#10992 `__: TST: Relax tolerance in upfirdn test_modes * `#10993 `__: TST: bump tolerance in optimize tests * `#10997 `__: MAINT: Rework residue and residuez * `#11001 `__: DOC: Updated Windows build tutorial * `#11004 `__: BUG: integrate/quad_vec: fix several bugs in quad_vec * `#11005 `__: TST: add Python 3.8 Win CI * `#11006 `__: DOC: special: add a reference for \`kl_div\` * `#11012 `__: MAINT: Rework invres and invresz * `#11015 `__: DOC: special: add references for \`rel_entr\` * `#11017 `__: DOC: numpydoc validation of morestats.py * `#11018 `__: MAINT: Filter unrelated warning * `#11031 `__: MAINT: update choose_conv_method for pocketfft implementation * `#11034 `__: MAINT: TST: Skip tests with multiprocessing that use "spawn"... * `#11036 `__: DOC: update doc/README with some more useful content. * `#11037 `__: DOC: special: add a complete docstring for \`rgamma\` * `#11038 `__: DOC: special: add a reference for the polygamma function * `#11042 `__: TST: fix tf2zpk test failure due to incorrect complex sorting. * `#11044 `__: MAINT: choose_conv_method can choose fftconvolution for longcomplex * `#11046 `__: TST: Reduce tolerance for ppc64le with reference lapack * `#11048 `__: DOC: special: add reference for orthogonal polynomial functions * `#11049 `__: MAINT: proper random number initialization and readability fix * `#11051 `__: MAINT: pep8 cleanup * `#11054 `__: TST: bump test precision for dual_annealing SLSQP test * `#11055 `__: DOC: special: add a reference for \`zeta\` * `#11056 `__: API: Deprecated normalized keyword in Rotation * `#11065 `__: DOC: Ubuntu Development Environment Quickstart should not modify... * `#11066 `__: BUG: skip deprecation for numpy top-level types * `#11067 `__: DOC: updated documentation for consistency in writing style * `#11070 `__: DOC: Amendment to Ubuntu Development Environment Quickstart should... * `#11073 `__: DOC: fix 1.4.0 release notes * `#11081 `__: API: Replace Rotation.match_vectors with align_vectors * `#11083 `__: DOC: more 1.4.0 release note fixes * `#11092 `__: BUG: stats: fix freezing of some distributions * `#11096 `__: BUG: scipy.sparse.csgraph: fixed issue #10774 * `#11124 `__: fix Cython warnings related to _stats.pyx * `#11126 `__: BUG: interpolate/fitpack: fix memory leak in splprep * `#11127 `__: Avoid potential segfault in CSR and CSC matrix indexing * `#11152 `__: BUG: Fix random state bug multiscale_graphcorr * `#11166 `__: BUG: empty sparse slice shapes * `#11167 `__: BUG: redundant fft in signal.resample Checksums ========= MD5 ~~~ 3ab6ebe868c3b16a748ba483d4f6cec3 scipy-1.4.0rc2-cp35-cp35m-macosx_10_6_intel.whl bc542c69def16b92b3900c851e7491b0 scipy-1.4.0rc2-cp35-cp35m-manylinux1_i686.whl 1fadb397d1f58a08b0da231259c10816 scipy-1.4.0rc2-cp35-cp35m-manylinux1_x86_64.whl 29d3aa36c52729ae67ca7b6980f9b44e scipy-1.4.0rc2-cp35-cp35m-win32.whl ffffa242b51400c2f536180fa9443c4f scipy-1.4.0rc2-cp35-cp35m-win_amd64.whl 3d466f067cff2a3f71d16c6022e3354e scipy-1.4.0rc2-cp36-cp36m-macosx_10_6_intel.whl 52bc6d2c58d020bf87afef25ea08f299 scipy-1.4.0rc2-cp36-cp36m-manylinux1_i686.whl 7f113e16db14cd1a76a24efe8ae33ae6 scipy-1.4.0rc2-cp36-cp36m-manylinux1_x86_64.whl 6bfba597a057e2c88d92a1db61846016 scipy-1.4.0rc2-cp36-cp36m-win32.whl 674a0520f3978757ce77df359dc954b7 scipy-1.4.0rc2-cp36-cp36m-win_amd64.whl 3a22aa80a6935cfaf5812f9a49139ef9 scipy-1.4.0rc2-cp37-cp37m-macosx_10_6_intel.whl fe97f8eb1dd0e9742666a50d86c0f1a0 scipy-1.4.0rc2-cp37-cp37m-manylinux1_i686.whl febdb9c5b10427f5dcf443c156b6cd91 scipy-1.4.0rc2-cp37-cp37m-manylinux1_x86_64.whl fc2d9014976b2e242edc0dc80b2ba66e scipy-1.4.0rc2-cp37-cp37m-win32.whl 65ca602dfee2cc3caf02f2c5e5c8e1d4 scipy-1.4.0rc2-cp37-cp37m-win_amd64.whl d43b47ecc3f73047a42bee9252a8efad scipy-1.4.0rc2-cp38-cp38-macosx_10_9_x86_64.whl ddf4f0dc24cfa6e13ac858ce0fdf4d09 scipy-1.4.0rc2-cp38-cp38-manylinux1_i686.whl 8134c53abb2c3314300028c6fd49f9b4 scipy-1.4.0rc2-cp38-cp38-manylinux1_x86_64.whl 4142a48802a646f1c9233a4361b6f9ce scipy-1.4.0rc2-cp38-cp38-win32.whl f9398792343b4d19b7835b5fab52f741 scipy-1.4.0rc2-cp38-cp38-win_amd64.whl cca43623b5d48dff880c5e5cea018fe3 scipy-1.4.0rc2.tar.gz 12e517b38e8cd226f9d1b3c8dbdf3fcb scipy-1.4.0rc2.tar.xz b14653ad2919de51f8436a016f10895e scipy-1.4.0rc2.zip SHA256 ~~~~~~ 1b2a564ea79da573cf9a481c71e70a7d6898ec59ab802b7fc46ce886baa4dbbf scipy-1.4.0rc2-cp35-cp35m-macosx_10_6_intel.whl 37a2faa3aa6d9783e07aa52409bed0ba8bfc6e3e750ae7987bc038f1ee6854a6 scipy-1.4.0rc2-cp35-cp35m-manylinux1_i686.whl 86ac119d107371194a9158b4d940a325de1d6f997acc70497b691f58e227e3c8 scipy-1.4.0rc2-cp35-cp35m-manylinux1_x86_64.whl dc86610b8386e1a2f927271d0815eed2d27a498ee79a9729c50372f87e1eca2a scipy-1.4.0rc2-cp35-cp35m-win32.whl 00e54b1097e4dc91347977874cfabd4bcc8285b2c3fee176e538588c0f84035c scipy-1.4.0rc2-cp35-cp35m-win_amd64.whl 7f84cd16a13423e5caf1d1c6265d4075313eff421251da7dbc9116c102f962c3 scipy-1.4.0rc2-cp36-cp36m-macosx_10_6_intel.whl d07ea1bbe4e77835c266ea0e9108e6e3dc31327b734c003c203c6164f9c116cb scipy-1.4.0rc2-cp36-cp36m-manylinux1_i686.whl 331d2bac603479ad845e6df136b1fab8c086eaef9da73c84cf22cd59ac9b2a14 scipy-1.4.0rc2-cp36-cp36m-manylinux1_x86_64.whl 885f60ad9166acead66afb40d36b6c7f5bcc6ad495333e8a1eb5f2afdb4da098 scipy-1.4.0rc2-cp36-cp36m-win32.whl 6dc2634ddc7968b55665b65f1e4fa970a7acdc44b0b8ec710c616d03018fe80b scipy-1.4.0rc2-cp36-cp36m-win_amd64.whl 04e10d4a758ddc6b83fa62469510b807901883760306d86db37921180d8366b7 scipy-1.4.0rc2-cp37-cp37m-macosx_10_6_intel.whl e29cf828929f1aadba8fb93a5dccc03703da139e5366fb57dc69f14417258bcd scipy-1.4.0rc2-cp37-cp37m-manylinux1_i686.whl d45319e0c2218f50bce99b3c887fe6394f6a823786fd5b343de29be122efc253 scipy-1.4.0rc2-cp37-cp37m-manylinux1_x86_64.whl bd05f8a0c7e773a7e6102cbf6984f54e74f2f41af95cb007e81e7a313347a639 scipy-1.4.0rc2-cp37-cp37m-win32.whl fceb14784f3bc7471f9fb43474956fdf7e2d14357a07fba9ba90b7a7aa91e5f2 scipy-1.4.0rc2-cp37-cp37m-win_amd64.whl 2eb614a45a4bc35c1fd01602743b73c4b0798e46080f7099b8c247cabedba3bf scipy-1.4.0rc2-cp38-cp38-macosx_10_9_x86_64.whl acd81d06cc3c8ab3a0e514db3b844abccfbf455f77dc79b969431fd61f2b29ce scipy-1.4.0rc2-cp38-cp38-manylinux1_i686.whl 433a549ad92d4ba96b3c11ca3b6a43346a50303f7b9423acd92d9fb2d43b9534 scipy-1.4.0rc2-cp38-cp38-manylinux1_x86_64.whl db023118e60ed5a5b41e8851bb294d24196f01677a66f8b41b917f7e9fca3f6f scipy-1.4.0rc2-cp38-cp38-win32.whl 19ab29d38c3e574d631fc42487a1edc19c7f970269389a4debf7d8b12d808e20 scipy-1.4.0rc2-cp38-cp38-win_amd64.whl 08da7047f17e38d45e09bda565512a62808b1c896edb54abbcd2e39dfa0588f4 scipy-1.4.0rc2.tar.gz c8d413030607d665d589f5933e88035a4518590e705a622e477621782b842a5c scipy-1.4.0rc2.tar.xz 178d744fefadbc3d32b6362708c1ebc501fbe8d40015a6dbac40f095234a8354 scipy-1.4.0rc2.zip -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJd7VJHAAoJELD/41ZX0J71TN0P/2r2axB83q7MXoXGbjlENVXX hG4olBusdspYYA5tGvgQzQAFEztpHRyQyssOTOnPsOVSQfOf/cGkhe5keRNx9jeg QgBcklWstwoqdlOfinFeBOEi5kR6GsM78uBrfba2qI95DYFx0gYUcYbAhEufUHSa JO4knxk3HqGPOe6hf4PBBoh/ymB9RxnpTm6JLZFmbKKqvYmyQonxnQju3irr81rk S/wCSlrhWHcE84qT0XvXWKiaBBtG2qTbOtQNCkHAICmfEHSkYMFnAWugRpMVhBXN LCxVxbzJoyXlGB0pm+ejvIFPCyWVhVjJKOku99ek///nf60IzEte6mPmTjnl9gtc IiL3tHpM2d12L7/4lUCxvi9yoY47G0KrLmPv6M7cdky3Cr2Dzt4paCGkkepEEsa4 xhOyvwYUTuDLFY4yO3mFMxi4eV/xCz1IXo/BcQtGfbRdqjLnjA467YJViDZ/QRIJ lAMroKsc/vWav1gpn1sO28FkgmeDXsLpxWhtodNejF3IXj0/C/QqbBREO3oe7wOu kTKnP6ogpLbz5rr1SWKm0HFWXOK8ZGPEhYIVpL2Cm69fM97qgxPgJEGrasZBQiD6 JYpevtnUq/Us9VEiPIsSjPes/ePN+ztg1dsivYjDxTzZDD3IatMoYydiXe/SIVu4 hAB4vuXBulP0k1HE3lao =zenR -----END PGP SIGNATURE----- -------------- next part -------------- An HTML attachment was scrubbed... URL: From andyfaff at gmail.com Wed Dec 11 06:52:12 2019 From: andyfaff at gmail.com (Andrew Nelson) Date: Wed, 11 Dec 2019 22:52:12 +1100 Subject: [SciPy-Dev] vectorization in stats.rv_continuous Message-ID: In rv_continuous there are several locations that use np.vectorize over single instance calculations. In those locations the vectorized function has an attribute `nin` changed, e.g. https://github.com/scipy/scipy/blob/master/scipy/stats/_distn_infrastructure.py#L1605 . If I look up the code for np.vectorize there's no such attribute in the class. Is it now an obsolete attribute? If so, can it be removed? A. p.s. I've been experimenting with a way of speeding up the generic _ppf function. My local changes show significant speed improvement in a subclass, which speeds up rvs significantly. I'll have a look into submitting a PR. -------------- next part -------------- An HTML attachment was scrubbed... URL: From ralf.gommers at gmail.com Thu Dec 12 01:59:30 2019 From: ralf.gommers at gmail.com (Ralf Gommers) Date: Wed, 11 Dec 2019 22:59:30 -0800 Subject: [SciPy-Dev] Making it easier to pin numpy in pyproject.toml In-Reply-To: References: <5bd0d03c-2653-4766-4571-67b6f642b218@aero.iitb.ac.in> Message-ID: On Sat, Nov 30, 2019 at 7:31 AM Thomas Robitaille < thomas.robitaille at gmail.com> wrote: > Hi Ralf, > > On Sat, 30 Nov 2019 at 01:41, Ralf Gommers wrote: > > > > > > > > On Wed, Nov 27, 2019 at 1:32 AM Thomas Robitaille < > thomas.robitaille at gmail.com> wrote: > >> > >> Hi Ralf and Prabhu, > >> > >> Thanks for your feedback! I should have clarified this originally, but > >> pyproject.toml (in oldest-supported-numpy) is not the right place to > >> define the Numpy pinnings since pyproject build requirements are only > >> relevant for building wheels of oldest-supported-numpy (they would not > >> be inherited by downstream packages using oldest-supported-numpy). > >> Numpy needs to be a runtime dependency of oldest-supported-numpy > >> because in this case 'runtime' means inside the downstream build > >> environment. > >> > >> In fact, I deliberately have only published a universal wheel (no > >> sdist) on PyPI for oldest-supported-numpy which means that > >> pyproject.toml would never actually be used, and in addition this > >> means that setuptools will not get invoked in the process either. The > >> oldest-supported-numpy wheel only contains a bunch of metadata (no > >> setup.cfg or setup.py) of which the main one that is relevant here is > >> Requires-Dist which I think will be directly interpreted by pip. > > > > > > Ah yes, that sounds correct. > > > > So back to your original question: do we want to maintain this under the > SciPy org. It sounds like a useful idea to me. What do others think? > > > > Also Tom, do you want to remain one of the maintainers of this package > when we move it under https://github.com/scipy/? > > I'd be happy to still be one of the maintainers - I would just be more > comfortable with not being a single point of failure if this becomes a > build-time dependency for a number of packages, hence why I thought it > would make sense to live under a community organization like scipy. > Sounds good to me. It looks like there are no concerns. So let's try and finalize this I'd say. If you could send a transfer request for the repo, I can accept that, set up a new team under the SciPy GitHub org, and make you an admin of the team. And also give the whole SciPy team write access. Cheers, Ralf > Thanks! > Tom > > > Cheers, > > Ralf > > > > > >> I will double check with the pip folks but I think that this means that > >> this approach should be equivalent to pinning numpy manually. > >> > >> Cheers, > >> Tom > >> > >> On Wed, 27 Nov 2019 at 05:18, Prabhu Ramachandran > >> wrote: > >> > > >> > Hi Thomas, > >> > > >> > Thanks for doing this, I think this would be very useful for multiple > projects that use numpy as a build dependency. I agree with Ralf that it > would perhaps make more sense to have a pyproject.toml with the correct > requirements in the oldest-supported-numpy project in addition to or in > place of the setup.cfg you have. > >> > > >> > Regards, > >> > Prabhu > >> > > >> > > >> > On 11/26/19 3:22 PM, Thomas Robitaille wrote: > >> > > >> > Hi all, > >> > > >> > As a developer of several packages that have numpy as a build-time > >> > dependency, I've been having to specify pinned versions of numpy in > >> > pyproject.toml files with environment markers, as is done by scipy: > >> > > >> > https://github.com/scipy/scipy/blob/master/pyproject.toml#L6 > >> > > >> > I've also noticed that different packages are sometimes inconsistent > >> > in what exact versions they use, and the scipy pinnings are also a > >> > little more advanced since they take into account the platform too > >> > (specifically the AIX case at the moment). > >> > > >> > [...] > >> _______________________________________________ > >> SciPy-Dev mailing list > >> SciPy-Dev at python.org > >> https://mail.python.org/mailman/listinfo/scipy-dev > > > > _______________________________________________ > > SciPy-Dev mailing list > > SciPy-Dev at python.org > > https://mail.python.org/mailman/listinfo/scipy-dev > _______________________________________________ > SciPy-Dev mailing list > SciPy-Dev at python.org > https://mail.python.org/mailman/listinfo/scipy-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: From evgeny.burovskiy at gmail.com Thu Dec 12 04:33:49 2019 From: evgeny.burovskiy at gmail.com (Evgeni Burovski) Date: Thu, 12 Dec 2019 12:33:49 +0300 Subject: [SciPy-Dev] vectorization in stats.rv_continuous In-Reply-To: References: Message-ID: There's a comment a few lines below, Because of the *args argument of _mom0_sc, vectorize cannot count the # number of arguments correctly. If something changed in numpy, and this trickery is no longer needed, it'd be nice to see it gone. ??, 11 ???. 2019 ?., 14:52 Andrew Nelson : > In rv_continuous there are several locations that use np.vectorize over > single instance calculations. In those locations the vectorized function > has an attribute `nin` changed, e.g. > https://github.com/scipy/scipy/blob/master/scipy/stats/_distn_infrastructure.py#L1605 > . > > If I look up the code for np.vectorize there's no such attribute in the > class. Is it now an obsolete attribute? If so, can it be removed? > > A. > > p.s. I've been experimenting with a way of speeding up the generic _ppf > function. My local changes show significant speed improvement in a > subclass, which speeds up rvs significantly. I'll have a look into > submitting a PR. > _______________________________________________ > SciPy-Dev mailing list > SciPy-Dev at python.org > https://mail.python.org/mailman/listinfo/scipy-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: From tyler.je.reddy at gmail.com Mon Dec 16 19:37:05 2019 From: tyler.je.reddy at gmail.com (Tyler Reddy) Date: Mon, 16 Dec 2019 17:37:05 -0700 Subject: [SciPy-Dev] ANN: SciPy 1.4.0 Message-ID: -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Hi all, On behalf of the SciPy development team I'm pleased to announce the release of SciPy 1.4.0. Sources and binary wheels can be found at: https://pypi.org/project/scipy/ and at: https://github.com/scipy/scipy/releases/tag/v1.4.0 One of a few ways to install this release with pip: pip install scipy==1.4.0 ========================== SciPy 1.4.0 Release Notes ========================== SciPy 1.4.0 is the culmination of 6 months of hard work. It contains many new features, numerous bug-fixes, improved test coverage and better documentation. There have been a number of deprecations and API changes in this release, which are documented below. All users are encouraged to upgrade to this release, as there are a large number of bug-fixes and optimizations. Before upgrading, we recommend that users check that their own code does not use deprecated SciPy functionality (to do so, run your code with ``python -Wd`` and check for ``DeprecationWarning`` s). Our development attention will now shift to bug-fix releases on the 1.4.x branch, and on adding new features on the master branch. This release requires Python 3.5+ and NumPy >=1.13.3 (for Python 3.5, 3.6), >=1.14.5 (for Python 3.7), >= 1.17.3 (for Python 3.8) For running on PyPy, PyPy3 6.0+ and NumPy 1.15.0 are required. Highlights of this release ---------------------------------- - a new submodule, `scipy.fft`, now supersedes `scipy.fftpack`; this means support for ``long double`` transforms, faster multi-dimensional transforms, improved algorithm time complexity, release of the global intepreter lock, and control over threading behavior - support for ``pydata/sparse`` arrays in `scipy.sparse.linalg` - substantial improvement to the documentation and functionality of several `scipy.special` functions, and some new additions - the generalized inverse Gaussian distribution has been added to `scipy.stats` - an implementation of the Edmonds-Karp algorithm in `scipy.sparse.csgraph.maximum_flow` - `scipy.spatial.SphericalVoronoi` now supports n-dimensional input, has linear memory complexity, improved performance, and supports single-hemisphere generators New features ============ Infrastructure -------------------- Documentation can now be built with ``runtests.py --doc`` A ``Dockerfile`` is now available in the ``scipy/scipy-dev`` repository to facilitate getting started with SciPy development. `scipy.constants` improvements --------------------------------------------- `scipy.constants` has been updated with the CODATA 2018 constants. `scipy.fft` added ------------------------ `scipy.fft` is a new submodule that supersedes the `scipy.fftpack` submodule. For the most part, this is a drop-in replacement for ``numpy.fft`` and `scipy.fftpack` alike. With some important differences, `scipy.fft`: - uses NumPy's conventions for real transforms (``rfft``). This means the return value is a complex array, half the size of the full ``fft`` output. This is different from the output of ``fftpack`` which returned a real array representing complex components packed together. - the inverse real to real transforms (``idct`` and ``idst``) are normalized for ``norm=None`` in thesame way as ``ifft``. This means the identity ``idct(dct(x)) == x`` is now ``True`` for all norm modes. - does not include the convolutions or pseudo-differential operators from ``fftpack``. This submodule is based on the ``pypocketfft`` library, developed by the author of ``pocketfft`` which was recently adopted by NumPy as well. ``pypocketfft`` offers a number of advantages over fortran ``FFTPACK``: - support for long double (``np.longfloat``) precision transforms. - faster multi-dimensional transforms using vectorisation - Bluestein?s algorithm removes the worst-case ``O(n^2)`` complexity of ``FFTPACK`` - the global interpreter lock (``GIL``) is released during transforms - optional multithreading of multi-dimensional transforms via the ``workers`` argument Note that `scipy.fftpack` has not been deprecated and will continue to be maintained but is now considered legacy. New code is recommended to use `scipy.fft` instead, where possible. `scipy.fftpack` improvements ---------------------------------------- `scipy.fftpack` now uses pypocketfft to perform its FFTs, offering the same speed and accuracy benefits listed for scipy.fft above but without the improved API. `scipy.integrate` improvements ------------------------------------------- The function `scipy.integrate.solve_ivp` now has an ``args`` argument. This allows the user-defined functions passed to the function to have additional parameters without having to create wrapper functions or lambda expressions for them. `scipy.integrate.solve_ivp` can now return a ``y_events`` attribute representing the solution of the ODE at event times New ``OdeSolver`` is implemented --- ``DOP853``. This is a high-order explicit Runge-Kutta method originally implemented in Fortran. Now we provide a pure Python implementation usable through ``solve_ivp`` with all its features. `scipy.integrate.quad` provides better user feedback when break points are specified with a weighted integrand. `scipy.integrate.quad_vec` is now available for general purpose integration of vector-valued functions `scipy.interpolate` improvements --------------------------------------------- `scipy.interpolate.pade` now handles complex input data gracefully `scipy.interpolate.Rbf` can now interpolate multi-dimensional functions `scipy.io` improvements --------------------------------- `scipy.io.wavfile.read` can now read data from a `WAV` file that has a malformed header, similar to other modern `WAV` file parsers `scipy.io.FortranFile` now has an expanded set of available ``Exception`` classes for handling poorly-formatted files `scipy.linalg` improvements ------------------------------------- The function ``scipy.linalg.subspace_angles(A, B)`` now gives correct results for complex-valued matrices. Before this, the function only returned correct values for real-valued matrices. New boolean keyword argument ``check_finite`` for `scipy.linalg.norm`; whether to check that the input matrix contains only finite numbers. Disabling may give a performance gain, but may result in problems (crashes, non-termination) if the inputs do contain infinities or NaNs. `scipy.linalg.solve_triangular` has improved performance for a C-ordered triangular matrix ``LAPACK`` wrappers have been added for ``?geequ``, ``?geequb``, ``?syequb``, and ``?heequb`` Some performance improvements may be observed due to an internal optimization in operations involving LAPACK routines via ``_compute_lwork``. This is particularly true for operations on small arrays. Block ``QR`` wrappers are now available in `scipy.linalg.lapack` `scipy.ndimage` improvements ------------------------------------------ `scipy.optimize` improvements ------------------------------------------ It is now possible to use linear and non-linear constraints with `scipy.optimize.differential_evolution`. `scipy.optimize.linear_sum_assignment` has been re-written in C++ to improve performance, and now allows input costs to be infinite. A ``ScalarFunction.fun_and_grad`` method was added for convenient simultaneous retrieval of a function and gradient evaluation `scipy.optimize.minimize` ``BFGS`` method has improved performance by avoiding duplicate evaluations in some cases Better user feedback is provided when an objective function returns an array instead of a scalar. `scipy.signal` improvements -------------------------------------- Added a new function to calculate convolution using the overlap-add method, named `scipy.signal.oaconvolve`. Like `scipy.signal.fftconvolve`, this function supports specifying dimensions along which to do the convolution. `scipy.signal.cwt` now supports complex wavelets. The implementation of ``choose_conv_method`` has been updated to reflect the new FFT implementation. In addition, the performance has been significantly improved (with rather drastic improvements in edge cases). The function ``upfirdn`` now has a ``mode`` keyword argument that can be used to select the signal extension mode used at the signal boundaries. These modes are also available for use in ``resample_poly`` via a newly added ``padtype`` argument. `scipy.signal.sosfilt` now benefits from Cython code for improved performance `scipy.signal.resample` should be more efficient by leveraging ``rfft`` when possible `scipy.sparse` improvements --------------------------------------- It is now possible to use the LOBPCG method in `scipy.sparse.linalg.svds`. `scipy.sparse.linalg.LinearOperator` now supports the operation ``rmatmat`` for adjoint matrix-matrix multiplication, in addition to ``rmatvec``. Multiple stability updates enable float32 support in the LOBPCG eigenvalue solver for symmetric and Hermitian eigenvalues problems in ``scipy.sparse.linalg.lobpcg``. A solver for the maximum flow problem has been added as `scipy.sparse.csgraph.maximum_flow`. `scipy.sparse.csgraph.maximum_bipartite_matching` now allows non-square inputs, no longer requires a perfect matching to exist, and has improved performance. `scipy.sparse.lil_matrix` conversions now perform better in some scenarios Basic support is available for ``pydata/sparse`` arrays in `scipy.sparse.linalg` `scipy.sparse.linalg.spsolve_triangular` now supports the ``unit_diagonal`` argument to improve call signature similarity with its dense counterpart, `scipy.linalg.solve_triangular` ``assertAlmostEqual`` may now be used with sparse matrices, which have added support for ``__round__`` `scipy.spatial` improvements --------------------------------------- The bundled Qhull library was upgraded to version 2019.1, fixing several issues. Scipy-specific patches are no longer applied to it. `scipy.spatial.SphericalVoronoi` now has linear memory complexity, improved performance, and supports single-hemisphere generators. Support has also been added for handling generators that lie on a great circle arc (geodesic input) and for generators in n-dimensions. `scipy.spatial.transform.Rotation` now includes functions for calculation of a mean rotation, generation of the 3D rotation groups, and reduction of rotations with rotational symmetries. `scipy.spatial.transform.Slerp` is now callable with a scalar argument `scipy.spatial.voronoi_plot_2d` now supports furthest site Voronoi diagrams `scipy.spatial.Delaunay` and `scipy.spatial.Voronoi` now have attributes for tracking whether they are furthest site diagrams `scipy.special` improvements ----------------------------------------- The Voigt profile has been added as `scipy.special.voigt_profile`. A real dispatch has been added for the Wright Omega function (`scipy.special.wrightomega`). The analytic continuation of the Riemann zeta function has been added. (The Riemann zeta function is the one-argument variant of `scipy.special.zeta`.) The complete elliptic integral of the first kind (`scipy.special.ellipk`) is now available in `scipy.special.cython_special`. The accuracy of `scipy.special.hyp1f1` for real arguments has been improved. The documentation of many functions has been improved. `scipy.stats` improvements ------------------------------------- `scipy.stats.multiscale_graphcorr` added as an independence test that operates on high dimensional and nonlinear data sets. It has higher statistical power than other `scipy.stats` tests while being the only one that operates on multivariate data. The generalized inverse Gaussian distribution (`scipy.stats.geninvgauss`) has been added. It is now possible to efficiently reuse `scipy.stats.binned_statistic_dd` with new values by providing the result of a previous call to the function. `scipy.stats.hmean` now handles input with zeros more gracefully. The beta-binomial distribution is now available in `scipy.stats.betabinom`. `scipy.stats.zscore`, `scipy.stats.circmean`, `scipy.stats.circstd`, and `scipy.stats.circvar` now support the ``nan_policy`` argument for enhanced handling of ``NaN`` values `scipy.stats.entropy` now accepts an ``axis`` argument `scipy.stats.gaussian_kde.resample` now accepts a ``seed`` argument to empower reproducibility `scipy.stats.kendalltau` performance has improved, especially for large inputs, due to improved cache usage `scipy.stats.truncnorm` distribution has been rewritten to support much wider tails Deprecated features =================== `scipy` deprecations ----------------------------- Support for NumPy functions exposed via the root SciPy namespace is deprecated and will be removed in 2.0.0. For example, if you use ``scipy.rand`` or ``scipy.diag``, you should change your code to directly use ``numpy.random.default_rng`` or ``numpy.diag``, respectively. They remain available in the currently continuing Scipy 1.x release series. The exception to this rule is using ``scipy.fft`` as a function -- :mod:`scipy.fft` is now meant to be used only as a module, so the ability to call ``scipy.fft(...)`` will be removed in SciPy 1.5.0. In `scipy.spatial.Rotation` methods ``from_dcm``, ``as_dcm`` were renamed to ``from_matrix``, ``as_matrix`` respectively. The old names will be removed in SciPy 1.6.0. Method ``Rotation.match_vectors`` was deprecated in favor of ``Rotation.align_vectors``, which provides a more logical and general API to the same functionality. The old method will be removed in SciPy 1.6.0. Backwards incompatible changes ========================== `scipy.special` changes --------------------------------- The deprecated functions ``hyp2f0``, ``hyp1f2``, and ``hyp3f0`` have been removed. The deprecated function ``bessel_diff_formula`` has been removed. The function ``i0`` is no longer registered with ``numpy.dual``, so that ``numpy.dual.i0`` will unconditionally refer to the NumPy version regardless of whether `scipy.special` is imported. The function ``expn`` has been changed to return ``nan`` outside of its domain of definition (``x, n < 0``) instead of ``inf``. `scipy.sparse` changes -------------------------------- Sparse matrix reshape now raises an error if shape is not two-dimensional, rather than guessing what was meant. The behavior is now the same as before SciPy 1.1.0. ``CSR`` and ``CSC`` sparse matrix classes should now return empty matrices of the same type when indexed out of bounds. Previously, for some versions of SciPy, this would raise an ``IndexError``. The change is largely motivated by greater consistency with ``ndarray`` and ``numpy.matrix`` semantics. `scipy.signal` changes ------------------------------- `scipy.signal.resample` behavior for length-1 signal inputs has been fixed to output a constant (DC) value rather than an impulse, consistent with the assumption of signal periodicity in the FFT method. `scipy.signal.cwt` now performs complex conjugation and time-reversal of wavelet data, which is a backwards-incompatible bugfix for time-asymmetric wavelets. `scipy.stats` changes ------------------------------ `scipy.stats.loguniform` added with better documentation as (an alias for ``scipy.stats.reciprocal``). ``loguniform`` generates random variables that are equally likely in the log space; e.g., ``1``, ``10`` and ``100`` are all equally likely if ``loguniform(10 ** 0, 10 ** 2).rvs()`` is used. Other changes ============= The ``LSODA`` method of `scipy.integrate.solve_ivp` now correctly detects stiff problems. `scipy.spatial.cKDTree` now accepts and correctly handles empty input data `scipy.stats.binned_statistic_dd` now calculates the standard deviation statistic in a numerically stable way. `scipy.stats.binned_statistic_dd` now throws an error if the input data contains either ``np.nan`` or ``np.inf``. Similarly, in `scipy.stats` now all continuous distributions' ``.fit()`` methods throw an error if the input data contain any instance of either ``np.nan`` or ``np.inf``. Authors ======= * @endolith * @wenhui-prudencemed + * Abhinav + * Anne Archibald * ashwinpathak20nov1996 + * Danilo Augusto + * Nelson Auner + * aypiggott + * Christoph Baumgarten * Peter Bell * Sebastian Berg * Arman Bilge + * Benedikt Boecking + * Christoph Boeddeker + * Daniel Bunting * Evgeni Burovski * Angeline Burrell + * Angeline G. Burrell + * CJ Carey * Carlos Ramos Carre?o + * Mak Sze Chun + * Malayaja Chutani + * Christian Clauss + * Jonathan Conroy + * Stephen P Cook + * Dylan Cutler + * Anirudh Dagar + * Aidan Dang + * dankleeman + * Brandon David + * Tyler Dawson + * Dieter Werthm?ller * Joe Driscoll + * Jakub Dyczek + * D?vid Bodn?r * Fletcher Easton + * Stefan Endres * etienne + * Johann Faouzi * Yu Feng * Isuru Fernando + * Matthew H Flamm * Martin Gauch + * Gabriel Gerlero + * Ralf Gommers * Chris Gorgolewski + * Domen Gorjup + * Edouard Goudenhoofdt + * Jan Gwinner + * Maja Gwozdz + * Matt Haberland * hadshirt + * Pierre Haessig + * David Hagen * Charles Harris * Gina Helfrich + * Alex Henrie + * Francisco J. Hernandez Heras + * Andreas Hilboll * Lindsey Hiltner * Thomas Hisch * Min ho Kim + * Gert-Ludwig Ingold * jakobjakobson13 + * Todd Jennings * He Jia * Muhammad Firmansyah Kasim + * Andrew Knyazev + * Holger Kohr + * Mateusz Konieczny + * Krzysztof Pi?ro + * Philipp Lang + * Peter Mahler Larsen + * Eric Larson * Antony Lee * Gregory R. Lee * Chelsea Liu + * Jesse Livezey * Peter Lysakovski + * Jason Manley + * Michael Marien + * Nikolay Mayorov * G. D. McBain + * Sam McCormack + * Melissa Weber Mendon?a + * Kevin Michel + * mikeWShef + * Sturla Molden * Eric Moore * Peyton Murray + * Andrew Nelson * Clement Ng + * Juan Nunez-Iglesias * Renee Otten + * Kellie Ottoboni + * Ayappan P * Sambit Panda + * Tapasweni Pathak + * Oleksandr Pavlyk * Fabian Pedregosa * Petar Mlinari? * Matti Picus * Marcel Plch + * Christoph Pohl + * Ilhan Polat * Siddhesh Poyarekar + * Ioannis Prapas + * James Alan Preiss + * Yisheng Qiu + * Eric Quintero * Bharat Raghunathan + * Tyler Reddy * Joscha Reimer * Antonio Horta Ribeiro * Lucas Roberts * rtshort + * Josua Sassen * Kevin Sheppard * Scott Sievert * Leo Singer * Kai Striega * S?ren Fuglede J?rgensen * tborisow + * ?tienne Tremblay + * tuxcell + * Miguel de Val-Borro * Andrew Valentine + * Hugo van Kemenade * Paul van Mulbregt * Sebastiano Vigna * Pauli Virtanen * Dany Vohl + * Ben Walsh + * Huize Wang + * Warren Weckesser * Anreas Weh + * Joseph Weston + * Adrian Wijaya + * Timothy Willard + * Josh Wilson * Kentaro Yamamoto + * Dave Zbarsky + A total of 142 people contributed to this release. People with a "+" by their names contributed a patch for the first time. This list of names is automatically generated, and may not be fully complete. Issues closed for 1.4.0 -------------------------------- * `#1255 `__: maxiter broken for Scipy.sparse.linalg gmres, in addition to... * `#1301 `__: consolidate multipack.h from interpolate and integrate packages... * `#1739 `__: Single precision FFT insufficiently accurate. (Trac #1212) * `#1795 `__: stats test_distributions.py: replace old fuzz tests (Trac #1269) * `#2233 `__: fftpack segfault with big arrays (Trac #1714) * `#2434 `__: rmatmat and the sophistication of linear operator objects * `#2477 `__: stats.truncnorm.rvs() does not give symmetric results for negative... * `#2629 `__: FFTpack is unacceptably slow on non power of 2 * `#2883 `__: UnboundLocalError in scipy.interpolate.splrep * `#2956 `__: Feature Request: axis argument for stats.entropy function * `#3528 `__: Segfault on test_djbfft (possibly MKL-related?) * `#3793 `__: cwt should also return complex array * `#4464 `__: TST: residue/residuez/invres/invresz don't have any tests * `#4561 `__: BUG: tf filter trailing and leading zeros in residuez * `#4669 `__: Rewrite sosfilt to make a single loop over the input? * `#5040 `__: BUG: Empty data handling of (c)KDTrees * `#5112 `__: boxcox transform edge cases could use more care * `#5441 `__: scipy.stats.ncx2 fails for nc=0 * `#5502 `__: args keyword not handled in optimize.curve_fit * `#6484 `__: Qhull segmentation fault * `#6900 `__: linear_sum_assignment with infinite weights * `#6966 `__: Hypergeometric Functions documentation is lacking * `#6999 `__: possible false positive corruption check in compressed loadmat() * `#7018 `__: ydata that needs broadcasting renders curve_fit unable to compute... * `#7140 `__: trouble with documentation for windows * `#7327 `__: interpolate.ndgriddata.griddata causes Python to crash rather... * `#7396 `__: MatrixLinearOperator implements _adjoint(), but not _transpose() * `#7400 `__: BUG(?): special: factorial and factorial2 return a 0-dimensional... * `#7434 `__: Testing of scipy.stats continuous distributions misses 25 distributions * `#7491 `__: Several scipy.stats distributions (fisk, burr, burr12, f) return... * `#7759 `__: Overflow in stats.kruskal for large samples * `#7906 `__: Wrong result from scipy.interpolate.UnivariateSpline.integral... * `#8165 `__: ENH: match functionality of R for hmean * `#8417 `__: optimimze.minimize(method='L-BFGS-B', options={'disp': True})... * `#8535 `__: Strictly increasing requirement in UnivariateSpline * `#8815 `__: [BUG] GMRES: number of iteration is only increased if callback... * `#9207 `__: scipy.linalg.solve_triangular speed after scipy.linalg.lu_factor * `#9275 `__: new feature: adding LOBPCG solver in svds in addition to ARPACK * `#9403 `__: range of truncnorm.logpdf could be extended * `#9429 `__: gaussian_kde not working with numpy matrix * `#9515 `__: ndimage implementation relies on undefined behavior * `#9643 `__: arpack returns singular values in ascending order * `#9669 `__: DOC: matthew-brett/build-openblas has been retired * `#9852 `__: scipy.spatial.ConvexHull exit with code 134, free(): invalid... * `#9902 `__: scipy.stats.truncnorm second moment may be wrong * `#9943 `__: Custom sampling methods in shgo do not work * `#9947 `__: DOC: Incorrect documentation for \`nan_policy='propagate\` in... * `#9994 `__: BUG: sparse: reshape method allows a shape containing an arbitrary... * `#10036 `__: Official Nelder mead tutorial uses xtol instead of xatol, which... * `#10078 `__: possible to get a better error message when objective function... * `#10092 `__: overflow in truncnorm.rvs * `#10121 `__: A little spelling mistake * `#10126 `__: inaccurate std implementation in binned_statistic * `#10161 `__: Error in documentation scipy.special.modstruve * `#10195 `__: Derivative of spline with 'const' extrapolation is also extrapolted... * `#10206 `__: sparse matrices indexing with scipy 1.3 * `#10236 `__: Non-descriptive error on type mismatch for functions of scipy.optimize... * `#10258 `__: LOBPCG convergence failure if guess provided * `#10262 `__: distance matrix lacks dtype checks / warnings * `#10271 `__: BUG: optimize failure on wheels * `#10277 `__: scipy.special.zeta(0) = NAN * `#10292 `__: DOC/REL: Some sections of the release notes are not nested correctly. * `#10300 `__: scipy.stats.rv_continuous.fit throws empty RuntimeError when... * `#10319 `__: events in scipy.integrate.solve_ivp: How do I setup an events... * `#10323 `__: Adding more low-level LAPACK wrappers * `#10360 `__: firwin2 inadvertently modifies input and may result in undefined... * `#10388 `__: BLD: TestHerd::test_hetrd core dumps with Python-dbg * `#10395 `__: Remove warning about output shape of zoom * `#10403 `__: DOC: scipy.signal.resample ignores t parameter * `#10421 `__: Yeo-Johnson power transformation fails with integer input data * `#10422 `__: BUG: scipy.fft does not support multiprocessing * `#10427 `__: ENH: convolve numbers should be updated * `#10444 `__: BUG: scipy.spatial.transform.Rotation.match_vectors returns improper... * `#10488 `__: ENH: DCTs/DSTs for scipy.fft * `#10501 `__: BUG: scipy.spatial.HalfspaceIntersection works incorrectly * `#10514 `__: BUG: cKDTree GIL handling is incorrect * `#10535 `__: TST: master branch CI failures * `#10588 `__: scipy.fft and numpy.fft inconsistency when axes=None and shape... * `#10628 `__: Scipy python>3.6 Windows wheels don't ship msvcp\*.dll * `#10733 `__: DOC/BUG: min_only result does not match documentation * `#10774 `__: min_only=true djisktra infinite loop with duplicate indices * `#10775 `__: UnboundLocalError in Radau when given a NaN * `#10835 `__: io.wavfile.read unnecessarily raises an error for a bad wav header * `#10838 `__: Error in documentation for scipy.linalg.lu_factor * `#10875 `__: DOC: Graphical guides (using TikZ) * `#10880 `__: setting verbose > 2 in minimize with trust-constr method leads... * `#10887 `__: scipy.signal.signaltools._fftconv_faster has incorrect estimates * `#10948 `__: gammainc(0,x) = nan but should be 1, gammaincc(0,x) = nan but... * `#10952 `__: TestQRdelete_F.test_delete_last_p_col test failure * `#10968 `__: API: Change normalized=False to normalize=True in Rotation * `#10987 `__: Memory leak in shgo triangulation * `#10991 `__: Error running openBlas probably missing a step * `#11033 `__: deadlock on osx for python 3.8 * `#11041 `__: Test failure in wheel builds for TestTf2zpk.test_simple * `#11089 `__: Regression in scipy.stats where distribution will not accept loc and scale parameters * `#11100 `__: BUG: multiscale_graphcorr random state seeding and parallel use * `#11121 `__: Calls to `scipy.interpolate.splprep` increase RAM usage. * `#11125 `__: BUG: segfault when slicing a CSR or CSC sparse matrix with slice start index > stop index * `#11198 `__: BUG: sparse eigs (arpack) shift-invert drops the smallest eigenvalue for some k Pull requests for 1.4.0 ------------------------------- * `#4591 `__: BUG, TST: Several issues with scipy.signal.residue * `#6629 `__: ENH: sparse: canonicalize on initialization * `#7076 `__: ENH: add complex wavelet support to scipy.signal.cwt. * `#8681 `__: ENH add generalized inverse Gaussian distribution to scipy.stats * `#9064 `__: BUG/ENH: Added default _transpose into LinearOperator. Fixes... * `#9215 `__: ENH: Rbf interpolation of large multi-dimensional data * `#9311 `__: ENH: Added voigt in scipy.special. * `#9642 `__: ENH: integrate: quad() for vector-valued functions * `#9679 `__: DOC: expand docstring of exponweib distribution * `#9684 `__: TST: add ppc64le ci testing * `#9800 `__: WIP : ENH: Refactored _hungarian.py for speed and added a minimize/maximize? * `#9847 `__: DOC: Change integrate tutorial to use solve_ivp instead of odeint * `#9876 `__: ENH: Use rfft when possible in resampling * `#9998 `__: BUG: Do not remove 1s when calling sparse: reshape method #9994 * `#10002 `__: ENH: adds constraints for differential evolution * `#10098 `__: ENH: integrate: add args argument to solve_ivp. * `#10099 `__: DOC: Add missing docs for linprog unknown_options * `#10104 `__: BUG: Rewrite of stats.truncnorm distribution. * `#10105 `__: MAINT improve efficiency of rvs_ratio_uniforms in scipy.stats * `#10107 `__: TST: dual_annealing set seed * `#10108 `__: ENH: stats: improve kendall_tau cache usage * `#10110 `__: MAINT: _lib: Fix a build warning. * `#10114 `__: FIX: only print bounds when supported by minimizer (shgo) * `#10115 `__: TST: Add a test with an almost singular design matrix for lsq_linear * `#10118 `__: MAINT: fix rdist methods in scipy.stats * `#10119 `__: MAINT: improve rvs of randint in scipy.stats * `#10127 `__: Fix typo in record array field name (spatial-ckdtree-sparse_distance? * `#10130 `__: MAINT: ndimage: Fix some compiler warnings. * `#10131 `__: DOC: Note the solve_ivp args enhancement in the 1.4.0 release... * `#10133 `__: MAINT: add rvs for semicircular in scipy.stats * `#10138 `__: BUG: special: Invalid arguments to ellip_harm can crash Python. * `#10139 `__: MAINT: spatial: Fix some compiler warnings in the file distance_wrap.c. * `#10140 `__: ENH: add handling of NaN in RuntimeWarning except clause * `#10142 `__: DOC: return value of scipy.special.comb * `#10143 `__: MAINT: Loosen linprog tol * `#10152 `__: BUG: Fix custom sampling input for shgo, add unittest * `#10154 `__: MAINT: add moments and improve doc of mielke in scipy.stats * `#10158 `__: Issue #6999: read zlib checksum before checking bytes read. * `#10166 `__: BUG: Correctly handle broadcasted ydata in curve_fit pcov computation. * `#10167 `__: DOC: special: Add missing factor of \`i\` to \`modstruve\` docstring * `#10168 `__: MAINT: stats: Fix an incorrect comment. * `#10169 `__: ENH: optimize: Clarify error when objective function returns... * `#10172 `__: DEV: Run tests in parallel when --parallel flag is passed to... * `#10173 `__: ENH: Implement DOP853 ODE integrator * `#10176 `__: Fixed typo * `#10182 `__: TST: fix test issue for stats.pearsonr * `#10184 `__: MAINT: stats: Simplify zmap and zscore (we can use keepdims now). * `#10191 `__: DOC: fix a formatting issue in the scipy.spatial module docstring. * `#10193 `__: DOC: Updated docstring for optimize.nnls * `#10198 `__: DOC, ENH: special: Make \`hyp2f1\` references more specific * `#10202 `__: DOC: Format DST and DCT definitions as latex equations * `#10207 `__: BUG: Compressed matrix indexing should return a scalar * `#10210 `__: DOC: Update docs for connection='weak' in connected_components * `#10225 `__: DOC: Clarify new interfaces for legacy functions in 'optimize' * `#10231 `__: DOC, MAINT: gpg2 updates to release docs / pavement * `#10235 `__: LICENSE: split license file in standard BSD 3-clause and bundled. * `#10238 `__: ENH: Add new scipy.fft module using pocketfft * `#10243 `__: BUG: fix ARFF reader regression with quoted values. * `#10248 `__: DOC: update README file * `#10255 `__: CI: bump OpenBLAS to match wheels * `#10264 `__: TST: add tests for stats.tvar with unflattened arrays * `#10280 `__: MAINT: stats: Use a constant value for sqrt(2/PI). * `#10286 `__: Development Documentation Overhaul * `#10290 `__: MAINT: Deprecate NumPy functions in SciPy root * `#10291 `__: FIX: Avoid importing xdist when checking for availability * `#10295 `__: Disable deprecated Numpy API in __odrpack.c * `#10296 `__: ENH: C++ extension for linear assignment problem * `#10298 `__: ENH: Made pade function work with complex inputs * `#10301 `__: DOC: Fix critical value significance levels in stats.anderson_ksamp * `#10307 `__: Minkowski Distance Type Fix (issue #10262) * `#10309 `__: BUG: Pass jac=None directly to lsoda * `#10310 `__: BUG: interpolate: UnivariateSpline.derivative.ext is 'zeros'... * `#10312 `__: FIX: Fixing a typo in a comment * `#10314 `__: scipy.spatial enhancement request * `#10315 `__: DOC: Update integration tutorial to solve_ivp * `#10318 `__: DOC: update the example for PPoly.solve * `#10333 `__: TST: add tests for stats.tvar with unflattened arrays * `#10334 `__: MAINT: special: Remove deprecated \`hyp2f0\`, \`hyp1f2\`, and... * `#10336 `__: BUG: linalg/interpolative: fix interp_decomp modifying input * `#10341 `__: BUG: sparse.linalg/gmres: deprecate effect of callback on semantics... * `#10344 `__: DOC: improve wording of mathematical formulation * `#10345 `__: ENH: Tiled QR wrappers for scipy.linalg.lapack * `#10350 `__: MAINT: linalg: Use the new fft subpackage in linalg.dft test... * `#10351 `__: BUG: Fix unstable standard deviation calculation in histogram * `#10353 `__: Bug: interpolate.NearestNDInterpolator (issue #10352) * `#10357 `__: DOC: linalg: Refer to scipy.fft.fft (not fftpack) in the dft... * `#10359 `__: DOC: Update roadmap now scipy.fft has been merged * `#10361 `__: ENH: Prefer scipy.fft to scipy.fftpack in scipy.signal * `#10371 `__: DOC: Tweaks to fft documentation * `#10372 `__: DOC: Fix typos * `#10377 `__: TST, MAINT: adjustments for pytest 5.0 * `#10378 `__: ENH: _lib: allow new np.random.Generator in check_random_state * `#10379 `__: BUG: sparse: set writeability to be forward-compatible with numpy>=1.17 * `#10381 `__: BUG: Fixes gh-7491, pdf at x=0 of fisk/burr/burr12/f distributions. * `#10387 `__: ENH: optimize/bfgs: don't evaluate twice at initial point for... * `#10392 `__: [DOC] Add an example for _binned_statistic_dd * `#10396 `__: Remove warning about output shape of zoom * `#10397 `__: ENH: Add check_finite to sp.linalg.norm * `#10399 `__: ENH: Add __round__ method to sparse matrix * `#10407 `__: MAINT: drop pybind11 from install_requires, it's only build-time... * `#10408 `__: TST: use pytest.raises, not numpy assert_raises * `#10409 `__: CI: uninstall nose on Travis * `#10410 `__: [ENH] ncx2 dispatch to chi2 when nc=0 * `#10411 `__: TST: optimize: test should use assert_allclose for fp comparisons * `#10414 `__: DOC: add pybind11 to the other part of quickstart guides * `#10417 `__: DOC: special: don't mark non-ufuncs with a \`[+]\` * `#10423 `__: FIX: Use pybind11::isinstace to check array dtypes * `#10424 `__: DOC: add doctest example for binary data for ttest_ind_from_stats * `#10425 `__: ENH: Add missing Hermitian transforms to scipy.fft * `#10426 `__: MAINT: Fix doc build bugs * `#10431 `__: Update numpy version for AIX * `#10433 `__: MAINT: Minor fixes for the stats * `#10434 `__: BUG: special: make \`ndtri\` return NaN outside domain of definition * `#10435 `__: BUG: Allow integer input data in scipy.stats.yeojohnson * `#10438 `__: [DOC] Add example for kurtosis * `#10440 `__: ENH: special: make \`ellipk\` a ufunc * `#10443 `__: MAINT: ndimage: malloc fail check * `#10447 `__: BLD: Divert output from test compiles into a temporary directory * `#10451 `__: MAINT: signal: malloc fail check * `#10455 `__: BUG: special: fix values of \`hyperu\` for negative \`x\` * `#10456 `__: DOC: Added comment clarifying the call for dcsrch.f in lbfgsb.f * `#10457 `__: BUG: Allow ckdtree to accept empty data input * `#10459 `__: BUG:TST: Compute lwork safely * `#10460 `__: [DOC] Add example to entropy * `#10461 `__: DOC: Quickstart Guide updates * `#10462 `__: TST: special: only show max atol/rtol for test points that failed * `#10465 `__: BUG: Correctly align fft inputs * `#10467 `__: ENH: lower-memory duplicate generator checking in spatial.SphericalVoronoi * `#10470 `__: ENH: Normalise the inverse DCT/DST in scipy.fft * `#10472 `__: BENCH: adjust timeout for slow setup_cache * `#10475 `__: CI: include python debug for Travis-ci * `#10476 `__: TST: special: use \`__tracebackhide__\` to get better error messages * `#10477 `__: ENH: faster region building in spatial.SphericalVoronoi * `#10479 `__: BUG: stats: Fix a few issues with the distributions' fit method. * `#10480 `__: Add RuntimeError in _distn_infrastructure.py in fit() method * `#10481 `__: BENCH, MAINT: wheel_cache_size has been renamed build_cache_size * `#10494 `__: ENH: faster circumcenter calculation in spatial.SphericalVoronoi * `#10500 `__: Splrep _curfit_cache global variable bugfix * `#10503 `__: BUG: spatial/qhull: get HalfspaceIntersection.dual_points from... * `#10506 `__: DOC: interp2d, note nearest neighbor extrapolation * `#10507 `__: MAINT: Remove fortran fftpack library in favour of pypocketfft * `#10508 `__: TST: fix a bug in the circular import test. * `#10509 `__: MAINT: Set up _build_utils as subpackage * `#10516 `__: BUG: Use nogil contexts in cKDTree * `#10517 `__: ENH: fftconvolve should not FFT broadcastable axes * `#10518 `__: ENH: Speedup fftconvolve * `#10520 `__: DOC: Proper .rst formatting for deprecated features and Backwards... * `#10523 `__: DOC: Improve scipy.signal.resample documentation * `#10524 `__: ENH: Add MGC to scipy.stats * `#10525 `__: [ENH] ncx2.ppf dispatch to chi2 when nc=0 * `#10526 `__: DOC: clarify laplacian normalization * `#10528 `__: API: Rename scipy.fft DCT/DST shape argument to s * `#10531 `__: BUG: fixed improper rotations in spatial.transform.rotation.match_vectors * `#10533 `__: [DOC] Add example for winsorize function * `#10539 `__: MAINT: special: don't register \`i0\` with \`numpy.dual\` * `#10540 `__: MAINT: Fix Travis and Circle * `#10542 `__: MAINT: interpolate: use cython_lapack * `#10547 `__: Feature request. Add furthest site Voronoi diagrams to scipy.spatial.plotutils. * `#10549 `__: [BUG] Fix bug in trimr when inclusive=False * `#10552 `__: add scipy.signal.upfirdn signal extension modes * `#10555 `__: MAINT: special: move \`c_misc\` into Cephes * `#10556 `__: [DOC] Add example for trima * `#10562 `__: [DOC] Fix triple string fo trimmed so that __doc__ can show... * `#10563 `__: improve least_squares error msg for mismatched shape * `#10564 `__: ENH: linalg: memoize get_lapack/blas_funcs to speed it up * `#10566 `__: ENH: add implementation of solver for the maximum flow problem * `#10567 `__: BUG: spatial: use c++11 construct for getting start of vector... * `#10568 `__: DOC: special: small tweaks to the \`zetac\` docstring * `#10571 `__: [ENH] Gaussian_kde can accept matrix dataset * `#10574 `__: ENH: linalg: speed up _compute_lwork by avoiding numpy constructs * `#10582 `__: Fix typos with typos in bundled libraries reverted * `#10583 `__: ENH: special: add the analytic continuation of Riemann zeta * `#10584 `__: MAINT: special: clean up \`special.__all__\` * `#10586 `__: BUG: multidimensional scipy.fft functions should accept 's' rather... * `#10587 `__: BUG: integrate/lsoda: never abort run, set error istate instead * `#10594 `__: API: Replicate numpy's fftn behaviour when s is given but not... * `#10599 `__: DOC: dev: update documentation vs. github pull request workflow... * `#10603 `__: MAINT: installer scripts removed * `#10604 `__: MAINT: Change c\*np.ones(...) to np.full(..., c, ...) in many... * `#10608 `__: Univariate splines should require x to be strictly increasing... * `#10613 `__: ENH: Add seed option for gaussian_kde.resample * `#10614 `__: ENH: Add parallel computation to scipy.fft * `#10615 `__: MAINT: interpolate: remove unused header file * `#10616 `__: MAINT: Clean up 32-bit platform xfail markers * `#10618 `__: BENCH: Added 'trust-constr' to minimize benchmarks * `#10621 `__: [MRG] multiple stability updates in lobpcg * `#10622 `__: MAINT: forward port 1.3.1 release notes * `#10624 `__: DOC: stats: Fix spelling of 'support'. * `#10627 `__: DOC: stats: Add references for the alpha distribution. * `#10629 `__: MAINT: special: avoid overflow longer in \`zeta\` for negative... * `#10630 `__: TST: GH10271, relax test assertion, fixes #10271 * `#10631 `__: DOC: nelder-mean uses xatol fixes #10036 * `#10633 `__: BUG: interpolate: integral(a, b) should be zero when both limits... * `#10635 `__: DOC: special: complete hypergeometric functions documentation * `#10636 `__: BUG: special: use series for \`hyp1f1\` when it converges rapidly * `#10641 `__: ENH: allow matching of general bipartite graphs * `#10643 `__: ENH: scipy.sparse.linalg.spsolve triangular unit diagonal * `#10650 `__: ENH: Cythonize sosfilt * `#10654 `__: DOC: Vertical alignment of table entries * `#10655 `__: ENH: Dockerfile for scipy development * `#10660 `__: TST: clean up tests for rvs in scipy.stats * `#10664 `__: Throw error on non-finite input for binned_statistic_dd() * `#10665 `__: DOC: special: improve the docstrings for \`gamma\` and \`gammasgn\` * `#10669 `__: TST: Update scipy.fft real transform tests * `#10670 `__: DOC: Clarify docs and error messages for scipy.signal.butter * `#10672 `__: ENH: return solution attribute when using events in solve_ivp * `#10675 `__: MAINT: special: add an explicit NaN check for \`iv\` arguments * `#10679 `__: DOC: special: Add documentation for \`beta\` function * `#10681 `__: TST: sparse.linalg: fix arnoldi test seed * `#10682 `__: DOC: special: Add documentation for \`betainc\` function * `#10684 `__: TST: special: require Mpmath 1.1.0 for \`test_hyperu_around_0\` * `#10686 `__: FIX: sphinx isattributedescriptor is not available in sphinx... * `#10687 `__: DOC: added Docker quickstart guide by @andyfaff * `#10689 `__: DOC: special: clarify format of parameters/returns sections for... * `#10690 `__: DOC: special: improve docstrings of incomplete gamma functions * `#10692 `__: ENH: higher-dimensional input in \`spatial.SphericalVoronoi\` * `#10694 `__: ENH: ScalarFunction.fun_and_grad * `#10698 `__: DOC: special: Add documentation for \`betaincinv\` * `#10699 `__: MAINT: remove time print lbfgsb fixes #8417 * `#10701 `__: TST, MAINT: bump OpenBLAS to 0.3.7 stable * `#10702 `__: DOC: clarify iterations consume multiple function calls * `#10703 `__: DOC: iprint doc lbfgsb closes #5482 * `#10708 `__: TST: test suggested in gh1758 * `#10710 `__: ENH: Added nan_policy to circ functions in \`stats\` * `#10712 `__: ENH: add axis parameter to stats.entropy * `#10714 `__: DOC: Formatting fix rv_continuous.expect docs * `#10715 `__: DOC: BLD: update doc Makefile for python version; add scipy version... * `#10717 `__: MAINT: modernize doc/Makefile * `#10719 `__: Enable setting minres initial vector * `#10720 `__: DOC: silence random warning in doc build for \`stats.binned_statistic_dd\` * `#10724 `__: DEV: Add doc option to runtests.py * `#10728 `__: MAINT: get rid of gramA, gramB text files that lobpcg tests leave... * `#10732 `__: DOC: add min_only to docstring for Dijkstra's algorithm * `#10734 `__: DOC: spell out difference between source and target in shortest... * `#10735 `__: Fix for Python 4 * `#10739 `__: BUG: optimize/slsqp: deal with singular BFGS update * `#10741 `__: ENH: LAPACK wrappers for ?geequ, ?geequb, ?syequb, ?heequb * `#10742 `__: DOC: special: add to the docstring of \`gammaln\` * `#10743 `__: ENH: special: add a real dispatch for \`wrightomega\` * `#10746 `__: MAINT: Fix typos in comments, docs and test name * `#10747 `__: Remove spurious quotes * `#10750 `__: MAINT: make cython code more precise * `#10751 `__: MAINT: Check that scipy.linalg.lapack functions are documented * `#10752 `__: MAINT: special: use \`sf_error\` in Cephes * `#10755 `__: DOC: cluster: Add 'See Also' and 'Examples' for kmeans2. * `#10763 `__: MAINT: list of minimize methods * `#10768 `__: BUG: Fix corner case for sos2zpk * `#10773 `__: Fix error type for complex input to scipy.fftpack.rfft and irfft * `#10776 `__: ENH: handle geodesic input in \`spatial.SphericalVoronoi\` * `#10777 `__: MAINT: minimizer-->custom should handle the kinds of bounds/constrain?... * `#10781 `__: ENH: solve_triangular C order improvement * `#10787 `__: Fix behavior of \`exp1\` on branch cut and add docstring * `#10789 `__: DOC: special: add parameters/returns doc sections for erfc/erfcx/erfi * `#10790 `__: Travis CI: sudo is deprecated and Xenial is default distro * `#10792 `__: DOC: special: add full docstring for \`expi\` * `#10799 `__: DOC: special: add a complete docstring for \`expn\` * `#10800 `__: Docs edits (GSoD) * `#10802 `__: BUG: fix UnboundLocalError in Radau (scipy#10775) * `#10804 `__: ENH: Speed up next_fast_len with LRU cache * `#10805 `__: DOC: Fix unbalanced quotes in signal.place_poles * `#10809 `__: ENH: Speed up next_fast_len * `#10810 `__: ENH: Raise catchable exceptions for bad Fortran files * `#10811 `__: MAINT: optimize: Remove extra variable from _remove_redundancy_dense * `#10813 `__: MAINT: special: Remove unused variables from _kolmogi and _smirnovi * `#10815 `__: DOC, API: scipy.stats.reciprocal is "log-uniform" * `#10816 `__: MAINT: special: remove deprecated \`bessel_diff_formula\` * `#10817 `__: DOC: special: complete the docstring for \`fresnel\` * `#10820 `__: Fixed compiler_helper.py to allow compilation with ICC on Linux * `#10823 `__: DOC: updated reference guide text for consistency in writing... * `#10825 `__: MAINT: special: change some features of the Voigt function * `#10828 `__: MAINT: integrate: Remove unused variable from init_callback * `#10830 `__: Adding LOBPCG solver in svds in addition to ARPACK * `#10837 `__: WIP: ENH: reduction function for \`spatial.tranform.Rotation\`... * `#10843 `__: ENH: Adding optional parameter to stats.zscores to allow for... * `#10845 `__: Rebase kruskal fix * `#10847 `__: remove redundant __getitem__ from scipy.sparse.lil * `#10848 `__: Better handling of empty (not missing) docstrings * `#10849 `__: ENH: implement rmatmat for LinearOperator * `#10850 `__: MAINT : Refactoring lil List of Lists * `#10851 `__: DOC: add a generative art example to the scipy.spatial tutorial. * `#10852 `__: DOC: linalg: fixed gh-10838 unused imports in example deleted * `#10854 `__: DOC: special: add a full docstring for \`pdtr\` * `#10861 `__: ENH: option to reuse binnumbers in stats.binned_statistic_dd * `#10863 `__: DOC: partial standardization and validation of scipy.stats reference... * `#10865 `__: BUG: special: fix incomplete gamma functions for infinite \`a\` * `#10866 `__: ENH: calculation of mean in spatial.transform.Rotation * `#10867 `__: MAINT: Also store latex directory * `#10869 `__: ENH: Implement overlap-add convolution * `#10870 `__: ENH: Do not raise EOF error if wavfile data read * `#10876 `__: ENH: Add beta-binomial distribution to scipy.stats * `#10878 `__: MAINT: Update R project URL * `#10883 `__: MAINT: (ndimage) More robust check for output being a numpy dtype * `#10884 `__: DOC: Added instructions on adding a new distribution to scipy.stats. * `#10885 `__: [BUG] fix lobpcg with maxiter=None results in Exception * `#10899 `__: ENH: Match R functionality for hmean * `#10900 `__: MAINT: stats: Use keepdims to simplify a few lines in power_divergence. * `#10901 `__: ENH: sparse/linalg: support pydata/sparse matrices * `#10907 `__: Check whether \`maxiter\` is integer * `#10912 `__: ENH: warn user that quad() ignores \`points=...\` when \`weight=...\`... * `#10918 `__: CI: fix Travis CI py3.8 build * `#10920 `__: MAINT: Update constants to codata 2018 values (second try) * `#10921 `__: ENH: scipy.sparse.lil: tocsr accelerated * `#10924 `__: BUG: Forbid passing 'args' as kwarg in scipy.optimize.curve_fit * `#10928 `__: DOC: Add examples to io.wavfile docstrings * `#10934 `__: typo fix * `#10935 `__: BUG: Avoid undefined behaviour on float to unsigned conversion * `#10936 `__: DOC: Added missing example to stats.mstats.variation * `#10939 `__: ENH: scipy.sparse.lil: tocsr accelerated depending on density * `#10946 `__: BUG: setting verbose > 2 in minimize with trust-constr method... * `#10947 `__: DOC: special: small improvements to the \`poch\` docstring * `#10949 `__: BUG: fix return type of erlang_gen._argcheck * `#10951 `__: DOC: fixed Ricker wavelet formula * `#10954 `__: BUG: special: fix \`factorial\` return type for 0-d inputs * `#10955 `__: MAINT: Relax the assert_unitary atol value * `#10956 `__: WIP: make pdtr(int, double) be pdtr(double, double) * `#10957 `__: BUG: Ensure full binary compatibility of long double test data * `#10964 `__: ENH: Make Slerp callable with a scalar argument * `#10972 `__: BUG: Handle complex gains in zpk2sos * `#10975 `__: TST: skip test_kendalltau ppc64le * `#10978 `__: BUG: boxcox data dimension and constancy check #5112 * `#10979 `__: API: Rename dcm to (rotation) matrix in Rotation class * `#10981 `__: MAINT: add support for a==0 and x>0 edge case to igam and igamc * `#10986 `__: MAINT: Remove direct imports from numpy in signaltools.py * `#10988 `__: BUG: signal: fixed issue #10360 * `#10989 `__: FIX binned_statistic_dd Mac wheel test fails * `#10990 `__: BUG: Fix memory leak in shgo triangulation * `#10992 `__: TST: Relax tolerance in upfirdn test_modes * `#10993 `__: TST: bump tolerance in optimize tests * `#10997 `__: MAINT: Rework residue and residuez * `#11001 `__: DOC: Updated Windows build tutorial * `#11004 `__: BUG: integrate/quad_vec: fix several bugs in quad_vec * `#11005 `__: TST: add Python 3.8 Win CI * `#11006 `__: DOC: special: add a reference for \`kl_div\` * `#11012 `__: MAINT: Rework invres and invresz * `#11015 `__: DOC: special: add references for \`rel_entr\` * `#11017 `__: DOC: numpydoc validation of morestats.py * `#11018 `__: MAINT: Filter unrelated warning * `#11031 `__: MAINT: update choose_conv_method for pocketfft implementation * `#11034 `__: MAINT: TST: Skip tests with multiprocessing that use "spawn"... * `#11036 `__: DOC: update doc/README with some more useful content. * `#11037 `__: DOC: special: add a complete docstring for \`rgamma\` * `#11038 `__: DOC: special: add a reference for the polygamma function * `#11042 `__: TST: fix tf2zpk test failure due to incorrect complex sorting. * `#11044 `__: MAINT: choose_conv_method can choose fftconvolution for longcomplex * `#11046 `__: TST: Reduce tolerance for ppc64le with reference lapack * `#11048 `__: DOC: special: add reference for orthogonal polynomial functions * `#11049 `__: MAINT: proper random number initialization and readability fix * `#11051 `__: MAINT: pep8 cleanup * `#11054 `__: TST: bump test precision for dual_annealing SLSQP test * `#11055 `__: DOC: special: add a reference for \`zeta\` * `#11056 `__: API: Deprecated normalized keyword in Rotation * `#11065 `__: DOC: Ubuntu Development Environment Quickstart should not modify... * `#11066 `__: BUG: skip deprecation for numpy top-level types * `#11067 `__: DOC: updated documentation for consistency in writing style * `#11070 `__: DOC: Amendment to Ubuntu Development Environment Quickstart should... * `#11073 `__: DOC: fix 1.4.0 release notes * `#11081 `__: API: Replace Rotation.match_vectors with align_vectors * `#11083 `__: DOC: more 1.4.0 release note fixes * `#11092 `__: BUG: stats: fix freezing of some distributions * `#11096 `__: BUG: scipy.sparse.csgraph: fixed issue #10774 * `#11124 `__: fix Cython warnings related to _stats.pyx * `#11126 `__: BUG: interpolate/fitpack: fix memory leak in splprep * `#11127 `__: Avoid potential segfault in CSR and CSC matrix indexing * `#11152 `__: BUG: Fix random state bug multiscale_graphcorr * `#11166 `__: BUG: empty sparse slice shapes * `#11167 `__: BUG: redundant fft in signal.resample * `#11181 `__: TST: Fix tolerance of tests for aarch64 * `#11182 `__: TST: Bump up tolerance for test_maxiter_worsening * `#11199 `__: BUG: sparse.linalg: mistake in unsymm. real shift-invert ARPACK eigenvalue selection Checksums ========= MD5 ~~~ aa98f881f11681a35e18eadbf2c403fd scipy-1.4.0-cp35-cp35m-macosx_10_6_intel.whl d99b88d888f8a78a67896b2f895c3aba scipy-1.4.0-cp35-cp35m-manylinux1_i686.whl 13d1ab63e2ca8d2c2ac9f0b01f37b374 scipy-1.4.0-cp35-cp35m-manylinux1_x86_64.whl b9908d9dddf3fa5bd9b2458ea42c2813 scipy-1.4.0-cp35-cp35m-win32.whl e6a6bb14d377ef8b893a710b9fcd05a8 scipy-1.4.0-cp35-cp35m-win_amd64.whl 203b3f7e9bee44d3ccb3d3e0ffd62a81 scipy-1.4.0-cp36-cp36m-macosx_10_6_intel.whl 3cb0fde221141e35dd7c759b727e86d1 scipy-1.4.0-cp36-cp36m-manylinux1_i686.whl 9ae6711749bb09f812e634fec628bd23 scipy-1.4.0-cp36-cp36m-manylinux1_x86_64.whl da06f24a28995b3495d7696727a3a113 scipy-1.4.0-cp36-cp36m-win32.whl a7a16dca144deca4cf6ad8f8ae2c7823 scipy-1.4.0-cp36-cp36m-win_amd64.whl 82568a0464db2717671347296119353b scipy-1.4.0-cp37-cp37m-macosx_10_6_intel.whl 9d49feaf58101c8ef72b4ff294f189c3 scipy-1.4.0-cp37-cp37m-manylinux1_i686.whl 0b2772b857ae94b74923212fd733d136 scipy-1.4.0-cp37-cp37m-manylinux1_x86_64.whl 8d6f4725a8c533bf058eb38dcb6ed2f7 scipy-1.4.0-cp37-cp37m-win32.whl 6afaa582de4454655cb9cdf1b175b9b8 scipy-1.4.0-cp37-cp37m-win_amd64.whl 3fccff6188a8ca127f61dd200aef367a scipy-1.4.0-cp38-cp38-macosx_10_9_x86_64.whl ac16f5ad172f3150ccf191a63b62fd9a scipy-1.4.0-cp38-cp38-manylinux1_i686.whl a8508c9beeda3859a1fc5adcba46e0ac scipy-1.4.0-cp38-cp38-manylinux1_x86_64.whl 9f20a8fdb63c53757455deeab05ae75a scipy-1.4.0-cp38-cp38-win32.whl 34b5f5adf9145c6db408357e2784501e scipy-1.4.0-cp38-cp38-win_amd64.whl 77be719dcb5a81ddd6c3260bc37a2e59 scipy-1.4.0.tar.gz f62205fc40fba8b7fbfa283c1b2770e1 scipy-1.4.0.tar.xz 5e57299c2cc780a3650ed60ba9cda4e0 scipy-1.4.0.zip SHA256 ~~~~~~ 1b51721e5792c4d722e0cab4daf82187d5f22f2e42c56cd247398a16e4d2f48d scipy-1.4.0-cp35-cp35m-macosx_10_6_intel.whl cdbcfbe97a21fc6b3c55991a7bcd6a278a38bd197e2d274a45611cdc91beb5c0 scipy-1.4.0-cp35-cp35m-manylinux1_i686.whl 2d5b67afa5f5e0cf60dc747327c5be15cde434bed9c96743019886f86bfe0918 scipy-1.4.0-cp35-cp35m-manylinux1_x86_64.whl ab35718a2dd58089fbbdf3bcf1bb368a2ec99314de58f65d5d9a1cc8a1f49419 scipy-1.4.0-cp35-cp35m-win32.whl c2722813ff63bb1f0fb3c75253a85a16c2b0ecc8c4f999f666a7788bf7c6e4c3 scipy-1.4.0-cp35-cp35m-win_amd64.whl 203ba7ab52270e392e7e43834ffbe94fae09ca7f03113a11170cd36d0826eece scipy-1.4.0-cp36-cp36m-macosx_10_6_intel.whl 1e46825a4b810e2c36cfebecbad09edfd14b74a43f6146343ec96c62659e4573 scipy-1.4.0-cp36-cp36m-manylinux1_i686.whl 72e644285a39aa64aaef7373fcbbed998aa7a550dc073d910d712a9380eba8b1 scipy-1.4.0-cp36-cp36m-manylinux1_x86_64.whl fb4b6c26e39375e0cb56d05508c1b43515589725f903c9250940fca906e909fd scipy-1.4.0-cp36-cp36m-win32.whl 4061d71c0f143f3985d2ea9ebc4c1d86eff6df79318f265a5fdb23527811f5b2 scipy-1.4.0-cp36-cp36m-win_amd64.whl 204667ab336e9087a9bcd2be37b540703aef7b6f9a4fd776186d18b8b972f24a scipy-1.4.0-cp37-cp37m-macosx_10_6_intel.whl c1fe5826d26b684d5a690099d56f010a4bdd916e32f9fc0e0898c22551fdc635 scipy-1.4.0-cp37-cp37m-manylinux1_i686.whl b51597ed8c1d3f2f07e537fb492a2c3659e477c502ad93c7e241f39ae9e21a78 scipy-1.4.0-cp37-cp37m-manylinux1_x86_64.whl 39e9571ae080c149f4b5324836e7ee06a7e331e77f0d6d55f9c6ab7266cd875a scipy-1.4.0-cp37-cp37m-win32.whl e47f4d0be4fc6985c789d24898ad65daec781c7f5da4a3d4c76ed9af285306ba scipy-1.4.0-cp37-cp37m-win_amd64.whl 6fcc1e8b47c332bb0a558d7529ede0990ea5ff822a9a4392b003adad8e0b31b8 scipy-1.4.0-cp38-cp38-macosx_10_9_x86_64.whl bbb21e998e136e1fdfd77e808abf16c72e75c6ffbb87f4b5a41f19c9a4b3e2de scipy-1.4.0-cp38-cp38-manylinux1_i686.whl fa39935d7db5066a1b88575fdb196bb576474a17987637430df6bede311906be scipy-1.4.0-cp38-cp38-manylinux1_x86_64.whl 461ca398ac6cb46bc89bdbc9f6a81c0302ee370cebe8be682c84a51977e21ded scipy-1.4.0-cp38-cp38-win32.whl e588454fd6899d93b73d648d4d90d3d1285c91d08530a6ab94826676c862cabc scipy-1.4.0-cp38-cp38-win_amd64.whl 31f7cfa93b01507c935c12b535e24812594002a02a56803d7cd063e9920d25e8 scipy-1.4.0.tar.gz 6d174683254ed39d4659f63ce512b843bc45479ce06a05dc089a48c17f1d68e7 scipy-1.4.0.tar.xz 704af03ecd4e2191daa12106449c5921f155d210812cce0d9c5f47194f312cda scipy-1.4.0.zip -----BEGIN PGP SIGNATURE----- iQGzBAEBCAAdFiEEuinQzfUTSK0iykiguEZ+VI8xggYFAl34CSgACgkQuEZ+VI8x ggY+FQv/TiG+T2eNdpy7t9gwe5aH+sGT5Fi0sli73C3I76fU/WCAx8N9MGnufIMK hM1gF6feVWDiZRmEjXXHiVQM3ae4TAhq7V0ucxBQ+nonQf98EEWg0M1AHwEKx7HK mRUT+50hCzqqRnv9axHHUxs93SPjv+xWkGvhZX9UfhrjPUCbglOd1yM60GZZkvxZ Gj0thpz/eob8w8BM/NNo0TUyCG2e3nREobUdaGxPTaWJR53mYM4caC9dk7+ZvvCl MsPEtFVuPpWUawSbqILQHo/Nqv8NYvIP0/90y6w9A+7oRCgh1U+BeI4JEQYpQAxT EDUTw0bG3aG9SRqqZWPj86gMmvioFpxyLh2+zv5pN34ivaFR3hcsxrUsku/1B8u5 VkUaZwf7QXM+LhrbpxlhFLxad8wXEZjdYeD/l4TXGKSadMER5tRSSL/kUgEgC+KC CpP+Jy1BIU2ypahyTr5siQrLP/kzYvKjeZsGS/RlGRoiZ6qUGA4I0/HFpUoQIZfE Bfzgh2Kx =QU1D -----END PGP SIGNATURE----- -------------- next part -------------- An HTML attachment was scrubbed... URL: From charlesr.harris at gmail.com Mon Dec 16 19:48:07 2019 From: charlesr.harris at gmail.com (Charles R Harris) Date: Mon, 16 Dec 2019 17:48:07 -0700 Subject: [SciPy-Dev] ANN: SciPy 1.4.0 In-Reply-To: References: Message-ID: On Mon, Dec 16, 2019 at 5:37 PM Tyler Reddy wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA256 > > Hi all, > > On behalf of the SciPy development team I'm pleased to announce > the release of SciPy 1.4.0. > > Sources and binary wheels can be found at: > https://pypi.org/project/scipy/ > and at: > https://github.com/scipy/scipy/releases/tag/v1.4.0 > > One of a few ways to install this release with pip: > > pip install scipy==1.4.0 > Looks like a big release. Thanks Tyler. Chuck -------------- next part -------------- An HTML attachment was scrubbed... URL: From warren.weckesser at gmail.com Mon Dec 16 20:13:07 2019 From: warren.weckesser at gmail.com (Warren Weckesser) Date: Mon, 16 Dec 2019 20:13:07 -0500 Subject: [SciPy-Dev] ANN: SciPy 1.4.0 In-Reply-To: References: Message-ID: On 12/16/19, Tyler Reddy wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA256 > > Hi all, > > On behalf of the SciPy development team I'm pleased to announce > the release of SciPy 1.4.0. Fantastic, thanks Tyler! Warren > > Sources and binary wheels can be found at: > https://pypi.org/project/scipy/ > and at: > https://github.com/scipy/scipy/releases/tag/v1.4.0 > > One of a few ways to install this release with pip: > > pip install scipy==1.4.0 > > ========================== > SciPy 1.4.0 Release Notes > ========================== > > SciPy 1.4.0 is the culmination of 6 months of hard work. It contains > many new features, numerous bug-fixes, improved test coverage and better > documentation. There have been a number of deprecations and API changes > in this release, which are documented below. All users are encouraged to > upgrade to this release, as there are a large number of bug-fixes and > optimizations. Before upgrading, we recommend that users check that > their own code does not use deprecated SciPy functionality (to do so, > run your code with ``python -Wd`` and check for ``DeprecationWarning`` s). > Our development attention will now shift to bug-fix releases on the > 1.4.x branch, and on adding new features on the master branch. > > This release requires Python 3.5+ and NumPy >=1.13.3 (for Python 3.5, 3.6), >>=1.14.5 (for Python 3.7), >= 1.17.3 (for Python 3.8) > > For running on PyPy, PyPy3 6.0+ and NumPy 1.15.0 are required. > > Highlights of this release > ---------------------------------- > > - a new submodule, `scipy.fft`, now supersedes `scipy.fftpack`; this > means support for ``long double`` transforms, faster multi-dimensional > transforms, improved algorithm time complexity, release of the global > intepreter lock, and control over threading behavior > - support for ``pydata/sparse`` arrays in `scipy.sparse.linalg` > - substantial improvement to the documentation and functionality of > several `scipy.special` functions, and some new additions > - the generalized inverse Gaussian distribution has been added to > `scipy.stats` > - an implementation of the Edmonds-Karp algorithm in > `scipy.sparse.csgraph.maximum_flow` > - `scipy.spatial.SphericalVoronoi` now supports n-dimensional input, > has linear memory complexity, improved performance, and > supports single-hemisphere generators > > > New features > ============ > > Infrastructure > -------------------- > Documentation can now be built with ``runtests.py --doc`` > > A ``Dockerfile`` is now available in the ``scipy/scipy-dev`` repository to > facilitate getting started with SciPy development. > > `scipy.constants` improvements > --------------------------------------------- > `scipy.constants` has been updated with the CODATA 2018 constants. > > > `scipy.fft` added > ------------------------ > `scipy.fft` is a new submodule that supersedes the `scipy.fftpack` > submodule. > For the most part, this is a drop-in replacement for ``numpy.fft`` and > `scipy.fftpack` alike. With some important differences, `scipy.fft`: > - uses NumPy's conventions for real transforms (``rfft``). This means the > return value is a complex array, half the size of the full ``fft`` output. > This is different from the output of ``fftpack`` which returned a real > array > representing complex components packed together. > - the inverse real to real transforms (``idct`` and ``idst``) are > normalized > for ``norm=None`` in thesame way as ``ifft``. This means the identity > ``idct(dct(x)) == x`` is now ``True`` for all norm modes. > - does not include the convolutions or pseudo-differential operators > from ``fftpack``. > > This submodule is based on the ``pypocketfft`` library, developed by the > author of ``pocketfft`` which was recently adopted by NumPy as well. > ``pypocketfft`` offers a number of advantages over fortran ``FFTPACK``: > - support for long double (``np.longfloat``) precision transforms. > - faster multi-dimensional transforms using vectorisation > - Bluestein?s algorithm removes the worst-case ``O(n^2)`` complexity of > ``FFTPACK`` > - the global interpreter lock (``GIL``) is released during transforms > - optional multithreading of multi-dimensional transforms via the > ``workers`` > argument > > Note that `scipy.fftpack` has not been deprecated and will continue to be > maintained but is now considered legacy. New code is recommended to use > `scipy.fft` instead, where possible. > > `scipy.fftpack` improvements > ---------------------------------------- > `scipy.fftpack` now uses pypocketfft to perform its FFTs, offering the same > speed and accuracy benefits listed for scipy.fft above but without the > improved API. > > `scipy.integrate` improvements > ------------------------------------------- > > The function `scipy.integrate.solve_ivp` now has an ``args`` argument. > This allows the user-defined functions passed to the function to have > additional parameters without having to create wrapper functions or > lambda expressions for them. > > `scipy.integrate.solve_ivp` can now return a ``y_events`` attribute > representing the solution of the ODE at event times > > New ``OdeSolver`` is implemented --- ``DOP853``. This is a high-order > explicit > Runge-Kutta method originally implemented in Fortran. Now we provide a pure > Python implementation usable through ``solve_ivp`` with all its features. > > `scipy.integrate.quad` provides better user feedback when break points are > specified with a weighted integrand. > > `scipy.integrate.quad_vec` is now available for general purpose integration > of vector-valued functions > > > `scipy.interpolate` improvements > --------------------------------------------- > `scipy.interpolate.pade` now handles complex input data gracefully > > `scipy.interpolate.Rbf` can now interpolate multi-dimensional functions > > `scipy.io` improvements > --------------------------------- > > `scipy.io.wavfile.read` can now read data from a `WAV` file that has a > malformed header, similar to other modern `WAV` file parsers > > `scipy.io.FortranFile` now has an expanded set of available ``Exception`` > classes for handling poorly-formatted files > > > `scipy.linalg` improvements > ------------------------------------- > The function ``scipy.linalg.subspace_angles(A, B)`` now gives correct > results for complex-valued matrices. Before this, the function only > returned > correct values for real-valued matrices. > > New boolean keyword argument ``check_finite`` for `scipy.linalg.norm`; > whether > to check that the input matrix contains only finite numbers. Disabling may > give a performance gain, but may result in problems (crashes, > non-termination) > if the inputs do contain infinities or NaNs. > > `scipy.linalg.solve_triangular` has improved performance for a C-ordered > triangular matrix > > ``LAPACK`` wrappers have been added for ``?geequ``, ``?geequb``, > ``?syequb``, > and ``?heequb`` > > Some performance improvements may be observed due to an internal > optimization > in operations involving LAPACK routines via ``_compute_lwork``. This is > particularly true for operations on small arrays. > > Block ``QR`` wrappers are now available in `scipy.linalg.lapack` > > > `scipy.ndimage` improvements > ------------------------------------------ > > > `scipy.optimize` improvements > ------------------------------------------ > It is now possible to use linear and non-linear constraints with > `scipy.optimize.differential_evolution`. > > `scipy.optimize.linear_sum_assignment` has been re-written in C++ to > improve > performance, and now allows input costs to be infinite. > > A ``ScalarFunction.fun_and_grad`` method was added for convenient > simultaneous > retrieval of a function and gradient evaluation > > `scipy.optimize.minimize` ``BFGS`` method has improved performance by > avoiding > duplicate evaluations in some cases > > Better user feedback is provided when an objective function returns an > array > instead of a scalar. > > > `scipy.signal` improvements > -------------------------------------- > > Added a new function to calculate convolution using the overlap-add method, > named `scipy.signal.oaconvolve`. Like `scipy.signal.fftconvolve`, this > function supports specifying dimensions along which to do the convolution. > > `scipy.signal.cwt` now supports complex wavelets. > > The implementation of ``choose_conv_method`` has been updated to reflect > the > new FFT implementation. In addition, the performance has been significantly > improved (with rather drastic improvements in edge cases). > > The function ``upfirdn`` now has a ``mode`` keyword argument that can be > used > to select the signal extension mode used at the signal boundaries. These > modes > are also available for use in ``resample_poly`` via a newly added > ``padtype`` > argument. > > `scipy.signal.sosfilt` now benefits from Cython code for improved > performance > > `scipy.signal.resample` should be more efficient by leveraging ``rfft`` > when > possible > > `scipy.sparse` improvements > --------------------------------------- > It is now possible to use the LOBPCG method in `scipy.sparse.linalg.svds`. > > `scipy.sparse.linalg.LinearOperator` now supports the operation ``rmatmat`` > for adjoint matrix-matrix multiplication, in addition to ``rmatvec``. > > Multiple stability updates enable float32 support in the LOBPCG eigenvalue > solver for symmetric and Hermitian eigenvalues problems in > ``scipy.sparse.linalg.lobpcg``. > > A solver for the maximum flow problem has been added as > `scipy.sparse.csgraph.maximum_flow`. > > `scipy.sparse.csgraph.maximum_bipartite_matching` now allows non-square > inputs, > no longer requires a perfect matching to exist, and has improved > performance. > > `scipy.sparse.lil_matrix` conversions now perform better in some scenarios > > Basic support is available for ``pydata/sparse`` arrays in > `scipy.sparse.linalg` > > `scipy.sparse.linalg.spsolve_triangular` now supports the ``unit_diagonal`` > argument to improve call signature similarity with its dense counterpart, > `scipy.linalg.solve_triangular` > > ``assertAlmostEqual`` may now be used with sparse matrices, which have > added > support for ``__round__`` > > `scipy.spatial` improvements > --------------------------------------- > The bundled Qhull library was upgraded to version 2019.1, fixing several > issues. Scipy-specific patches are no longer applied to it. > > `scipy.spatial.SphericalVoronoi` now has linear memory complexity, improved > performance, and supports single-hemisphere generators. Support has also > been > added for handling generators that lie on a great circle arc (geodesic > input) > and for generators in n-dimensions. > > `scipy.spatial.transform.Rotation` now includes functions for calculation > of a > mean rotation, generation of the 3D rotation groups, and reduction of > rotations > with rotational symmetries. > > `scipy.spatial.transform.Slerp` is now callable with a scalar argument > > `scipy.spatial.voronoi_plot_2d` now supports furthest site Voronoi diagrams > > `scipy.spatial.Delaunay` and `scipy.spatial.Voronoi` now have attributes > for tracking whether they are furthest site diagrams > > `scipy.special` improvements > ----------------------------------------- > The Voigt profile has been added as `scipy.special.voigt_profile`. > > A real dispatch has been added for the Wright Omega function > (`scipy.special.wrightomega`). > > The analytic continuation of the Riemann zeta function has been added. (The > Riemann zeta function is the one-argument variant of `scipy.special.zeta`.) > > The complete elliptic integral of the first kind (`scipy.special.ellipk`) > is > now available in `scipy.special.cython_special`. > > The accuracy of `scipy.special.hyp1f1` for real arguments has been > improved. > > The documentation of many functions has been improved. > > `scipy.stats` improvements > ------------------------------------- > `scipy.stats.multiscale_graphcorr` added as an independence test that > operates on high dimensional and nonlinear data sets. It has higher > statistical > power than other `scipy.stats` tests while being the only one that operates > on > multivariate data. > > The generalized inverse Gaussian distribution (`scipy.stats.geninvgauss`) > has > been added. > > It is now possible to efficiently reuse `scipy.stats.binned_statistic_dd` > with new values by providing the result of a previous call to the function. > > `scipy.stats.hmean` now handles input with zeros more gracefully. > > The beta-binomial distribution is now available in `scipy.stats.betabinom`. > > `scipy.stats.zscore`, `scipy.stats.circmean`, `scipy.stats.circstd`, and > `scipy.stats.circvar` now support the ``nan_policy`` argument for enhanced > handling of ``NaN`` values > > `scipy.stats.entropy` now accepts an ``axis`` argument > > `scipy.stats.gaussian_kde.resample` now accepts a ``seed`` argument to > empower > reproducibility > > `scipy.stats.kendalltau` performance has improved, especially for large > inputs, > due to improved cache usage > > `scipy.stats.truncnorm` distribution has been rewritten to support much > wider > tails > > > Deprecated features > =================== > > `scipy` deprecations > ----------------------------- > Support for NumPy functions exposed via the root SciPy namespace is > deprecated > and will be removed in 2.0.0. For example, if you use ``scipy.rand`` or > ``scipy.diag``, you should change your code to directly use > ``numpy.random.default_rng`` or ``numpy.diag``, respectively. > They remain available in the currently continuing Scipy 1.x release series. > > The exception to this rule is using ``scipy.fft`` as a function -- > :mod:`scipy.fft` is now meant to be used only as a module, so the ability > to > call ``scipy.fft(...)`` will be removed in SciPy 1.5.0. > > In `scipy.spatial.Rotation` methods ``from_dcm``, ``as_dcm`` were renamed > to > ``from_matrix``, ``as_matrix`` respectively. The old names will be removed > in > SciPy 1.6.0. > > Method ``Rotation.match_vectors`` was deprecated in favor of > ``Rotation.align_vectors``, which provides a more logical and > general API to the same functionality. The old method > will be removed in SciPy 1.6.0. > > Backwards incompatible changes > ========================== > > `scipy.special` changes > --------------------------------- > The deprecated functions ``hyp2f0``, ``hyp1f2``, and ``hyp3f0`` have been > removed. > > The deprecated function ``bessel_diff_formula`` has been removed. > > The function ``i0`` is no longer registered with ``numpy.dual``, so that > ``numpy.dual.i0`` will unconditionally refer to the NumPy version > regardless > of whether `scipy.special` is imported. > > The function ``expn`` has been changed to return ``nan`` outside of its > domain of definition (``x, n < 0``) instead of ``inf``. > > `scipy.sparse` changes > -------------------------------- > Sparse matrix reshape now raises an error if shape is not two-dimensional, > rather than guessing what was meant. The behavior is now the same as before > SciPy 1.1.0. > > ``CSR`` and ``CSC`` sparse matrix classes should now return empty matrices > of the same type when indexed out of bounds. Previously, for some versions > of SciPy, this would raise an ``IndexError``. The change is largely > motivated > by greater consistency with ``ndarray`` and ``numpy.matrix`` semantics. > > `scipy.signal` changes > ------------------------------- > `scipy.signal.resample` behavior for length-1 signal inputs has been > fixed to output a constant (DC) value rather than an impulse, consistent > with > the assumption of signal periodicity in the FFT method. > > `scipy.signal.cwt` now performs complex conjugation and time-reversal of > wavelet data, which is a backwards-incompatible bugfix for > time-asymmetric wavelets. > > `scipy.stats` changes > ------------------------------ > `scipy.stats.loguniform` added with better documentation as (an alias for > ``scipy.stats.reciprocal``). ``loguniform`` generates random variables > that are equally likely in the log space; e.g., ``1``, ``10`` and ``100`` > are all equally likely if ``loguniform(10 ** 0, 10 ** 2).rvs()`` is used. > > > Other changes > ============= > The ``LSODA`` method of `scipy.integrate.solve_ivp` now correctly detects > stiff > problems. > > `scipy.spatial.cKDTree` now accepts and correctly handles empty input data > > `scipy.stats.binned_statistic_dd` now calculates the standard deviation > statistic in a numerically stable way. > > `scipy.stats.binned_statistic_dd` now throws an error if the input data > contains either ``np.nan`` or ``np.inf``. Similarly, in `scipy.stats` now > all > continuous distributions' ``.fit()`` methods throw an error if the input > data > contain any instance of either ``np.nan`` or ``np.inf``. > > > Authors > ======= > > * @endolith > * @wenhui-prudencemed + > * Abhinav + > * Anne Archibald > * ashwinpathak20nov1996 + > * Danilo Augusto + > * Nelson Auner + > * aypiggott + > * Christoph Baumgarten > * Peter Bell > * Sebastian Berg > * Arman Bilge + > * Benedikt Boecking + > * Christoph Boeddeker + > * Daniel Bunting > * Evgeni Burovski > * Angeline Burrell + > * Angeline G. Burrell + > * CJ Carey > * Carlos Ramos Carre?o + > * Mak Sze Chun + > * Malayaja Chutani + > * Christian Clauss + > * Jonathan Conroy + > * Stephen P Cook + > * Dylan Cutler + > * Anirudh Dagar + > * Aidan Dang + > * dankleeman + > * Brandon David + > * Tyler Dawson + > * Dieter Werthm?ller > * Joe Driscoll + > * Jakub Dyczek + > * D?vid Bodn?r > * Fletcher Easton + > * Stefan Endres > * etienne + > * Johann Faouzi > * Yu Feng > * Isuru Fernando + > * Matthew H Flamm > * Martin Gauch + > * Gabriel Gerlero + > * Ralf Gommers > * Chris Gorgolewski + > * Domen Gorjup + > * Edouard Goudenhoofdt + > * Jan Gwinner + > * Maja Gwozdz + > * Matt Haberland > * hadshirt + > * Pierre Haessig + > * David Hagen > * Charles Harris > * Gina Helfrich + > * Alex Henrie + > * Francisco J. Hernandez Heras + > * Andreas Hilboll > * Lindsey Hiltner > * Thomas Hisch > * Min ho Kim + > * Gert-Ludwig Ingold > * jakobjakobson13 + > * Todd Jennings > * He Jia > * Muhammad Firmansyah Kasim + > * Andrew Knyazev + > * Holger Kohr + > * Mateusz Konieczny + > * Krzysztof Pi?ro + > * Philipp Lang + > * Peter Mahler Larsen + > * Eric Larson > * Antony Lee > * Gregory R. Lee > * Chelsea Liu + > * Jesse Livezey > * Peter Lysakovski + > * Jason Manley + > * Michael Marien + > * Nikolay Mayorov > * G. D. McBain + > * Sam McCormack + > * Melissa Weber Mendon?a + > * Kevin Michel + > * mikeWShef + > * Sturla Molden > * Eric Moore > * Peyton Murray + > * Andrew Nelson > * Clement Ng + > * Juan Nunez-Iglesias > * Renee Otten + > * Kellie Ottoboni + > * Ayappan P > * Sambit Panda + > * Tapasweni Pathak + > * Oleksandr Pavlyk > * Fabian Pedregosa > * Petar Mlinari? > * Matti Picus > * Marcel Plch + > * Christoph Pohl + > * Ilhan Polat > * Siddhesh Poyarekar + > * Ioannis Prapas + > * James Alan Preiss + > * Yisheng Qiu + > * Eric Quintero > * Bharat Raghunathan + > * Tyler Reddy > * Joscha Reimer > * Antonio Horta Ribeiro > * Lucas Roberts > * rtshort + > * Josua Sassen > * Kevin Sheppard > * Scott Sievert > * Leo Singer > * Kai Striega > * S?ren Fuglede J?rgensen > * tborisow + > * ?tienne Tremblay + > * tuxcell + > * Miguel de Val-Borro > * Andrew Valentine + > * Hugo van Kemenade > * Paul van Mulbregt > * Sebastiano Vigna > * Pauli Virtanen > * Dany Vohl + > * Ben Walsh + > * Huize Wang + > * Warren Weckesser > * Anreas Weh + > * Joseph Weston + > * Adrian Wijaya + > * Timothy Willard + > * Josh Wilson > * Kentaro Yamamoto + > * Dave Zbarsky + > > A total of 142 people contributed to this release. > People with a "+" by their names contributed a patch for the first time. > This list of names is automatically generated, and may not be fully > complete. > > > Issues closed for 1.4.0 > -------------------------------- > > * `#1255 `__: maxiter broken > for Scipy.sparse.linalg gmres, in addition to... > * `#1301 `__: consolidate > multipack.h from interpolate and integrate packages... > * `#1739 `__: Single precision > FFT insufficiently accurate. (Trac #1212) > * `#1795 `__: stats > test_distributions.py: replace old fuzz tests (Trac #1269) > * `#2233 `__: fftpack segfault > with big arrays (Trac #1714) > * `#2434 `__: rmatmat and the > sophistication of linear operator objects > * `#2477 `__: > stats.truncnorm.rvs() does not give symmetric results for negative... > * `#2629 `__: FFTpack is > unacceptably slow on non power of 2 > * `#2883 `__: UnboundLocalError > in scipy.interpolate.splrep > * `#2956 `__: Feature Request: > axis argument for stats.entropy function > * `#3528 `__: Segfault on > test_djbfft (possibly MKL-related?) > * `#3793 `__: cwt should also > return complex array > * `#4464 `__: TST: > residue/residuez/invres/invresz don't have any tests > * `#4561 `__: BUG: tf filter > trailing and leading zeros in residuez > * `#4669 `__: Rewrite sosfilt > to make a single loop over the input? > * `#5040 `__: BUG: Empty data > handling of (c)KDTrees > * `#5112 `__: boxcox transform > edge cases could use more care > * `#5441 `__: scipy.stats.ncx2 > fails for nc=0 > * `#5502 `__: args keyword not > handled in optimize.curve_fit > * `#6484 `__: Qhull > segmentation fault > * `#6900 `__: > linear_sum_assignment with infinite weights > * `#6966 `__: Hypergeometric > Functions documentation is lacking > * `#6999 `__: possible false > positive corruption check in compressed loadmat() > * `#7018 `__: ydata that needs > broadcasting renders curve_fit unable to compute... > * `#7140 `__: trouble with > documentation for windows > * `#7327 `__: > interpolate.ndgriddata.griddata causes Python to crash rather... > * `#7396 `__: > MatrixLinearOperator implements _adjoint(), but not _transpose() > * `#7400 `__: BUG(?): special: > factorial and factorial2 return a 0-dimensional... > * `#7434 `__: Testing of > scipy.stats continuous distributions misses 25 distributions > * `#7491 `__: Several > scipy.stats distributions (fisk, burr, burr12, f) return... > * `#7759 `__: Overflow in > stats.kruskal for large samples > * `#7906 `__: Wrong result from > scipy.interpolate.UnivariateSpline.integral... > * `#8165 `__: ENH: match > functionality of R for hmean > * `#8417 `__: > optimimze.minimize(method='L-BFGS-B', options={'disp': True})... > * `#8535 `__: Strictly > increasing requirement in UnivariateSpline > * `#8815 `__: [BUG] GMRES: > number of iteration is only increased if callback... > * `#9207 `__: > scipy.linalg.solve_triangular speed after scipy.linalg.lu_factor > * `#9275 `__: new feature: > adding LOBPCG solver in svds in addition to ARPACK > * `#9403 `__: range of > truncnorm.logpdf could be extended > * `#9429 `__: gaussian_kde not > working with numpy matrix > * `#9515 `__: ndimage > implementation relies on undefined behavior > * `#9643 `__: arpack returns > singular values in ascending order > * `#9669 `__: DOC: > matthew-brett/build-openblas has been retired > * `#9852 `__: > scipy.spatial.ConvexHull exit with code 134, free(): invalid... > * `#9902 `__: > scipy.stats.truncnorm second moment may be wrong > * `#9943 `__: Custom sampling > methods in shgo do not work > * `#9947 `__: DOC: Incorrect > documentation for \`nan_policy='propagate\` in... > * `#9994 `__: BUG: sparse: > reshape method allows a shape containing an arbitrary... > * `#10036 `__: Official Nelder > mead tutorial uses xtol instead of xatol, which... > * `#10078 `__: possible to get > a better error message when objective function... > * `#10092 `__: overflow in > truncnorm.rvs > * `#10121 `__: A little > spelling mistake > * `#10126 `__: inaccurate std > implementation in binned_statistic > * `#10161 `__: Error in > documentation scipy.special.modstruve > * `#10195 `__: Derivative of > spline with 'const' extrapolation is also extrapolted... > * `#10206 `__: sparse matrices > indexing with scipy 1.3 > * `#10236 `__: Non-descriptive > error on type mismatch for functions of scipy.optimize... > * `#10258 `__: LOBPCG > convergence failure if guess provided > * `#10262 `__: distance matrix > lacks dtype checks / warnings > * `#10271 `__: BUG: optimize > failure on wheels > * `#10277 `__: > scipy.special.zeta(0) = NAN > * `#10292 `__: DOC/REL: Some > sections of the release notes are not nested correctly. > * `#10300 `__: > scipy.stats.rv_continuous.fit throws empty RuntimeError when... > * `#10319 `__: events in > scipy.integrate.solve_ivp: How do I setup an events... > * `#10323 `__: Adding more > low-level LAPACK wrappers > * `#10360 `__: firwin2 > inadvertently modifies input and may result in undefined... > * `#10388 `__: BLD: > TestHerd::test_hetrd core dumps with Python-dbg > * `#10395 `__: Remove warning > about output shape of zoom > * `#10403 `__: DOC: > scipy.signal.resample ignores t parameter > * `#10421 `__: Yeo-Johnson > power transformation fails with integer input data > * `#10422 `__: BUG: scipy.fft > does not support multiprocessing > * `#10427 `__: ENH: convolve > numbers should be updated > * `#10444 `__: BUG: > scipy.spatial.transform.Rotation.match_vectors returns improper... > * `#10488 `__: ENH: DCTs/DSTs > for scipy.fft > * `#10501 `__: BUG: > scipy.spatial.HalfspaceIntersection works incorrectly > * `#10514 `__: BUG: cKDTree > GIL handling is incorrect > * `#10535 `__: TST: master > branch CI failures > * `#10588 `__: scipy.fft and > numpy.fft inconsistency when axes=None and shape... > * `#10628 `__: Scipy > python>3.6 Windows wheels don't ship msvcp\*.dll > * `#10733 `__: DOC/BUG: > min_only result does not match documentation > * `#10774 `__: min_only=true > djisktra infinite loop with duplicate indices > * `#10775 `__: > UnboundLocalError in Radau when given a NaN > * `#10835 `__: io.wavfile.read > unnecessarily raises an error for a bad wav header > * `#10838 `__: Error in > documentation for scipy.linalg.lu_factor > * `#10875 `__: DOC: Graphical > guides (using TikZ) > * `#10880 `__: setting verbose >> 2 in minimize with trust-constr method leads... > * `#10887 `__: > scipy.signal.signaltools._fftconv_faster has incorrect estimates > * `#10948 `__: gammainc(0,x) = > nan but should be 1, gammaincc(0,x) = nan but... > * `#10952 `__: > TestQRdelete_F.test_delete_last_p_col test failure > * `#10968 `__: API: Change > normalized=False to normalize=True in Rotation > * `#10987 `__: Memory leak in > shgo triangulation > * `#10991 `__: Error running > openBlas probably missing a step > * `#11033 `__: deadlock on osx > for python 3.8 > * `#11041 `__: Test failure in > wheel builds for TestTf2zpk.test_simple > * `#11089 `__: Regression in > scipy.stats where distribution will not accept loc and scale parameters > * `#11100 `__: BUG: > multiscale_graphcorr random state seeding and parallel use > * `#11121 `__: Calls to > `scipy.interpolate.splprep` increase RAM usage. > * `#11125 `__: BUG: segfault > when slicing a CSR or CSC sparse matrix with slice start index > stop index > * `#11198 `__: BUG: sparse > eigs (arpack) shift-invert drops the smallest eigenvalue for some k > > Pull requests for 1.4.0 > ------------------------------- > > * `#4591 `__: BUG, TST: Several > issues with scipy.signal.residue > * `#6629 `__: ENH: sparse: > canonicalize on initialization > * `#7076 `__: ENH: add complex > wavelet support to scipy.signal.cwt. > * `#8681 `__: ENH add generalized > inverse Gaussian distribution to scipy.stats > * `#9064 `__: BUG/ENH: Added > default _transpose into LinearOperator. Fixes... > * `#9215 `__: ENH: Rbf > interpolation of large multi-dimensional data > * `#9311 `__: ENH: Added voigt in > scipy.special. > * `#9642 `__: ENH: integrate: > quad() for vector-valued functions > * `#9679 `__: DOC: expand > docstring of exponweib distribution > * `#9684 `__: TST: add ppc64le ci > testing > * `#9800 `__: WIP : ENH: > Refactored _hungarian.py for speed and added a minimize/maximize? > * `#9847 `__: DOC: Change > integrate tutorial to use solve_ivp instead of odeint > * `#9876 `__: ENH: Use rfft when > possible in resampling > * `#9998 `__: BUG: Do not remove > 1s when calling sparse: reshape method #9994 > * `#10002 `__: ENH: adds > constraints for differential evolution > * `#10098 `__: ENH: integrate: > add args argument to solve_ivp. > * `#10099 `__: DOC: Add missing > docs for linprog unknown_options > * `#10104 `__: BUG: Rewrite of > stats.truncnorm distribution. > * `#10105 `__: MAINT improve > efficiency of rvs_ratio_uniforms in scipy.stats > * `#10107 `__: TST: > dual_annealing set seed > * `#10108 `__: ENH: stats: > improve kendall_tau cache usage > * `#10110 `__: MAINT: _lib: Fix > a build warning. > * `#10114 `__: FIX: only print > bounds when supported by minimizer (shgo) > * `#10115 `__: TST: Add a test > with an almost singular design matrix for lsq_linear > * `#10118 `__: MAINT: fix rdist > methods in scipy.stats > * `#10119 `__: MAINT: improve > rvs of randint in scipy.stats > * `#10127 `__: Fix typo in > record array field name (spatial-ckdtree-sparse_distance? > * `#10130 `__: MAINT: ndimage: > Fix some compiler warnings. > * `#10131 `__: DOC: Note the > solve_ivp args enhancement in the 1.4.0 release... > * `#10133 `__: MAINT: add rvs > for semicircular in scipy.stats > * `#10138 `__: BUG: special: > Invalid arguments to ellip_harm can crash Python. > * `#10139 `__: MAINT: spatial: > Fix some compiler warnings in the file distance_wrap.c. > * `#10140 `__: ENH: add handling > of NaN in RuntimeWarning except clause > * `#10142 `__: DOC: return value > of scipy.special.comb > * `#10143 `__: MAINT: Loosen > linprog tol > * `#10152 `__: BUG: Fix custom > sampling input for shgo, add unittest > * `#10154 `__: MAINT: add > moments and improve doc of mielke in scipy.stats > * `#10158 `__: Issue #6999: read > zlib checksum before checking bytes read. > * `#10166 `__: BUG: Correctly > handle broadcasted ydata in curve_fit pcov computation. > * `#10167 `__: DOC: special: Add > missing factor of \`i\` to \`modstruve\` docstring > * `#10168 `__: MAINT: stats: Fix > an incorrect comment. > * `#10169 `__: ENH: optimize: > Clarify error when objective function returns... > * `#10172 `__: DEV: Run tests in > parallel when --parallel flag is passed to... > * `#10173 `__: ENH: Implement > DOP853 ODE integrator > * `#10176 `__: Fixed typo > * `#10182 `__: TST: fix test > issue for stats.pearsonr > * `#10184 `__: MAINT: stats: > Simplify zmap and zscore (we can use keepdims now). > * `#10191 `__: DOC: fix a > formatting issue in the scipy.spatial module docstring. > * `#10193 `__: DOC: Updated > docstring for optimize.nnls > * `#10198 `__: DOC, ENH: > special: Make \`hyp2f1\` references more specific > * `#10202 `__: DOC: Format DST > and DCT definitions as latex equations > * `#10207 `__: BUG: Compressed > matrix indexing should return a scalar > * `#10210 `__: DOC: Update docs > for connection='weak' in connected_components > * `#10225 `__: DOC: Clarify new > interfaces for legacy functions in 'optimize' > * `#10231 `__: DOC, MAINT: gpg2 > updates to release docs / pavement > * `#10235 `__: LICENSE: split > license file in standard BSD 3-clause and bundled. > * `#10238 `__: ENH: Add new > scipy.fft module using pocketfft > * `#10243 `__: BUG: fix ARFF > reader regression with quoted values. > * `#10248 `__: DOC: update > README file > * `#10255 `__: CI: bump OpenBLAS > to match wheels > * `#10264 `__: TST: add tests > for stats.tvar with unflattened arrays > * `#10280 `__: MAINT: stats: Use > a constant value for sqrt(2/PI). > * `#10286 `__: Development > Documentation Overhaul > * `#10290 `__: MAINT: Deprecate > NumPy functions in SciPy root > * `#10291 `__: FIX: Avoid > importing xdist when checking for availability > * `#10295 `__: Disable > deprecated Numpy API in __odrpack.c > * `#10296 `__: ENH: C++ > extension for linear assignment problem > * `#10298 `__: ENH: Made pade > function work with complex inputs > * `#10301 `__: DOC: Fix critical > value significance levels in stats.anderson_ksamp > * `#10307 `__: Minkowski > Distance Type Fix (issue #10262) > * `#10309 `__: BUG: Pass > jac=None directly to lsoda > * `#10310 `__: BUG: interpolate: > UnivariateSpline.derivative.ext is 'zeros'... > * `#10312 `__: FIX: Fixing a > typo in a comment > * `#10314 `__: scipy.spatial > enhancement request > * `#10315 `__: DOC: Update > integration tutorial to solve_ivp > * `#10318 `__: DOC: update the > example for PPoly.solve > * `#10333 `__: TST: add tests > for stats.tvar with unflattened arrays > * `#10334 `__: MAINT: special: > Remove deprecated \`hyp2f0\`, \`hyp1f2\`, and... > * `#10336 `__: BUG: > linalg/interpolative: fix interp_decomp modifying input > * `#10341 `__: BUG: > sparse.linalg/gmres: deprecate effect of callback on semantics... > * `#10344 `__: DOC: improve > wording of mathematical formulation > * `#10345 `__: ENH: Tiled QR > wrappers for scipy.linalg.lapack > * `#10350 `__: MAINT: linalg: > Use the new fft subpackage in linalg.dft test... > * `#10351 `__: BUG: Fix unstable > standard deviation calculation in histogram > * `#10353 `__: Bug: > interpolate.NearestNDInterpolator (issue #10352) > * `#10357 `__: DOC: linalg: > Refer to scipy.fft.fft (not fftpack) in the dft... > * `#10359 `__: DOC: Update > roadmap now scipy.fft has been merged > * `#10361 `__: ENH: Prefer > scipy.fft to scipy.fftpack in scipy.signal > * `#10371 `__: DOC: Tweaks to > fft documentation > * `#10372 `__: DOC: Fix typos > * `#10377 `__: TST, MAINT: > adjustments for pytest 5.0 > * `#10378 `__: ENH: _lib: allow > new np.random.Generator in check_random_state > * `#10379 `__: BUG: sparse: set > writeability to be forward-compatible with numpy>=1.17 > * `#10381 `__: BUG: Fixes > gh-7491, pdf at x=0 of fisk/burr/burr12/f distributions. > * `#10387 `__: ENH: > optimize/bfgs: don't evaluate twice at initial point for... > * `#10392 `__: [DOC] Add an > example for _binned_statistic_dd > * `#10396 `__: Remove warning > about output shape of zoom > * `#10397 `__: ENH: Add > check_finite to sp.linalg.norm > * `#10399 `__: ENH: Add > __round__ method to sparse matrix > * `#10407 `__: MAINT: drop > pybind11 from install_requires, it's only build-time... > * `#10408 `__: TST: use > pytest.raises, not numpy assert_raises > * `#10409 `__: CI: uninstall > nose on Travis > * `#10410 `__: [ENH] ncx2 > dispatch to chi2 when nc=0 > * `#10411 `__: TST: optimize: > test should use assert_allclose for fp comparisons > * `#10414 `__: DOC: add pybind11 > to the other part of quickstart guides > * `#10417 `__: DOC: special: > don't mark non-ufuncs with a \`[+]\` > * `#10423 `__: FIX: Use > pybind11::isinstace to check array dtypes > * `#10424 `__: DOC: add doctest > example for binary data for ttest_ind_from_stats > * `#10425 `__: ENH: Add missing > Hermitian transforms to scipy.fft > * `#10426 `__: MAINT: Fix doc > build bugs > * `#10431 `__: Update numpy > version for AIX > * `#10433 `__: MAINT: Minor > fixes for the stats > * `#10434 `__: BUG: special: > make \`ndtri\` return NaN outside domain of definition > * `#10435 `__: BUG: Allow > integer input data in scipy.stats.yeojohnson > * `#10438 `__: [DOC] Add example > for kurtosis > * `#10440 `__: ENH: special: > make \`ellipk\` a ufunc > * `#10443 `__: MAINT: ndimage: > malloc fail check > * `#10447 `__: BLD: Divert > output from test compiles into a temporary directory > * `#10451 `__: MAINT: signal: > malloc fail check > * `#10455 `__: BUG: special: fix > values of \`hyperu\` for negative \`x\` > * `#10456 `__: DOC: Added > comment clarifying the call for dcsrch.f in lbfgsb.f > * `#10457 `__: BUG: Allow > ckdtree to accept empty data input > * `#10459 `__: BUG:TST: Compute > lwork safely > * `#10460 `__: [DOC] Add example > to entropy > * `#10461 `__: DOC: Quickstart > Guide updates > * `#10462 `__: TST: special: > only show max atol/rtol for test points that failed > * `#10465 `__: BUG: Correctly > align fft inputs > * `#10467 `__: ENH: lower-memory > duplicate generator checking in spatial.SphericalVoronoi > * `#10470 `__: ENH: Normalise > the inverse DCT/DST in scipy.fft > * `#10472 `__: BENCH: adjust > timeout for slow setup_cache > * `#10475 `__: CI: include > python debug for Travis-ci > * `#10476 `__: TST: special: use > \`__tracebackhide__\` to get better error messages > * `#10477 `__: ENH: faster > region building in spatial.SphericalVoronoi > * `#10479 `__: BUG: stats: Fix a > few issues with the distributions' fit method. > * `#10480 `__: Add RuntimeError > in _distn_infrastructure.py in fit() method > * `#10481 `__: BENCH, MAINT: > wheel_cache_size has been renamed build_cache_size > * `#10494 `__: ENH: faster > circumcenter calculation in spatial.SphericalVoronoi > * `#10500 `__: Splrep > _curfit_cache global variable bugfix > * `#10503 `__: BUG: > spatial/qhull: get HalfspaceIntersection.dual_points from... > * `#10506 `__: DOC: interp2d, > note nearest neighbor extrapolation > * `#10507 `__: MAINT: Remove > fortran fftpack library in favour of pypocketfft > * `#10508 `__: TST: fix a bug in > the circular import test. > * `#10509 `__: MAINT: Set up > _build_utils as subpackage > * `#10516 `__: BUG: Use nogil > contexts in cKDTree > * `#10517 `__: ENH: fftconvolve > should not FFT broadcastable axes > * `#10518 `__: ENH: Speedup > fftconvolve > * `#10520 `__: DOC: Proper .rst > formatting for deprecated features and Backwards... > * `#10523 `__: DOC: Improve > scipy.signal.resample documentation > * `#10524 `__: ENH: Add MGC to > scipy.stats > * `#10525 `__: [ENH] ncx2.ppf > dispatch to chi2 when nc=0 > * `#10526 `__: DOC: clarify > laplacian normalization > * `#10528 `__: API: Rename > scipy.fft DCT/DST shape argument to s > * `#10531 `__: BUG: fixed > improper rotations in spatial.transform.rotation.match_vectors > * `#10533 `__: [DOC] Add example > for winsorize function > * `#10539 `__: MAINT: special: > don't register \`i0\` with \`numpy.dual\` > * `#10540 `__: MAINT: Fix Travis > and Circle > * `#10542 `__: MAINT: > interpolate: use cython_lapack > * `#10547 `__: Feature request. > Add furthest site Voronoi diagrams to scipy.spatial.plotutils. > * `#10549 `__: [BUG] Fix bug in > trimr when inclusive=False > * `#10552 `__: add > scipy.signal.upfirdn signal extension modes > * `#10555 `__: MAINT: special: > move \`c_misc\` into Cephes > * `#10556 `__: [DOC] Add example > for trima > * `#10562 `__: [DOC] Fix triple > string fo trimmed so that __doc__ can show... > * `#10563 `__: improve > least_squares error msg for mismatched shape > * `#10564 `__: ENH: linalg: > memoize get_lapack/blas_funcs to speed it up > * `#10566 `__: ENH: add > implementation of solver for the maximum flow problem > * `#10567 `__: BUG: spatial: use > c++11 construct for getting start of vector... > * `#10568 `__: DOC: special: > small tweaks to the \`zetac\` docstring > * `#10571 `__: [ENH] > Gaussian_kde can accept matrix dataset > * `#10574 `__: ENH: linalg: > speed up _compute_lwork by avoiding numpy constructs > * `#10582 `__: Fix typos with > typos in bundled libraries reverted > * `#10583 `__: ENH: special: add > the analytic continuation of Riemann zeta > * `#10584 `__: MAINT: special: > clean up \`special.__all__\` > * `#10586 `__: BUG: > multidimensional scipy.fft functions should accept 's' rather... > * `#10587 `__: BUG: > integrate/lsoda: never abort run, set error istate instead > * `#10594 `__: API: Replicate > numpy's fftn behaviour when s is given but not... > * `#10599 `__: DOC: dev: update > documentation vs. github pull request workflow... > * `#10603 `__: MAINT: installer > scripts removed > * `#10604 `__: MAINT: Change > c\*np.ones(...) to np.full(..., c, ...) in many... > * `#10608 `__: Univariate > splines should require x to be strictly increasing... > * `#10613 `__: ENH: Add seed > option for gaussian_kde.resample > * `#10614 `__: ENH: Add parallel > computation to scipy.fft > * `#10615 `__: MAINT: > interpolate: remove unused header file > * `#10616 `__: MAINT: Clean up > 32-bit platform xfail markers > * `#10618 `__: BENCH: Added > 'trust-constr' to minimize benchmarks > * `#10621 `__: [MRG] multiple > stability updates in lobpcg > * `#10622 `__: MAINT: forward > port 1.3.1 release notes > * `#10624 `__: DOC: stats: Fix > spelling of 'support'. > * `#10627 `__: DOC: stats: Add > references for the alpha distribution. > * `#10629 `__: MAINT: special: > avoid overflow longer in \`zeta\` for negative... > * `#10630 `__: TST: GH10271, > relax test assertion, fixes #10271 > * `#10631 `__: DOC: nelder-mean > uses xatol fixes #10036 > * `#10633 `__: BUG: interpolate: > integral(a, b) should be zero when both limits... > * `#10635 `__: DOC: special: > complete hypergeometric functions documentation > * `#10636 `__: BUG: special: use > series for \`hyp1f1\` when it converges rapidly > * `#10641 `__: ENH: allow > matching of general bipartite graphs > * `#10643 `__: ENH: > scipy.sparse.linalg.spsolve triangular unit diagonal > * `#10650 `__: ENH: Cythonize > sosfilt > * `#10654 `__: DOC: Vertical > alignment of table entries > * `#10655 `__: ENH: Dockerfile > for scipy development > * `#10660 `__: TST: clean up > tests for rvs in scipy.stats > * `#10664 `__: Throw error on > non-finite input for binned_statistic_dd() > * `#10665 `__: DOC: special: > improve the docstrings for \`gamma\` and \`gammasgn\` > * `#10669 `__: TST: Update > scipy.fft real transform tests > * `#10670 `__: DOC: Clarify docs > and error messages for scipy.signal.butter > * `#10672 `__: ENH: return > solution attribute when using events in solve_ivp > * `#10675 `__: MAINT: special: > add an explicit NaN check for \`iv\` arguments > * `#10679 `__: DOC: special: Add > documentation for \`beta\` function > * `#10681 `__: TST: > sparse.linalg: fix arnoldi test seed > * `#10682 `__: DOC: special: Add > documentation for \`betainc\` function > * `#10684 `__: TST: special: > require Mpmath 1.1.0 for \`test_hyperu_around_0\` > * `#10686 `__: FIX: sphinx > isattributedescriptor is not available in sphinx... > * `#10687 `__: DOC: added Docker > quickstart guide by @andyfaff > * `#10689 `__: DOC: special: > clarify format of parameters/returns sections for... > * `#10690 `__: DOC: special: > improve docstrings of incomplete gamma functions > * `#10692 `__: ENH: > higher-dimensional input in \`spatial.SphericalVoronoi\` > * `#10694 `__: ENH: > ScalarFunction.fun_and_grad > * `#10698 `__: DOC: special: Add > documentation for \`betaincinv\` > * `#10699 `__: MAINT: remove > time print lbfgsb fixes #8417 > * `#10701 `__: TST, MAINT: bump > OpenBLAS to 0.3.7 stable > * `#10702 `__: DOC: clarify > iterations consume multiple function calls > * `#10703 `__: DOC: iprint doc > lbfgsb closes #5482 > * `#10708 `__: TST: test > suggested in gh1758 > * `#10710 `__: ENH: Added > nan_policy to circ functions in \`stats\` > * `#10712 `__: ENH: add axis > parameter to stats.entropy > * `#10714 `__: DOC: Formatting > fix rv_continuous.expect docs > * `#10715 `__: DOC: BLD: update > doc Makefile for python version; add scipy version... > * `#10717 `__: MAINT: modernize > doc/Makefile > * `#10719 `__: Enable setting > minres initial vector > * `#10720 `__: DOC: silence > random warning in doc build for \`stats.binned_statistic_dd\` > * `#10724 `__: DEV: Add doc > option to runtests.py > * `#10728 `__: MAINT: get rid of > gramA, gramB text files that lobpcg tests leave... > * `#10732 `__: DOC: add min_only > to docstring for Dijkstra's algorithm > * `#10734 `__: DOC: spell out > difference between source and target in shortest... > * `#10735 `__: Fix for Python 4 > * `#10739 `__: BUG: > optimize/slsqp: deal with singular BFGS update > * `#10741 `__: ENH: LAPACK > wrappers for ?geequ, ?geequb, ?syequb, ?heequb > * `#10742 `__: DOC: special: add > to the docstring of \`gammaln\` > * `#10743 `__: ENH: special: add > a real dispatch for \`wrightomega\` > * `#10746 `__: MAINT: Fix typos > in comments, docs and test name > * `#10747 `__: Remove spurious > quotes > * `#10750 `__: MAINT: make > cython code more precise > * `#10751 `__: MAINT: Check that > scipy.linalg.lapack functions are documented > * `#10752 `__: MAINT: special: > use \`sf_error\` in Cephes > * `#10755 `__: DOC: cluster: Add > 'See Also' and 'Examples' for kmeans2. > * `#10763 `__: MAINT: list of > minimize methods > * `#10768 `__: BUG: Fix corner > case for sos2zpk > * `#10773 `__: Fix error type > for complex input to scipy.fftpack.rfft and irfft > * `#10776 `__: ENH: handle > geodesic input in \`spatial.SphericalVoronoi\` > * `#10777 `__: MAINT: > minimizer-->custom should handle the kinds of bounds/constrain?... > * `#10781 `__: ENH: > solve_triangular C order improvement > * `#10787 `__: Fix behavior of > \`exp1\` on branch cut and add docstring > * `#10789 `__: DOC: special: add > parameters/returns doc sections for erfc/erfcx/erfi > * `#10790 `__: Travis CI: sudo > is deprecated and Xenial is default distro > * `#10792 `__: DOC: special: add > full docstring for \`expi\` > * `#10799 `__: DOC: special: add > a complete docstring for \`expn\` > * `#10800 `__: Docs edits (GSoD) > * `#10802 `__: BUG: fix > UnboundLocalError in Radau (scipy#10775) > * `#10804 `__: ENH: Speed up > next_fast_len with LRU cache > * `#10805 `__: DOC: Fix > unbalanced quotes in signal.place_poles > * `#10809 `__: ENH: Speed up > next_fast_len > * `#10810 `__: ENH: Raise > catchable exceptions for bad Fortran files > * `#10811 `__: MAINT: optimize: > Remove extra variable from _remove_redundancy_dense > * `#10813 `__: MAINT: special: > Remove unused variables from _kolmogi and _smirnovi > * `#10815 `__: DOC, API: > scipy.stats.reciprocal is "log-uniform" > * `#10816 `__: MAINT: special: > remove deprecated \`bessel_diff_formula\` > * `#10817 `__: DOC: special: > complete the docstring for \`fresnel\` > * `#10820 `__: Fixed > compiler_helper.py to allow compilation with ICC on Linux > * `#10823 `__: DOC: updated > reference guide text for consistency in writing... > * `#10825 `__: MAINT: special: > change some features of the Voigt function > * `#10828 `__: MAINT: integrate: > Remove unused variable from init_callback > * `#10830 `__: Adding LOBPCG > solver in svds in addition to ARPACK > * `#10837 `__: WIP: ENH: > reduction function for \`spatial.tranform.Rotation\`... > * `#10843 `__: ENH: Adding > optional parameter to stats.zscores to allow for... > * `#10845 `__: Rebase kruskal > fix > * `#10847 `__: remove redundant > __getitem__ from scipy.sparse.lil > * `#10848 `__: Better handling > of empty (not missing) docstrings > * `#10849 `__: ENH: implement > rmatmat for LinearOperator > * `#10850 `__: MAINT : > Refactoring lil List of Lists > * `#10851 `__: DOC: add a > generative art example to the scipy.spatial tutorial. > * `#10852 `__: DOC: linalg: > fixed gh-10838 unused imports in example deleted > * `#10854 `__: DOC: special: add > a full docstring for \`pdtr\` > * `#10861 `__: ENH: option to > reuse binnumbers in stats.binned_statistic_dd > * `#10863 `__: DOC: partial > standardization and validation of scipy.stats reference... > * `#10865 `__: BUG: special: fix > incomplete gamma functions for infinite \`a\` > * `#10866 `__: ENH: calculation > of mean in spatial.transform.Rotation > * `#10867 `__: MAINT: Also store > latex directory > * `#10869 `__: ENH: Implement > overlap-add convolution > * `#10870 `__: ENH: Do not raise > EOF error if wavfile data read > * `#10876 `__: ENH: Add > beta-binomial distribution to scipy.stats > * `#10878 `__: MAINT: Update R > project URL > * `#10883 `__: MAINT: (ndimage) > More robust check for output being a numpy dtype > * `#10884 `__: DOC: Added > instructions on adding a new distribution to scipy.stats. > * `#10885 `__: [BUG] fix lobpcg > with maxiter=None results in Exception > * `#10899 `__: ENH: Match R > functionality for hmean > * `#10900 `__: MAINT: stats: Use > keepdims to simplify a few lines in power_divergence. > * `#10901 `__: ENH: > sparse/linalg: support pydata/sparse matrices > * `#10907 `__: Check whether > \`maxiter\` is integer > * `#10912 `__: ENH: warn user > that quad() ignores \`points=...\` when \`weight=...\`... > * `#10918 `__: CI: fix Travis CI > py3.8 build > * `#10920 `__: MAINT: Update > constants to codata 2018 values (second try) > * `#10921 `__: ENH: > scipy.sparse.lil: tocsr accelerated > * `#10924 `__: BUG: Forbid > passing 'args' as kwarg in scipy.optimize.curve_fit > * `#10928 `__: DOC: Add examples > to io.wavfile docstrings > * `#10934 `__: typo fix > * `#10935 `__: BUG: Avoid > undefined behaviour on float to unsigned conversion > * `#10936 `__: DOC: Added > missing example to stats.mstats.variation > * `#10939 `__: ENH: > scipy.sparse.lil: tocsr accelerated depending on density > * `#10946 `__: BUG: setting > verbose > 2 in minimize with trust-constr method... > * `#10947 `__: DOC: special: > small improvements to the \`poch\` docstring > * `#10949 `__: BUG: fix return > type of erlang_gen._argcheck > * `#10951 `__: DOC: fixed Ricker > wavelet formula > * `#10954 `__: BUG: special: fix > \`factorial\` return type for 0-d inputs > * `#10955 `__: MAINT: Relax the > assert_unitary atol value > * `#10956 `__: WIP: make > pdtr(int, double) be pdtr(double, double) > * `#10957 `__: BUG: Ensure full > binary compatibility of long double test data > * `#10964 `__: ENH: Make Slerp > callable with a scalar argument > * `#10972 `__: BUG: Handle > complex gains in zpk2sos > * `#10975 `__: TST: skip > test_kendalltau ppc64le > * `#10978 `__: BUG: boxcox data > dimension and constancy check #5112 > * `#10979 `__: API: Rename dcm > to (rotation) matrix in Rotation class > * `#10981 `__: MAINT: add > support for a==0 and x>0 edge case to igam and igamc > * `#10986 `__: MAINT: Remove > direct imports from numpy in signaltools.py > * `#10988 `__: BUG: signal: > fixed issue #10360 > * `#10989 `__: FIX > binned_statistic_dd Mac wheel test fails > * `#10990 `__: BUG: Fix memory > leak in shgo triangulation > * `#10992 `__: TST: Relax > tolerance in upfirdn test_modes > * `#10993 `__: TST: bump > tolerance in optimize tests > * `#10997 `__: MAINT: Rework > residue and residuez > * `#11001 `__: DOC: Updated > Windows build tutorial > * `#11004 `__: BUG: > integrate/quad_vec: fix several bugs in quad_vec > * `#11005 `__: TST: add Python > 3.8 Win CI > * `#11006 `__: DOC: special: add > a reference for \`kl_div\` > * `#11012 `__: MAINT: Rework > invres and invresz > * `#11015 `__: DOC: special: add > references for \`rel_entr\` > * `#11017 `__: DOC: numpydoc > validation of morestats.py > * `#11018 `__: MAINT: Filter > unrelated warning > * `#11031 `__: MAINT: update > choose_conv_method for pocketfft implementation > * `#11034 `__: MAINT: TST: Skip > tests with multiprocessing that use "spawn"... > * `#11036 `__: DOC: update > doc/README with some more useful content. > * `#11037 `__: DOC: special: add > a complete docstring for \`rgamma\` > * `#11038 `__: DOC: special: add > a reference for the polygamma function > * `#11042 `__: TST: fix tf2zpk > test failure due to incorrect complex sorting. > * `#11044 `__: MAINT: > choose_conv_method can choose fftconvolution for longcomplex > * `#11046 `__: TST: Reduce > tolerance for ppc64le with reference lapack > * `#11048 `__: DOC: special: add > reference for orthogonal polynomial functions > * `#11049 `__: MAINT: proper > random number initialization and readability fix > * `#11051 `__: MAINT: pep8 > cleanup > * `#11054 `__: TST: bump test > precision for dual_annealing SLSQP test > * `#11055 `__: DOC: special: add > a reference for \`zeta\` > * `#11056 `__: API: Deprecated > normalized keyword in Rotation > * `#11065 `__: DOC: Ubuntu > Development Environment Quickstart should not modify... > * `#11066 `__: BUG: skip > deprecation for numpy top-level types > * `#11067 `__: DOC: updated > documentation for consistency in writing style > * `#11070 `__: DOC: Amendment to > Ubuntu Development Environment Quickstart should... > * `#11073 `__: DOC: fix 1.4.0 > release notes > * `#11081 `__: API: Replace > Rotation.match_vectors with align_vectors > * `#11083 `__: DOC: more 1.4.0 > release note fixes > * `#11092 `__: BUG: stats: fix > freezing of some distributions > * `#11096 `__: BUG: > scipy.sparse.csgraph: fixed issue #10774 > * `#11124 `__: fix Cython > warnings related to _stats.pyx > * `#11126 `__: BUG: > interpolate/fitpack: fix memory leak in splprep > * `#11127 `__: Avoid potential > segfault in CSR and CSC matrix indexing > * `#11152 `__: BUG: Fix random > state bug multiscale_graphcorr > * `#11166 `__: BUG: empty sparse > slice shapes > * `#11167 `__: BUG: redundant > fft in signal.resample > * `#11181 `__: TST: Fix > tolerance of tests for aarch64 > * `#11182 `__: TST: Bump up > tolerance for test_maxiter_worsening > * `#11199 `__: BUG: > sparse.linalg: mistake in unsymm. real shift-invert ARPACK eigenvalue > selection > > Checksums > ========= > > MD5 > ~~~ > > aa98f881f11681a35e18eadbf2c403fd > scipy-1.4.0-cp35-cp35m-macosx_10_6_intel.whl > d99b88d888f8a78a67896b2f895c3aba > scipy-1.4.0-cp35-cp35m-manylinux1_i686.whl > 13d1ab63e2ca8d2c2ac9f0b01f37b374 > scipy-1.4.0-cp35-cp35m-manylinux1_x86_64.whl > b9908d9dddf3fa5bd9b2458ea42c2813 scipy-1.4.0-cp35-cp35m-win32.whl > e6a6bb14d377ef8b893a710b9fcd05a8 scipy-1.4.0-cp35-cp35m-win_amd64.whl > 203b3f7e9bee44d3ccb3d3e0ffd62a81 > scipy-1.4.0-cp36-cp36m-macosx_10_6_intel.whl > 3cb0fde221141e35dd7c759b727e86d1 > scipy-1.4.0-cp36-cp36m-manylinux1_i686.whl > 9ae6711749bb09f812e634fec628bd23 > scipy-1.4.0-cp36-cp36m-manylinux1_x86_64.whl > da06f24a28995b3495d7696727a3a113 scipy-1.4.0-cp36-cp36m-win32.whl > a7a16dca144deca4cf6ad8f8ae2c7823 scipy-1.4.0-cp36-cp36m-win_amd64.whl > 82568a0464db2717671347296119353b > scipy-1.4.0-cp37-cp37m-macosx_10_6_intel.whl > 9d49feaf58101c8ef72b4ff294f189c3 > scipy-1.4.0-cp37-cp37m-manylinux1_i686.whl > 0b2772b857ae94b74923212fd733d136 > scipy-1.4.0-cp37-cp37m-manylinux1_x86_64.whl > 8d6f4725a8c533bf058eb38dcb6ed2f7 scipy-1.4.0-cp37-cp37m-win32.whl > 6afaa582de4454655cb9cdf1b175b9b8 scipy-1.4.0-cp37-cp37m-win_amd64.whl > 3fccff6188a8ca127f61dd200aef367a > scipy-1.4.0-cp38-cp38-macosx_10_9_x86_64.whl > ac16f5ad172f3150ccf191a63b62fd9a scipy-1.4.0-cp38-cp38-manylinux1_i686.whl > a8508c9beeda3859a1fc5adcba46e0ac > scipy-1.4.0-cp38-cp38-manylinux1_x86_64.whl > 9f20a8fdb63c53757455deeab05ae75a scipy-1.4.0-cp38-cp38-win32.whl > 34b5f5adf9145c6db408357e2784501e scipy-1.4.0-cp38-cp38-win_amd64.whl > 77be719dcb5a81ddd6c3260bc37a2e59 scipy-1.4.0.tar.gz > f62205fc40fba8b7fbfa283c1b2770e1 scipy-1.4.0.tar.xz > 5e57299c2cc780a3650ed60ba9cda4e0 scipy-1.4.0.zip > > SHA256 > ~~~~~~ > > 1b51721e5792c4d722e0cab4daf82187d5f22f2e42c56cd247398a16e4d2f48d > scipy-1.4.0-cp35-cp35m-macosx_10_6_intel.whl > cdbcfbe97a21fc6b3c55991a7bcd6a278a38bd197e2d274a45611cdc91beb5c0 > scipy-1.4.0-cp35-cp35m-manylinux1_i686.whl > 2d5b67afa5f5e0cf60dc747327c5be15cde434bed9c96743019886f86bfe0918 > scipy-1.4.0-cp35-cp35m-manylinux1_x86_64.whl > ab35718a2dd58089fbbdf3bcf1bb368a2ec99314de58f65d5d9a1cc8a1f49419 > scipy-1.4.0-cp35-cp35m-win32.whl > c2722813ff63bb1f0fb3c75253a85a16c2b0ecc8c4f999f666a7788bf7c6e4c3 > scipy-1.4.0-cp35-cp35m-win_amd64.whl > 203ba7ab52270e392e7e43834ffbe94fae09ca7f03113a11170cd36d0826eece > scipy-1.4.0-cp36-cp36m-macosx_10_6_intel.whl > 1e46825a4b810e2c36cfebecbad09edfd14b74a43f6146343ec96c62659e4573 > scipy-1.4.0-cp36-cp36m-manylinux1_i686.whl > 72e644285a39aa64aaef7373fcbbed998aa7a550dc073d910d712a9380eba8b1 > scipy-1.4.0-cp36-cp36m-manylinux1_x86_64.whl > fb4b6c26e39375e0cb56d05508c1b43515589725f903c9250940fca906e909fd > scipy-1.4.0-cp36-cp36m-win32.whl > 4061d71c0f143f3985d2ea9ebc4c1d86eff6df79318f265a5fdb23527811f5b2 > scipy-1.4.0-cp36-cp36m-win_amd64.whl > 204667ab336e9087a9bcd2be37b540703aef7b6f9a4fd776186d18b8b972f24a > scipy-1.4.0-cp37-cp37m-macosx_10_6_intel.whl > c1fe5826d26b684d5a690099d56f010a4bdd916e32f9fc0e0898c22551fdc635 > scipy-1.4.0-cp37-cp37m-manylinux1_i686.whl > b51597ed8c1d3f2f07e537fb492a2c3659e477c502ad93c7e241f39ae9e21a78 > scipy-1.4.0-cp37-cp37m-manylinux1_x86_64.whl > 39e9571ae080c149f4b5324836e7ee06a7e331e77f0d6d55f9c6ab7266cd875a > scipy-1.4.0-cp37-cp37m-win32.whl > e47f4d0be4fc6985c789d24898ad65daec781c7f5da4a3d4c76ed9af285306ba > scipy-1.4.0-cp37-cp37m-win_amd64.whl > 6fcc1e8b47c332bb0a558d7529ede0990ea5ff822a9a4392b003adad8e0b31b8 > scipy-1.4.0-cp38-cp38-macosx_10_9_x86_64.whl > bbb21e998e136e1fdfd77e808abf16c72e75c6ffbb87f4b5a41f19c9a4b3e2de > scipy-1.4.0-cp38-cp38-manylinux1_i686.whl > fa39935d7db5066a1b88575fdb196bb576474a17987637430df6bede311906be > scipy-1.4.0-cp38-cp38-manylinux1_x86_64.whl > 461ca398ac6cb46bc89bdbc9f6a81c0302ee370cebe8be682c84a51977e21ded > scipy-1.4.0-cp38-cp38-win32.whl > e588454fd6899d93b73d648d4d90d3d1285c91d08530a6ab94826676c862cabc > scipy-1.4.0-cp38-cp38-win_amd64.whl > 31f7cfa93b01507c935c12b535e24812594002a02a56803d7cd063e9920d25e8 > scipy-1.4.0.tar.gz > 6d174683254ed39d4659f63ce512b843bc45479ce06a05dc089a48c17f1d68e7 > scipy-1.4.0.tar.xz > 704af03ecd4e2191daa12106449c5921f155d210812cce0d9c5f47194f312cda > scipy-1.4.0.zip > -----BEGIN PGP SIGNATURE----- > > iQGzBAEBCAAdFiEEuinQzfUTSK0iykiguEZ+VI8xggYFAl34CSgACgkQuEZ+VI8x > ggY+FQv/TiG+T2eNdpy7t9gwe5aH+sGT5Fi0sli73C3I76fU/WCAx8N9MGnufIMK > hM1gF6feVWDiZRmEjXXHiVQM3ae4TAhq7V0ucxBQ+nonQf98EEWg0M1AHwEKx7HK > mRUT+50hCzqqRnv9axHHUxs93SPjv+xWkGvhZX9UfhrjPUCbglOd1yM60GZZkvxZ > Gj0thpz/eob8w8BM/NNo0TUyCG2e3nREobUdaGxPTaWJR53mYM4caC9dk7+ZvvCl > MsPEtFVuPpWUawSbqILQHo/Nqv8NYvIP0/90y6w9A+7oRCgh1U+BeI4JEQYpQAxT > EDUTw0bG3aG9SRqqZWPj86gMmvioFpxyLh2+zv5pN34ivaFR3hcsxrUsku/1B8u5 > VkUaZwf7QXM+LhrbpxlhFLxad8wXEZjdYeD/l4TXGKSadMER5tRSSL/kUgEgC+KC > CpP+Jy1BIU2ypahyTr5siQrLP/kzYvKjeZsGS/RlGRoiZ6qUGA4I0/HFpUoQIZfE > Bfzgh2Kx > =QU1D > -----END PGP SIGNATURE----- > From ilhanpolat at gmail.com Tue Dec 17 09:26:14 2019 From: ilhanpolat at gmail.com (Ilhan Polat) Date: Tue, 17 Dec 2019 15:26:14 +0100 Subject: [SciPy-Dev] ANN: SciPy 1.4.0 In-Reply-To: References: Message-ID: Thanks Tyler. This was particularly difficult to pull off. Well done! On Tue, Dec 17, 2019, 01:38 Tyler Reddy wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA256 > > Hi all, > > On behalf of the SciPy development team I'm pleased to announce > the release of SciPy 1.4.0. > > Sources and binary wheels can be found at: > https://pypi.org/project/scipy/ > and at: > https://github.com/scipy/scipy/releases/tag/v1.4.0 > > One of a few ways to install this release with pip: > > pip install scipy==1.4.0 > > ========================== > SciPy 1.4.0 Release Notes > ========================== > > SciPy 1.4.0 is the culmination of 6 months of hard work. It contains > many new features, numerous bug-fixes, improved test coverage and better > documentation. There have been a number of deprecations and API changes > in this release, which are documented below. All users are encouraged to > upgrade to this release, as there are a large number of bug-fixes and > optimizations. Before upgrading, we recommend that users check that > their own code does not use deprecated SciPy functionality (to do so, > run your code with ``python -Wd`` and check for ``DeprecationWarning`` s). > Our development attention will now shift to bug-fix releases on the > 1.4.x branch, and on adding new features on the master branch. > > This release requires Python 3.5+ and NumPy >=1.13.3 (for Python 3.5, 3.6), > >=1.14.5 (for Python 3.7), >= 1.17.3 (for Python 3.8) > > For running on PyPy, PyPy3 6.0+ and NumPy 1.15.0 are required. > > Highlights of this release > ---------------------------------- > > - a new submodule, `scipy.fft`, now supersedes `scipy.fftpack`; this > means support for ``long double`` transforms, faster multi-dimensional > transforms, improved algorithm time complexity, release of the global > intepreter lock, and control over threading behavior > - support for ``pydata/sparse`` arrays in `scipy.sparse.linalg` > - substantial improvement to the documentation and functionality of > several `scipy.special` functions, and some new additions > - the generalized inverse Gaussian distribution has been added to > `scipy.stats` > - an implementation of the Edmonds-Karp algorithm in > `scipy.sparse.csgraph.maximum_flow` > - `scipy.spatial.SphericalVoronoi` now supports n-dimensional input, > has linear memory complexity, improved performance, and > supports single-hemisphere generators > > > New features > ============ > > Infrastructure > -------------------- > Documentation can now be built with ``runtests.py --doc`` > > A ``Dockerfile`` is now available in the ``scipy/scipy-dev`` repository to > facilitate getting started with SciPy development. > > `scipy.constants` improvements > --------------------------------------------- > `scipy.constants` has been updated with the CODATA 2018 constants. > > > `scipy.fft` added > ------------------------ > `scipy.fft` is a new submodule that supersedes the `scipy.fftpack` > submodule. > For the most part, this is a drop-in replacement for ``numpy.fft`` and > `scipy.fftpack` alike. With some important differences, `scipy.fft`: > - uses NumPy's conventions for real transforms (``rfft``). This means the > return value is a complex array, half the size of the full ``fft`` output. > This is different from the output of ``fftpack`` which returned a real > array > representing complex components packed together. > - the inverse real to real transforms (``idct`` and ``idst``) are > normalized > for ``norm=None`` in thesame way as ``ifft``. This means the identity > ``idct(dct(x)) == x`` is now ``True`` for all norm modes. > - does not include the convolutions or pseudo-differential operators > from ``fftpack``. > > This submodule is based on the ``pypocketfft`` library, developed by the > author of ``pocketfft`` which was recently adopted by NumPy as well. > ``pypocketfft`` offers a number of advantages over fortran ``FFTPACK``: > - support for long double (``np.longfloat``) precision transforms. > - faster multi-dimensional transforms using vectorisation > - Bluestein?s algorithm removes the worst-case ``O(n^2)`` complexity of > ``FFTPACK`` > - the global interpreter lock (``GIL``) is released during transforms > - optional multithreading of multi-dimensional transforms via the > ``workers`` > argument > > Note that `scipy.fftpack` has not been deprecated and will continue to be > maintained but is now considered legacy. New code is recommended to use > `scipy.fft` instead, where possible. > > `scipy.fftpack` improvements > ---------------------------------------- > `scipy.fftpack` now uses pypocketfft to perform its FFTs, offering the same > speed and accuracy benefits listed for scipy.fft above but without the > improved API. > > `scipy.integrate` improvements > ------------------------------------------- > > The function `scipy.integrate.solve_ivp` now has an ``args`` argument. > This allows the user-defined functions passed to the function to have > additional parameters without having to create wrapper functions or > lambda expressions for them. > > `scipy.integrate.solve_ivp` can now return a ``y_events`` attribute > representing the solution of the ODE at event times > > New ``OdeSolver`` is implemented --- ``DOP853``. This is a high-order > explicit > Runge-Kutta method originally implemented in Fortran. Now we provide a > pure > Python implementation usable through ``solve_ivp`` with all its features. > > `scipy.integrate.quad` provides better user feedback when break points are > specified with a weighted integrand. > > `scipy.integrate.quad_vec` is now available for general purpose integration > of vector-valued functions > > > `scipy.interpolate` improvements > --------------------------------------------- > `scipy.interpolate.pade` now handles complex input data gracefully > > `scipy.interpolate.Rbf` can now interpolate multi-dimensional functions > > `scipy.io` improvements > --------------------------------- > > `scipy.io.wavfile.read` can now read data from a `WAV` file that has a > malformed header, similar to other modern `WAV` file parsers > > `scipy.io.FortranFile` now has an expanded set of available ``Exception`` > classes for handling poorly-formatted files > > > `scipy.linalg` improvements > ------------------------------------- > The function ``scipy.linalg.subspace_angles(A, B)`` now gives correct > results for complex-valued matrices. Before this, the function only > returned > correct values for real-valued matrices. > > New boolean keyword argument ``check_finite`` for `scipy.linalg.norm`; > whether > to check that the input matrix contains only finite numbers. Disabling may > give a performance gain, but may result in problems (crashes, > non-termination) > if the inputs do contain infinities or NaNs. > > `scipy.linalg.solve_triangular` has improved performance for a C-ordered > triangular matrix > > ``LAPACK`` wrappers have been added for ``?geequ``, ``?geequb``, > ``?syequb``, > and ``?heequb`` > > Some performance improvements may be observed due to an internal > optimization > in operations involving LAPACK routines via ``_compute_lwork``. This is > particularly true for operations on small arrays. > > Block ``QR`` wrappers are now available in `scipy.linalg.lapack` > > > `scipy.ndimage` improvements > ------------------------------------------ > > > `scipy.optimize` improvements > ------------------------------------------ > It is now possible to use linear and non-linear constraints with > `scipy.optimize.differential_evolution`. > > `scipy.optimize.linear_sum_assignment` has been re-written in C++ to > improve > performance, and now allows input costs to be infinite. > > A ``ScalarFunction.fun_and_grad`` method was added for convenient > simultaneous > retrieval of a function and gradient evaluation > > `scipy.optimize.minimize` ``BFGS`` method has improved performance by > avoiding > duplicate evaluations in some cases > > Better user feedback is provided when an objective function returns an > array > instead of a scalar. > > > `scipy.signal` improvements > -------------------------------------- > > Added a new function to calculate convolution using the overlap-add method, > named `scipy.signal.oaconvolve`. Like `scipy.signal.fftconvolve`, this > function supports specifying dimensions along which to do the convolution. > > `scipy.signal.cwt` now supports complex wavelets. > > The implementation of ``choose_conv_method`` has been updated to reflect > the > new FFT implementation. In addition, the performance has been > significantly > improved (with rather drastic improvements in edge cases). > > The function ``upfirdn`` now has a ``mode`` keyword argument that can be > used > to select the signal extension mode used at the signal boundaries. These > modes > are also available for use in ``resample_poly`` via a newly added > ``padtype`` > argument. > > `scipy.signal.sosfilt` now benefits from Cython code for improved > performance > > `scipy.signal.resample` should be more efficient by leveraging ``rfft`` > when > possible > > `scipy.sparse` improvements > --------------------------------------- > It is now possible to use the LOBPCG method in `scipy.sparse.linalg.svds`. > > `scipy.sparse.linalg.LinearOperator` now supports the operation > ``rmatmat`` > for adjoint matrix-matrix multiplication, in addition to ``rmatvec``. > > Multiple stability updates enable float32 support in the LOBPCG eigenvalue > solver for symmetric and Hermitian eigenvalues problems in > ``scipy.sparse.linalg.lobpcg``. > > A solver for the maximum flow problem has been added as > `scipy.sparse.csgraph.maximum_flow`. > > `scipy.sparse.csgraph.maximum_bipartite_matching` now allows non-square > inputs, > no longer requires a perfect matching to exist, and has improved > performance. > > `scipy.sparse.lil_matrix` conversions now perform better in some scenarios > > Basic support is available for ``pydata/sparse`` arrays in > `scipy.sparse.linalg` > > `scipy.sparse.linalg.spsolve_triangular` now supports the ``unit_diagonal`` > argument to improve call signature similarity with its dense counterpart, > `scipy.linalg.solve_triangular` > > ``assertAlmostEqual`` may now be used with sparse matrices, which have > added > support for ``__round__`` > > `scipy.spatial` improvements > --------------------------------------- > The bundled Qhull library was upgraded to version 2019.1, fixing several > issues. Scipy-specific patches are no longer applied to it. > > `scipy.spatial.SphericalVoronoi` now has linear memory complexity, improved > performance, and supports single-hemisphere generators. Support has also > been > added for handling generators that lie on a great circle arc (geodesic > input) > and for generators in n-dimensions. > > `scipy.spatial.transform.Rotation` now includes functions for calculation > of a > mean rotation, generation of the 3D rotation groups, and reduction of > rotations > with rotational symmetries. > > `scipy.spatial.transform.Slerp` is now callable with a scalar argument > > `scipy.spatial.voronoi_plot_2d` now supports furthest site Voronoi diagrams > > `scipy.spatial.Delaunay` and `scipy.spatial.Voronoi` now have attributes > for tracking whether they are furthest site diagrams > > `scipy.special` improvements > ----------------------------------------- > The Voigt profile has been added as `scipy.special.voigt_profile`. > > A real dispatch has been added for the Wright Omega function > (`scipy.special.wrightomega`). > > The analytic continuation of the Riemann zeta function has been added. > (The > Riemann zeta function is the one-argument variant of `scipy.special.zeta`.) > > The complete elliptic integral of the first kind (`scipy.special.ellipk`) > is > now available in `scipy.special.cython_special`. > > The accuracy of `scipy.special.hyp1f1` for real arguments has been > improved. > > The documentation of many functions has been improved. > > `scipy.stats` improvements > ------------------------------------- > `scipy.stats.multiscale_graphcorr` added as an independence test that > operates on high dimensional and nonlinear data sets. It has higher > statistical > power than other `scipy.stats` tests while being the only one that > operates on > multivariate data. > > The generalized inverse Gaussian distribution (`scipy.stats.geninvgauss`) > has > been added. > > It is now possible to efficiently reuse `scipy.stats.binned_statistic_dd` > with new values by providing the result of a previous call to the function. > > `scipy.stats.hmean` now handles input with zeros more gracefully. > > The beta-binomial distribution is now available in `scipy.stats.betabinom`. > > `scipy.stats.zscore`, `scipy.stats.circmean`, `scipy.stats.circstd`, and > `scipy.stats.circvar` now support the ``nan_policy`` argument for enhanced > handling of ``NaN`` values > > `scipy.stats.entropy` now accepts an ``axis`` argument > > `scipy.stats.gaussian_kde.resample` now accepts a ``seed`` argument to > empower > reproducibility > > `scipy.stats.kendalltau` performance has improved, especially for large > inputs, > due to improved cache usage > > `scipy.stats.truncnorm` distribution has been rewritten to support much > wider > tails > > > Deprecated features > =================== > > `scipy` deprecations > ----------------------------- > Support for NumPy functions exposed via the root SciPy namespace is > deprecated > and will be removed in 2.0.0. For example, if you use ``scipy.rand`` or > ``scipy.diag``, you should change your code to directly use > ``numpy.random.default_rng`` or ``numpy.diag``, respectively. > They remain available in the currently continuing Scipy 1.x release series. > > The exception to this rule is using ``scipy.fft`` as a function -- > :mod:`scipy.fft` is now meant to be used only as a module, so the ability > to > call ``scipy.fft(...)`` will be removed in SciPy 1.5.0. > > In `scipy.spatial.Rotation` methods ``from_dcm``, ``as_dcm`` were renamed > to > ``from_matrix``, ``as_matrix`` respectively. The old names will be removed > in > SciPy 1.6.0. > > Method ``Rotation.match_vectors`` was deprecated in favor of > ``Rotation.align_vectors``, which provides a more logical and > general API to the same functionality. The old method > will be removed in SciPy 1.6.0. > > Backwards incompatible changes > ========================== > > `scipy.special` changes > --------------------------------- > The deprecated functions ``hyp2f0``, ``hyp1f2``, and ``hyp3f0`` have been > removed. > > The deprecated function ``bessel_diff_formula`` has been removed. > > The function ``i0`` is no longer registered with ``numpy.dual``, so that > ``numpy.dual.i0`` will unconditionally refer to the NumPy version > regardless > of whether `scipy.special` is imported. > > The function ``expn`` has been changed to return ``nan`` outside of its > domain of definition (``x, n < 0``) instead of ``inf``. > > `scipy.sparse` changes > -------------------------------- > Sparse matrix reshape now raises an error if shape is not two-dimensional, > rather than guessing what was meant. The behavior is now the same as > before > SciPy 1.1.0. > > ``CSR`` and ``CSC`` sparse matrix classes should now return empty matrices > of the same type when indexed out of bounds. Previously, for some versions > of SciPy, this would raise an ``IndexError``. The change is largely > motivated > by greater consistency with ``ndarray`` and ``numpy.matrix`` semantics. > > `scipy.signal` changes > ------------------------------- > `scipy.signal.resample` behavior for length-1 signal inputs has been > fixed to output a constant (DC) value rather than an impulse, consistent > with > the assumption of signal periodicity in the FFT method. > > `scipy.signal.cwt` now performs complex conjugation and time-reversal of > wavelet data, which is a backwards-incompatible bugfix for > time-asymmetric wavelets. > > `scipy.stats` changes > ------------------------------ > `scipy.stats.loguniform` added with better documentation as (an alias for > ``scipy.stats.reciprocal``). ``loguniform`` generates random variables > that are equally likely in the log space; e.g., ``1``, ``10`` and ``100`` > are all equally likely if ``loguniform(10 ** 0, 10 ** 2).rvs()`` is used. > > > Other changes > ============= > The ``LSODA`` method of `scipy.integrate.solve_ivp` now correctly detects > stiff > problems. > > `scipy.spatial.cKDTree` now accepts and correctly handles empty input data > > `scipy.stats.binned_statistic_dd` now calculates the standard deviation > statistic in a numerically stable way. > > `scipy.stats.binned_statistic_dd` now throws an error if the input data > contains either ``np.nan`` or ``np.inf``. Similarly, in `scipy.stats` now > all > continuous distributions' ``.fit()`` methods throw an error if the input > data > contain any instance of either ``np.nan`` or ``np.inf``. > > > Authors > ======= > > * @endolith > * @wenhui-prudencemed + > * Abhinav + > * Anne Archibald > * ashwinpathak20nov1996 + > * Danilo Augusto + > * Nelson Auner + > * aypiggott + > * Christoph Baumgarten > * Peter Bell > * Sebastian Berg > * Arman Bilge + > * Benedikt Boecking + > * Christoph Boeddeker + > * Daniel Bunting > * Evgeni Burovski > * Angeline Burrell + > * Angeline G. Burrell + > * CJ Carey > * Carlos Ramos Carre?o + > * Mak Sze Chun + > * Malayaja Chutani + > * Christian Clauss + > * Jonathan Conroy + > * Stephen P Cook + > * Dylan Cutler + > * Anirudh Dagar + > * Aidan Dang + > * dankleeman + > * Brandon David + > * Tyler Dawson + > * Dieter Werthm?ller > * Joe Driscoll + > * Jakub Dyczek + > * D?vid Bodn?r > * Fletcher Easton + > * Stefan Endres > * etienne + > * Johann Faouzi > * Yu Feng > * Isuru Fernando + > * Matthew H Flamm > * Martin Gauch + > * Gabriel Gerlero + > * Ralf Gommers > * Chris Gorgolewski + > * Domen Gorjup + > * Edouard Goudenhoofdt + > * Jan Gwinner + > * Maja Gwozdz + > * Matt Haberland > * hadshirt + > * Pierre Haessig + > * David Hagen > * Charles Harris > * Gina Helfrich + > * Alex Henrie + > * Francisco J. Hernandez Heras + > * Andreas Hilboll > * Lindsey Hiltner > * Thomas Hisch > * Min ho Kim + > * Gert-Ludwig Ingold > * jakobjakobson13 + > * Todd Jennings > * He Jia > * Muhammad Firmansyah Kasim + > * Andrew Knyazev + > * Holger Kohr + > * Mateusz Konieczny + > * Krzysztof Pi?ro + > * Philipp Lang + > * Peter Mahler Larsen + > * Eric Larson > * Antony Lee > * Gregory R. Lee > * Chelsea Liu + > * Jesse Livezey > * Peter Lysakovski + > * Jason Manley + > * Michael Marien + > * Nikolay Mayorov > * G. D. McBain + > * Sam McCormack + > * Melissa Weber Mendon?a + > * Kevin Michel + > * mikeWShef + > * Sturla Molden > * Eric Moore > * Peyton Murray + > * Andrew Nelson > * Clement Ng + > * Juan Nunez-Iglesias > * Renee Otten + > * Kellie Ottoboni + > * Ayappan P > * Sambit Panda + > * Tapasweni Pathak + > * Oleksandr Pavlyk > * Fabian Pedregosa > * Petar Mlinari? > * Matti Picus > * Marcel Plch + > * Christoph Pohl + > * Ilhan Polat > * Siddhesh Poyarekar + > * Ioannis Prapas + > * James Alan Preiss + > * Yisheng Qiu + > * Eric Quintero > * Bharat Raghunathan + > * Tyler Reddy > * Joscha Reimer > * Antonio Horta Ribeiro > * Lucas Roberts > * rtshort + > * Josua Sassen > * Kevin Sheppard > * Scott Sievert > * Leo Singer > * Kai Striega > * S?ren Fuglede J?rgensen > * tborisow + > * ?tienne Tremblay + > * tuxcell + > * Miguel de Val-Borro > * Andrew Valentine + > * Hugo van Kemenade > * Paul van Mulbregt > * Sebastiano Vigna > * Pauli Virtanen > * Dany Vohl + > * Ben Walsh + > * Huize Wang + > * Warren Weckesser > * Anreas Weh + > * Joseph Weston + > * Adrian Wijaya + > * Timothy Willard + > * Josh Wilson > * Kentaro Yamamoto + > * Dave Zbarsky + > > A total of 142 people contributed to this release. > People with a "+" by their names contributed a patch for the first time. > This list of names is automatically generated, and may not be fully > complete. > > > Issues closed for 1.4.0 > -------------------------------- > > * `#1255 `__: maxiter broken > for Scipy.sparse.linalg gmres, in addition to... > * `#1301 `__: consolidate > multipack.h from interpolate and integrate packages... > * `#1739 `__: Single > precision FFT insufficiently accurate. (Trac #1212) > * `#1795 `__: stats > test_distributions.py: replace old fuzz tests (Trac #1269) > * `#2233 `__: fftpack > segfault with big arrays (Trac #1714) > * `#2434 `__: rmatmat and the > sophistication of linear operator objects > * `#2477 `__: > stats.truncnorm.rvs() does not give symmetric results for negative... > * `#2629 `__: FFTpack is > unacceptably slow on non power of 2 > * `#2883 `__: > UnboundLocalError in scipy.interpolate.splrep > * `#2956 `__: Feature > Request: axis argument for stats.entropy function > * `#3528 `__: Segfault on > test_djbfft (possibly MKL-related?) > * `#3793 `__: cwt should also > return complex array > * `#4464 `__: TST: > residue/residuez/invres/invresz don't have any tests > * `#4561 `__: BUG: tf filter > trailing and leading zeros in residuez > * `#4669 `__: Rewrite sosfilt > to make a single loop over the input? > * `#5040 `__: BUG: Empty data > handling of (c)KDTrees > * `#5112 `__: boxcox > transform edge cases could use more care > * `#5441 `__: > scipy.stats.ncx2 fails for nc=0 > * `#5502 `__: args keyword > not handled in optimize.curve_fit > * `#6484 `__: Qhull > segmentation fault > * `#6900 `__: > linear_sum_assignment with infinite weights > * `#6966 `__: Hypergeometric > Functions documentation is lacking > * `#6999 `__: possible false > positive corruption check in compressed loadmat() > * `#7018 `__: ydata that > needs broadcasting renders curve_fit unable to compute... > * `#7140 `__: trouble with > documentation for windows > * `#7327 `__: > interpolate.ndgriddata.griddata causes Python to crash rather... > * `#7396 `__: > MatrixLinearOperator implements _adjoint(), but not _transpose() > * `#7400 `__: BUG(?): > special: factorial and factorial2 return a 0-dimensional... > * `#7434 `__: Testing of > scipy.stats continuous distributions misses 25 distributions > * `#7491 `__: Several > scipy.stats distributions (fisk, burr, burr12, f) return... > * `#7759 `__: Overflow in > stats.kruskal for large samples > * `#7906 `__: Wrong result > from scipy.interpolate.UnivariateSpline.integral... > * `#8165 `__: ENH: match > functionality of R for hmean > * `#8417 `__: > optimimze.minimize(method='L-BFGS-B', options={'disp': True})... > * `#8535 `__: Strictly > increasing requirement in UnivariateSpline > * `#8815 `__: [BUG] GMRES: > number of iteration is only increased if callback... > * `#9207 `__: > scipy.linalg.solve_triangular speed after scipy.linalg.lu_factor > * `#9275 `__: new feature: > adding LOBPCG solver in svds in addition to ARPACK > * `#9403 `__: range of > truncnorm.logpdf could be extended > * `#9429 `__: gaussian_kde > not working with numpy matrix > * `#9515 `__: ndimage > implementation relies on undefined behavior > * `#9643 `__: arpack returns > singular values in ascending order > * `#9669 `__: DOC: > matthew-brett/build-openblas has been retired > * `#9852 `__: > scipy.spatial.ConvexHull exit with code 134, free(): invalid... > * `#9902 `__: > scipy.stats.truncnorm second moment may be wrong > * `#9943 `__: Custom sampling > methods in shgo do not work > * `#9947 `__: DOC: Incorrect > documentation for \`nan_policy='propagate\` in... > * `#9994 `__: BUG: sparse: > reshape method allows a shape containing an arbitrary... > * `#10036 `__: Official > Nelder mead tutorial uses xtol instead of xatol, which... > * `#10078 `__: possible to > get a better error message when objective function... > * `#10092 `__: overflow in > truncnorm.rvs > * `#10121 `__: A little > spelling mistake > * `#10126 `__: inaccurate > std implementation in binned_statistic > * `#10161 `__: Error in > documentation scipy.special.modstruve > * `#10195 `__: Derivative of > spline with 'const' extrapolation is also extrapolted... > * `#10206 `__: sparse > matrices indexing with scipy 1.3 > * `#10236 `__: > Non-descriptive error on type mismatch for functions of scipy.optimize... > * `#10258 `__: LOBPCG > convergence failure if guess provided > * `#10262 `__: distance > matrix lacks dtype checks / warnings > * `#10271 `__: BUG: optimize > failure on wheels > * `#10277 `__: > scipy.special.zeta(0) = NAN > * `#10292 `__: DOC/REL: Some > sections of the release notes are not nested correctly. > * `#10300 `__: > scipy.stats.rv_continuous.fit throws empty RuntimeError when... > * `#10319 `__: events in > scipy.integrate.solve_ivp: How do I setup an events... > * `#10323 `__: Adding more > low-level LAPACK wrappers > * `#10360 `__: firwin2 > inadvertently modifies input and may result in undefined... > * `#10388 `__: BLD: > TestHerd::test_hetrd core dumps with Python-dbg > * `#10395 `__: Remove > warning about output shape of zoom > * `#10403 `__: DOC: > scipy.signal.resample ignores t parameter > * `#10421 `__: Yeo-Johnson > power transformation fails with integer input data > * `#10422 `__: BUG: > scipy.fft does not support multiprocessing > * `#10427 `__: ENH: convolve > numbers should be updated > * `#10444 `__: BUG: > scipy.spatial.transform.Rotation.match_vectors returns improper... > * `#10488 `__: ENH: > DCTs/DSTs for scipy.fft > * `#10501 `__: BUG: > scipy.spatial.HalfspaceIntersection works incorrectly > * `#10514 `__: BUG: cKDTree > GIL handling is incorrect > * `#10535 `__: TST: master > branch CI failures > * `#10588 `__: scipy.fft and > numpy.fft inconsistency when axes=None and shape... > * `#10628 `__: Scipy > python>3.6 Windows wheels don't ship msvcp\*.dll > * `#10733 `__: DOC/BUG: > min_only result does not match documentation > * `#10774 `__: min_only=true > djisktra infinite loop with duplicate indices > * `#10775 `__: > UnboundLocalError in Radau when given a NaN > * `#10835 `__: > io.wavfile.read unnecessarily raises an error for a bad wav header > * `#10838 `__: Error in > documentation for scipy.linalg.lu_factor > * `#10875 `__: DOC: > Graphical guides (using TikZ) > * `#10880 `__: setting > verbose > 2 in minimize with trust-constr method leads... > * `#10887 `__: > scipy.signal.signaltools._fftconv_faster has incorrect estimates > * `#10948 `__: gammainc(0,x) > = nan but should be 1, gammaincc(0,x) = nan but... > * `#10952 `__: > TestQRdelete_F.test_delete_last_p_col test failure > * `#10968 `__: API: Change > normalized=False to normalize=True in Rotation > * `#10987 `__: Memory leak > in shgo triangulation > * `#10991 `__: Error running > openBlas probably missing a step > * `#11033 `__: deadlock on > osx for python 3.8 > * `#11041 `__: Test failure > in wheel builds for TestTf2zpk.test_simple > * `#11089 `__: Regression in > scipy.stats where distribution will not accept loc and scale parameters > * `#11100 `__: BUG: > multiscale_graphcorr random state seeding and parallel use > * `#11121 `__: Calls to > `scipy.interpolate.splprep` increase RAM usage. > * `#11125 `__: BUG: segfault > when slicing a CSR or CSC sparse matrix with slice start index > stop index > * `#11198 `__: BUG: sparse > eigs (arpack) shift-invert drops the smallest eigenvalue for some k > > Pull requests for 1.4.0 > ------------------------------- > > * `#4591 `__: BUG, TST: Several > issues with scipy.signal.residue > * `#6629 `__: ENH: sparse: > canonicalize on initialization > * `#7076 `__: ENH: add complex > wavelet support to scipy.signal.cwt. > * `#8681 `__: ENH add > generalized inverse Gaussian distribution to scipy.stats > * `#9064 `__: BUG/ENH: Added > default _transpose into LinearOperator. Fixes... > * `#9215 `__: ENH: Rbf > interpolation of large multi-dimensional data > * `#9311 `__: ENH: Added voigt > in scipy.special. > * `#9642 `__: ENH: integrate: > quad() for vector-valued functions > * `#9679 `__: DOC: expand > docstring of exponweib distribution > * `#9684 `__: TST: add ppc64le > ci testing > * `#9800 `__: WIP : ENH: > Refactored _hungarian.py for speed and added a minimize/maximize? > * `#9847 `__: DOC: Change > integrate tutorial to use solve_ivp instead of odeint > * `#9876 `__: ENH: Use rfft > when possible in resampling > * `#9998 `__: BUG: Do not > remove 1s when calling sparse: reshape method #9994 > * `#10002 `__: ENH: adds > constraints for differential evolution > * `#10098 `__: ENH: integrate: > add args argument to solve_ivp. > * `#10099 `__: DOC: Add > missing docs for linprog unknown_options > * `#10104 `__: BUG: Rewrite of > stats.truncnorm distribution. > * `#10105 `__: MAINT improve > efficiency of rvs_ratio_uniforms in scipy.stats > * `#10107 `__: TST: > dual_annealing set seed > * `#10108 `__: ENH: stats: > improve kendall_tau cache usage > * `#10110 `__: MAINT: _lib: > Fix a build warning. > * `#10114 `__: FIX: only print > bounds when supported by minimizer (shgo) > * `#10115 `__: TST: Add a test > with an almost singular design matrix for lsq_linear > * `#10118 `__: MAINT: fix > rdist methods in scipy.stats > * `#10119 `__: MAINT: improve > rvs of randint in scipy.stats > * `#10127 `__: Fix typo in > record array field name (spatial-ckdtree-sparse_distance? > * `#10130 `__: MAINT: ndimage: > Fix some compiler warnings. > * `#10131 `__: DOC: Note the > solve_ivp args enhancement in the 1.4.0 release... > * `#10133 `__: MAINT: add rvs > for semicircular in scipy.stats > * `#10138 `__: BUG: special: > Invalid arguments to ellip_harm can crash Python. > * `#10139 `__: MAINT: spatial: > Fix some compiler warnings in the file distance_wrap.c. > * `#10140 `__: ENH: add > handling of NaN in RuntimeWarning except clause > * `#10142 `__: DOC: return > value of scipy.special.comb > * `#10143 `__: MAINT: Loosen > linprog tol > * `#10152 `__: BUG: Fix custom > sampling input for shgo, add unittest > * `#10154 `__: MAINT: add > moments and improve doc of mielke in scipy.stats > * `#10158 `__: Issue #6999: > read zlib checksum before checking bytes read. > * `#10166 `__: BUG: Correctly > handle broadcasted ydata in curve_fit pcov computation. > * `#10167 `__: DOC: special: > Add missing factor of \`i\` to \`modstruve\` docstring > * `#10168 `__: MAINT: stats: > Fix an incorrect comment. > * `#10169 `__: ENH: optimize: > Clarify error when objective function returns... > * `#10172 `__: DEV: Run tests > in parallel when --parallel flag is passed to... > * `#10173 `__: ENH: Implement > DOP853 ODE integrator > * `#10176 `__: Fixed typo > * `#10182 `__: TST: fix test > issue for stats.pearsonr > * `#10184 `__: MAINT: stats: > Simplify zmap and zscore (we can use keepdims now). > * `#10191 `__: DOC: fix a > formatting issue in the scipy.spatial module docstring. > * `#10193 `__: DOC: Updated > docstring for optimize.nnls > * `#10198 `__: DOC, ENH: > special: Make \`hyp2f1\` references more specific > * `#10202 `__: DOC: Format DST > and DCT definitions as latex equations > * `#10207 `__: BUG: Compressed > matrix indexing should return a scalar > * `#10210 `__: DOC: Update > docs for connection='weak' in connected_components > * `#10225 `__: DOC: Clarify > new interfaces for legacy functions in 'optimize' > * `#10231 `__: DOC, MAINT: > gpg2 updates to release docs / pavement > * `#10235 `__: LICENSE: split > license file in standard BSD 3-clause and bundled. > * `#10238 `__: ENH: Add new > scipy.fft module using pocketfft > * `#10243 `__: BUG: fix ARFF > reader regression with quoted values. > * `#10248 `__: DOC: update > README file > * `#10255 `__: CI: bump > OpenBLAS to match wheels > * `#10264 `__: TST: add tests > for stats.tvar with unflattened arrays > * `#10280 `__: MAINT: stats: > Use a constant value for sqrt(2/PI). > * `#10286 `__: Development > Documentation Overhaul > * `#10290 `__: MAINT: > Deprecate NumPy functions in SciPy root > * `#10291 `__: FIX: Avoid > importing xdist when checking for availability > * `#10295 `__: Disable > deprecated Numpy API in __odrpack.c > * `#10296 `__: ENH: C++ > extension for linear assignment problem > * `#10298 `__: ENH: Made pade > function work with complex inputs > * `#10301 `__: DOC: Fix > critical value significance levels in stats.anderson_ksamp > * `#10307 `__: Minkowski > Distance Type Fix (issue #10262) > * `#10309 `__: BUG: Pass > jac=None directly to lsoda > * `#10310 `__: BUG: > interpolate: UnivariateSpline.derivative.ext is 'zeros'... > * `#10312 `__: FIX: Fixing a > typo in a comment > * `#10314 `__: scipy.spatial > enhancement request > * `#10315 `__: DOC: Update > integration tutorial to solve_ivp > * `#10318 `__: DOC: update the > example for PPoly.solve > * `#10333 `__: TST: add tests > for stats.tvar with unflattened arrays > * `#10334 `__: MAINT: special: > Remove deprecated \`hyp2f0\`, \`hyp1f2\`, and... > * `#10336 `__: BUG: > linalg/interpolative: fix interp_decomp modifying input > * `#10341 `__: BUG: > sparse.linalg/gmres: deprecate effect of callback on semantics... > * `#10344 `__: DOC: improve > wording of mathematical formulation > * `#10345 `__: ENH: Tiled QR > wrappers for scipy.linalg.lapack > * `#10350 `__: MAINT: linalg: > Use the new fft subpackage in linalg.dft test... > * `#10351 `__: BUG: Fix > unstable standard deviation calculation in histogram > * `#10353 `__: Bug: > interpolate.NearestNDInterpolator (issue #10352) > * `#10357 `__: DOC: linalg: > Refer to scipy.fft.fft (not fftpack) in the dft... > * `#10359 `__: DOC: Update > roadmap now scipy.fft has been merged > * `#10361 `__: ENH: Prefer > scipy.fft to scipy.fftpack in scipy.signal > * `#10371 `__: DOC: Tweaks to > fft documentation > * `#10372 `__: DOC: Fix typos > * `#10377 `__: TST, MAINT: > adjustments for pytest 5.0 > * `#10378 `__: ENH: _lib: > allow new np.random.Generator in check_random_state > * `#10379 `__: BUG: sparse: > set writeability to be forward-compatible with numpy>=1.17 > * `#10381 `__: BUG: Fixes > gh-7491, pdf at x=0 of fisk/burr/burr12/f distributions. > * `#10387 `__: ENH: > optimize/bfgs: don't evaluate twice at initial point for... > * `#10392 `__: [DOC] Add an > example for _binned_statistic_dd > * `#10396 `__: Remove warning > about output shape of zoom > * `#10397 `__: ENH: Add > check_finite to sp.linalg.norm > * `#10399 `__: ENH: Add > __round__ method to sparse matrix > * `#10407 `__: MAINT: drop > pybind11 from install_requires, it's only build-time... > * `#10408 `__: TST: use > pytest.raises, not numpy assert_raises > * `#10409 `__: CI: uninstall > nose on Travis > * `#10410 `__: [ENH] ncx2 > dispatch to chi2 when nc=0 > * `#10411 `__: TST: optimize: > test should use assert_allclose for fp comparisons > * `#10414 `__: DOC: add > pybind11 to the other part of quickstart guides > * `#10417 `__: DOC: special: > don't mark non-ufuncs with a \`[+]\` > * `#10423 `__: FIX: Use > pybind11::isinstace to check array dtypes > * `#10424 `__: DOC: add > doctest example for binary data for ttest_ind_from_stats > * `#10425 `__: ENH: Add > missing Hermitian transforms to scipy.fft > * `#10426 `__: MAINT: Fix doc > build bugs > * `#10431 `__: Update numpy > version for AIX > * `#10433 `__: MAINT: Minor > fixes for the stats > * `#10434 `__: BUG: special: > make \`ndtri\` return NaN outside domain of definition > * `#10435 `__: BUG: Allow > integer input data in scipy.stats.yeojohnson > * `#10438 `__: [DOC] Add > example for kurtosis > * `#10440 `__: ENH: special: > make \`ellipk\` a ufunc > * `#10443 `__: MAINT: ndimage: > malloc fail check > * `#10447 `__: BLD: Divert > output from test compiles into a temporary directory > * `#10451 `__: MAINT: signal: > malloc fail check > * `#10455 `__: BUG: special: > fix values of \`hyperu\` for negative \`x\` > * `#10456 `__: DOC: Added > comment clarifying the call for dcsrch.f in lbfgsb.f > * `#10457 `__: BUG: Allow > ckdtree to accept empty data input > * `#10459 `__: BUG:TST: > Compute lwork safely > * `#10460 `__: [DOC] Add > example to entropy > * `#10461 `__: DOC: Quickstart > Guide updates > * `#10462 `__: TST: special: > only show max atol/rtol for test points that failed > * `#10465 `__: BUG: Correctly > align fft inputs > * `#10467 `__: ENH: > lower-memory duplicate generator checking in spatial.SphericalVoronoi > * `#10470 `__: ENH: Normalise > the inverse DCT/DST in scipy.fft > * `#10472 `__: BENCH: adjust > timeout for slow setup_cache > * `#10475 `__: CI: include > python debug for Travis-ci > * `#10476 `__: TST: special: > use \`__tracebackhide__\` to get better error messages > * `#10477 `__: ENH: faster > region building in spatial.SphericalVoronoi > * `#10479 `__: BUG: stats: Fix > a few issues with the distributions' fit method. > * `#10480 `__: Add > RuntimeError in _distn_infrastructure.py in fit() method > * `#10481 `__: BENCH, MAINT: > wheel_cache_size has been renamed build_cache_size > * `#10494 `__: ENH: faster > circumcenter calculation in spatial.SphericalVoronoi > * `#10500 `__: Splrep > _curfit_cache global variable bugfix > * `#10503 `__: BUG: > spatial/qhull: get HalfspaceIntersection.dual_points from... > * `#10506 `__: DOC: interp2d, > note nearest neighbor extrapolation > * `#10507 `__: MAINT: Remove > fortran fftpack library in favour of pypocketfft > * `#10508 `__: TST: fix a bug > in the circular import test. > * `#10509 `__: MAINT: Set up > _build_utils as subpackage > * `#10516 `__: BUG: Use nogil > contexts in cKDTree > * `#10517 `__: ENH: > fftconvolve should not FFT broadcastable axes > * `#10518 `__: ENH: Speedup > fftconvolve > * `#10520 `__: DOC: Proper > .rst formatting for deprecated features and Backwards... > * `#10523 `__: DOC: Improve > scipy.signal.resample documentation > * `#10524 `__: ENH: Add MGC to > scipy.stats > * `#10525 `__: [ENH] ncx2.ppf > dispatch to chi2 when nc=0 > * `#10526 `__: DOC: clarify > laplacian normalization > * `#10528 `__: API: Rename > scipy.fft DCT/DST shape argument to s > * `#10531 `__: BUG: fixed > improper rotations in spatial.transform.rotation.match_vectors > * `#10533 `__: [DOC] Add > example for winsorize function > * `#10539 `__: MAINT: special: > don't register \`i0\` with \`numpy.dual\` > * `#10540 `__: MAINT: Fix > Travis and Circle > * `#10542 `__: MAINT: > interpolate: use cython_lapack > * `#10547 `__: Feature > request. Add furthest site Voronoi diagrams to scipy.spatial.plotutils. > * `#10549 `__: [BUG] Fix bug > in trimr when inclusive=False > * `#10552 `__: add > scipy.signal.upfirdn signal extension modes > * `#10555 `__: MAINT: special: > move \`c_misc\` into Cephes > * `#10556 `__: [DOC] Add > example for trima > * `#10562 `__: [DOC] Fix > triple string fo trimmed so that __doc__ can show... > * `#10563 `__: improve > least_squares error msg for mismatched shape > * `#10564 `__: ENH: linalg: > memoize get_lapack/blas_funcs to speed it up > * `#10566 `__: ENH: add > implementation of solver for the maximum flow problem > * `#10567 `__: BUG: spatial: > use c++11 construct for getting start of vector... > * `#10568 `__: DOC: special: > small tweaks to the \`zetac\` docstring > * `#10571 `__: [ENH] > Gaussian_kde can accept matrix dataset > * `#10574 `__: ENH: linalg: > speed up _compute_lwork by avoiding numpy constructs > * `#10582 `__: Fix typos with > typos in bundled libraries reverted > * `#10583 `__: ENH: special: > add the analytic continuation of Riemann zeta > * `#10584 `__: MAINT: special: > clean up \`special.__all__\` > * `#10586 `__: BUG: > multidimensional scipy.fft functions should accept 's' rather... > * `#10587 `__: BUG: > integrate/lsoda: never abort run, set error istate instead > * `#10594 `__: API: Replicate > numpy's fftn behaviour when s is given but not... > * `#10599 `__: DOC: dev: > update documentation vs. github pull request workflow... > * `#10603 `__: MAINT: > installer scripts removed > * `#10604 `__: MAINT: Change > c\*np.ones(...) to np.full(..., c, ...) in many... > * `#10608 `__: Univariate > splines should require x to be strictly increasing... > * `#10613 `__: ENH: Add seed > option for gaussian_kde.resample > * `#10614 `__: ENH: Add > parallel computation to scipy.fft > * `#10615 `__: MAINT: > interpolate: remove unused header file > * `#10616 `__: MAINT: Clean up > 32-bit platform xfail markers > * `#10618 `__: BENCH: Added > 'trust-constr' to minimize benchmarks > * `#10621 `__: [MRG] multiple > stability updates in lobpcg > * `#10622 `__: MAINT: forward > port 1.3.1 release notes > * `#10624 `__: DOC: stats: Fix > spelling of 'support'. > * `#10627 `__: DOC: stats: Add > references for the alpha distribution. > * `#10629 `__: MAINT: special: > avoid overflow longer in \`zeta\` for negative... > * `#10630 `__: TST: GH10271, > relax test assertion, fixes #10271 > * `#10631 `__: DOC: > nelder-mean uses xatol fixes #10036 > * `#10633 `__: BUG: > interpolate: integral(a, b) should be zero when both limits... > * `#10635 `__: DOC: special: > complete hypergeometric functions documentation > * `#10636 `__: BUG: special: > use series for \`hyp1f1\` when it converges rapidly > * `#10641 `__: ENH: allow > matching of general bipartite graphs > * `#10643 `__: ENH: > scipy.sparse.linalg.spsolve triangular unit diagonal > * `#10650 `__: ENH: Cythonize > sosfilt > * `#10654 `__: DOC: Vertical > alignment of table entries > * `#10655 `__: ENH: Dockerfile > for scipy development > * `#10660 `__: TST: clean up > tests for rvs in scipy.stats > * `#10664 `__: Throw error on > non-finite input for binned_statistic_dd() > * `#10665 `__: DOC: special: > improve the docstrings for \`gamma\` and \`gammasgn\` > * `#10669 `__: TST: Update > scipy.fft real transform tests > * `#10670 `__: DOC: Clarify > docs and error messages for scipy.signal.butter > * `#10672 `__: ENH: return > solution attribute when using events in solve_ivp > * `#10675 `__: MAINT: special: > add an explicit NaN check for \`iv\` arguments > * `#10679 `__: DOC: special: > Add documentation for \`beta\` function > * `#10681 `__: TST: > sparse.linalg: fix arnoldi test seed > * `#10682 `__: DOC: special: > Add documentation for \`betainc\` function > * `#10684 `__: TST: special: > require Mpmath 1.1.0 for \`test_hyperu_around_0\` > * `#10686 `__: FIX: sphinx > isattributedescriptor is not available in sphinx... > * `#10687 `__: DOC: added > Docker quickstart guide by @andyfaff > * `#10689 `__: DOC: special: > clarify format of parameters/returns sections for... > * `#10690 `__: DOC: special: > improve docstrings of incomplete gamma functions > * `#10692 `__: ENH: > higher-dimensional input in \`spatial.SphericalVoronoi\` > * `#10694 `__: ENH: > ScalarFunction.fun_and_grad > * `#10698 `__: DOC: special: > Add documentation for \`betaincinv\` > * `#10699 `__: MAINT: remove > time print lbfgsb fixes #8417 > * `#10701 `__: TST, MAINT: > bump OpenBLAS to 0.3.7 stable > * `#10702 `__: DOC: clarify > iterations consume multiple function calls > * `#10703 `__: DOC: iprint doc > lbfgsb closes #5482 > * `#10708 `__: TST: test > suggested in gh1758 > * `#10710 `__: ENH: Added > nan_policy to circ functions in \`stats\` > * `#10712 `__: ENH: add axis > parameter to stats.entropy > * `#10714 `__: DOC: Formatting > fix rv_continuous.expect docs > * `#10715 `__: DOC: BLD: > update doc Makefile for python version; add scipy version... > * `#10717 `__: MAINT: > modernize doc/Makefile > * `#10719 `__: Enable setting > minres initial vector > * `#10720 `__: DOC: silence > random warning in doc build for \`stats.binned_statistic_dd\` > * `#10724 `__: DEV: Add doc > option to runtests.py > * `#10728 `__: MAINT: get rid > of gramA, gramB text files that lobpcg tests leave... > * `#10732 `__: DOC: add > min_only to docstring for Dijkstra's algorithm > * `#10734 `__: DOC: spell out > difference between source and target in shortest... > * `#10735 `__: Fix for Python 4 > * `#10739 `__: BUG: > optimize/slsqp: deal with singular BFGS update > * `#10741 `__: ENH: LAPACK > wrappers for ?geequ, ?geequb, ?syequb, ?heequb > * `#10742 `__: DOC: special: > add to the docstring of \`gammaln\` > * `#10743 `__: ENH: special: > add a real dispatch for \`wrightomega\` > * `#10746 `__: MAINT: Fix > typos in comments, docs and test name > * `#10747 `__: Remove spurious > quotes > * `#10750 `__: MAINT: make > cython code more precise > * `#10751 `__: MAINT: Check > that scipy.linalg.lapack functions are documented > * `#10752 `__: MAINT: special: > use \`sf_error\` in Cephes > * `#10755 `__: DOC: cluster: > Add 'See Also' and 'Examples' for kmeans2. > * `#10763 `__: MAINT: list of > minimize methods > * `#10768 `__: BUG: Fix corner > case for sos2zpk > * `#10773 `__: Fix error type > for complex input to scipy.fftpack.rfft and irfft > * `#10776 `__: ENH: handle > geodesic input in \`spatial.SphericalVoronoi\` > * `#10777 `__: MAINT: > minimizer-->custom should handle the kinds of bounds/constrain?... > * `#10781 `__: ENH: > solve_triangular C order improvement > * `#10787 `__: Fix behavior of > \`exp1\` on branch cut and add docstring > * `#10789 `__: DOC: special: > add parameters/returns doc sections for erfc/erfcx/erfi > * `#10790 `__: Travis CI: sudo > is deprecated and Xenial is default distro > * `#10792 `__: DOC: special: > add full docstring for \`expi\` > * `#10799 `__: DOC: special: > add a complete docstring for \`expn\` > * `#10800 `__: Docs edits > (GSoD) > * `#10802 `__: BUG: fix > UnboundLocalError in Radau (scipy#10775) > * `#10804 `__: ENH: Speed up > next_fast_len with LRU cache > * `#10805 `__: DOC: Fix > unbalanced quotes in signal.place_poles > * `#10809 `__: ENH: Speed up > next_fast_len > * `#10810 `__: ENH: Raise > catchable exceptions for bad Fortran files > * `#10811 `__: MAINT: > optimize: Remove extra variable from _remove_redundancy_dense > * `#10813 `__: MAINT: special: > Remove unused variables from _kolmogi and _smirnovi > * `#10815 `__: DOC, API: > scipy.stats.reciprocal is "log-uniform" > * `#10816 `__: MAINT: special: > remove deprecated \`bessel_diff_formula\` > * `#10817 `__: DOC: special: > complete the docstring for \`fresnel\` > * `#10820 `__: Fixed > compiler_helper.py to allow compilation with ICC on Linux > * `#10823 `__: DOC: updated > reference guide text for consistency in writing... > * `#10825 `__: MAINT: special: > change some features of the Voigt function > * `#10828 `__: MAINT: > integrate: Remove unused variable from init_callback > * `#10830 `__: Adding LOBPCG > solver in svds in addition to ARPACK > * `#10837 `__: WIP: ENH: > reduction function for \`spatial.tranform.Rotation\`... > * `#10843 `__: ENH: Adding > optional parameter to stats.zscores to allow for... > * `#10845 `__: Rebase kruskal > fix > * `#10847 `__: remove > redundant __getitem__ from scipy.sparse.lil > * `#10848 `__: Better handling > of empty (not missing) docstrings > * `#10849 `__: ENH: implement > rmatmat for LinearOperator > * `#10850 `__: MAINT : > Refactoring lil List of Lists > * `#10851 `__: DOC: add a > generative art example to the scipy.spatial tutorial. > * `#10852 `__: DOC: linalg: > fixed gh-10838 unused imports in example deleted > * `#10854 `__: DOC: special: > add a full docstring for \`pdtr\` > * `#10861 `__: ENH: option to > reuse binnumbers in stats.binned_statistic_dd > * `#10863 `__: DOC: partial > standardization and validation of scipy.stats reference... > * `#10865 `__: BUG: special: > fix incomplete gamma functions for infinite \`a\` > * `#10866 `__: ENH: > calculation of mean in spatial.transform.Rotation > * `#10867 `__: MAINT: Also > store latex directory > * `#10869 `__: ENH: Implement > overlap-add convolution > * `#10870 `__: ENH: Do not > raise EOF error if wavfile data read > * `#10876 `__: ENH: Add > beta-binomial distribution to scipy.stats > * `#10878 `__: MAINT: Update R > project URL > * `#10883 `__: MAINT: > (ndimage) More robust check for output being a numpy dtype > * `#10884 `__: DOC: Added > instructions on adding a new distribution to scipy.stats. > * `#10885 `__: [BUG] fix > lobpcg with maxiter=None results in Exception > * `#10899 `__: ENH: Match R > functionality for hmean > * `#10900 `__: MAINT: stats: > Use keepdims to simplify a few lines in power_divergence. > * `#10901 `__: ENH: > sparse/linalg: support pydata/sparse matrices > * `#10907 `__: Check whether > \`maxiter\` is integer > * `#10912 `__: ENH: warn user > that quad() ignores \`points=...\` when \`weight=...\`... > * `#10918 `__: CI: fix Travis > CI py3.8 build > * `#10920 `__: MAINT: Update > constants to codata 2018 values (second try) > * `#10921 `__: ENH: > scipy.sparse.lil: tocsr accelerated > * `#10924 `__: BUG: Forbid > passing 'args' as kwarg in scipy.optimize.curve_fit > * `#10928 `__: DOC: Add > examples to io.wavfile docstrings > * `#10934 `__: typo fix > * `#10935 `__: BUG: Avoid > undefined behaviour on float to unsigned conversion > * `#10936 `__: DOC: Added > missing example to stats.mstats.variation > * `#10939 `__: ENH: > scipy.sparse.lil: tocsr accelerated depending on density > * `#10946 `__: BUG: setting > verbose > 2 in minimize with trust-constr method... > * `#10947 `__: DOC: special: > small improvements to the \`poch\` docstring > * `#10949 `__: BUG: fix return > type of erlang_gen._argcheck > * `#10951 `__: DOC: fixed > Ricker wavelet formula > * `#10954 `__: BUG: special: > fix \`factorial\` return type for 0-d inputs > * `#10955 `__: MAINT: Relax > the assert_unitary atol value > * `#10956 `__: WIP: make > pdtr(int, double) be pdtr(double, double) > * `#10957 `__: BUG: Ensure > full binary compatibility of long double test data > * `#10964 `__: ENH: Make Slerp > callable with a scalar argument > * `#10972 `__: BUG: Handle > complex gains in zpk2sos > * `#10975 `__: TST: skip > test_kendalltau ppc64le > * `#10978 `__: BUG: boxcox > data dimension and constancy check #5112 > * `#10979 `__: API: Rename dcm > to (rotation) matrix in Rotation class > * `#10981 `__: MAINT: add > support for a==0 and x>0 edge case to igam and igamc > * `#10986 `__: MAINT: Remove > direct imports from numpy in signaltools.py > * `#10988 `__: BUG: signal: > fixed issue #10360 > * `#10989 `__: FIX > binned_statistic_dd Mac wheel test fails > * `#10990 `__: BUG: Fix memory > leak in shgo triangulation > * `#10992 `__: TST: Relax > tolerance in upfirdn test_modes > * `#10993 `__: TST: bump > tolerance in optimize tests > * `#10997 `__: MAINT: Rework > residue and residuez > * `#11001 `__: DOC: Updated > Windows build tutorial > * `#11004 `__: BUG: > integrate/quad_vec: fix several bugs in quad_vec > * `#11005 `__: TST: add Python > 3.8 Win CI > * `#11006 `__: DOC: special: > add a reference for \`kl_div\` > * `#11012 `__: MAINT: Rework > invres and invresz > * `#11015 `__: DOC: special: > add references for \`rel_entr\` > * `#11017 `__: DOC: numpydoc > validation of morestats.py > * `#11018 `__: MAINT: Filter > unrelated warning > * `#11031 `__: MAINT: update > choose_conv_method for pocketfft implementation > * `#11034 `__: MAINT: TST: > Skip tests with multiprocessing that use "spawn"... > * `#11036 `__: DOC: update > doc/README with some more useful content. > * `#11037 `__: DOC: special: > add a complete docstring for \`rgamma\` > * `#11038 `__: DOC: special: > add a reference for the polygamma function > * `#11042 `__: TST: fix tf2zpk > test failure due to incorrect complex sorting. > * `#11044 `__: MAINT: > choose_conv_method can choose fftconvolution for longcomplex > * `#11046 `__: TST: Reduce > tolerance for ppc64le with reference lapack > * `#11048 `__: DOC: special: > add reference for orthogonal polynomial functions > * `#11049 `__: MAINT: proper > random number initialization and readability fix > * `#11051 `__: MAINT: pep8 > cleanup > * `#11054 `__: TST: bump test > precision for dual_annealing SLSQP test > * `#11055 `__: DOC: special: > add a reference for \`zeta\` > * `#11056 `__: API: Deprecated > normalized keyword in Rotation > * `#11065 `__: DOC: Ubuntu > Development Environment Quickstart should not modify... > * `#11066 `__: BUG: skip > deprecation for numpy top-level types > * `#11067 `__: DOC: updated > documentation for consistency in writing style > * `#11070 `__: DOC: Amendment > to Ubuntu Development Environment Quickstart should... > * `#11073 `__: DOC: fix 1.4.0 > release notes > * `#11081 `__: API: Replace > Rotation.match_vectors with align_vectors > * `#11083 `__: DOC: more 1.4.0 > release note fixes > * `#11092 `__: BUG: stats: fix > freezing of some distributions > * `#11096 `__: BUG: > scipy.sparse.csgraph: fixed issue #10774 > * `#11124 `__: fix Cython > warnings related to _stats.pyx > * `#11126 `__: BUG: > interpolate/fitpack: fix memory leak in splprep > * `#11127 `__: Avoid potential > segfault in CSR and CSC matrix indexing > * `#11152 `__: BUG: Fix random > state bug multiscale_graphcorr > * `#11166 `__: BUG: empty > sparse slice shapes > * `#11167 `__: BUG: redundant > fft in signal.resample > * `#11181 `__: TST: Fix > tolerance of tests for aarch64 > * `#11182 `__: TST: Bump up > tolerance for test_maxiter_worsening > * `#11199 `__: BUG: > sparse.linalg: mistake in unsymm. real shift-invert ARPACK eigenvalue > selection > > Checksums > ========= > > MD5 > ~~~ > > aa98f881f11681a35e18eadbf2c403fd > scipy-1.4.0-cp35-cp35m-macosx_10_6_intel.whl > d99b88d888f8a78a67896b2f895c3aba > scipy-1.4.0-cp35-cp35m-manylinux1_i686.whl > 13d1ab63e2ca8d2c2ac9f0b01f37b374 > scipy-1.4.0-cp35-cp35m-manylinux1_x86_64.whl > b9908d9dddf3fa5bd9b2458ea42c2813 scipy-1.4.0-cp35-cp35m-win32.whl > e6a6bb14d377ef8b893a710b9fcd05a8 scipy-1.4.0-cp35-cp35m-win_amd64.whl > 203b3f7e9bee44d3ccb3d3e0ffd62a81 > scipy-1.4.0-cp36-cp36m-macosx_10_6_intel.whl > 3cb0fde221141e35dd7c759b727e86d1 > scipy-1.4.0-cp36-cp36m-manylinux1_i686.whl > 9ae6711749bb09f812e634fec628bd23 > scipy-1.4.0-cp36-cp36m-manylinux1_x86_64.whl > da06f24a28995b3495d7696727a3a113 scipy-1.4.0-cp36-cp36m-win32.whl > a7a16dca144deca4cf6ad8f8ae2c7823 scipy-1.4.0-cp36-cp36m-win_amd64.whl > 82568a0464db2717671347296119353b > scipy-1.4.0-cp37-cp37m-macosx_10_6_intel.whl > 9d49feaf58101c8ef72b4ff294f189c3 > scipy-1.4.0-cp37-cp37m-manylinux1_i686.whl > 0b2772b857ae94b74923212fd733d136 > scipy-1.4.0-cp37-cp37m-manylinux1_x86_64.whl > 8d6f4725a8c533bf058eb38dcb6ed2f7 scipy-1.4.0-cp37-cp37m-win32.whl > 6afaa582de4454655cb9cdf1b175b9b8 scipy-1.4.0-cp37-cp37m-win_amd64.whl > 3fccff6188a8ca127f61dd200aef367a > scipy-1.4.0-cp38-cp38-macosx_10_9_x86_64.whl > ac16f5ad172f3150ccf191a63b62fd9a scipy-1.4.0-cp38-cp38-manylinux1_i686.whl > a8508c9beeda3859a1fc5adcba46e0ac > scipy-1.4.0-cp38-cp38-manylinux1_x86_64.whl > 9f20a8fdb63c53757455deeab05ae75a scipy-1.4.0-cp38-cp38-win32.whl > 34b5f5adf9145c6db408357e278 > -------------- next part -------------- An HTML attachment was scrubbed... URL: From tyler.je.reddy at gmail.com Thu Dec 19 11:05:43 2019 From: tyler.je.reddy at gmail.com (Tyler Reddy) Date: Thu, 19 Dec 2019 09:05:43 -0700 Subject: [SciPy-Dev] ANN: SciPy 1.4.1 Message-ID: -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Hi all, On behalf of the SciPy development team I'm pleased to announce the release of SciPy 1.4.1, which is a bug fix release. Sources and binary wheels can be found at: https://pypi.org/project/scipy/ and at: https://github.com/scipy/scipy/releases/tag/v1.4.1 One of a few ways to install this release with pip: pip install scipy==1.4.1 ========================== SciPy 1.4.1 Release Notes ========================== SciPy 1.4.1 is a bug-fix release with no new features compared to 1.4.0. Importantly, it aims to fix a problem where an older version of pybind11 may cause a segmentation fault when imported alongside incompatible libraries. Authors ====== * Ralf Gommers * Tyler Reddy Issues closed for 1.4.1 --------------------------------- * `#11237 `__: Seg fault when importing torch Pull requests for 1.4.1 -------------------------------- * `#11238 `__: BLD: update minimum pybind11 version to 2.4.0. Checksums ========= MD5 ~~~ 82a6df2d23315b9e7f7ab334ae4ed98d scipy-1.4.1-cp35-cp35m-macosx_10_6_intel.whl 68a72f96918911586cc3b01566c8719a scipy-1.4.1-cp35-cp35m-manylinux1_i686.whl 644e69ec76bc34276117aa377df6b56b scipy-1.4.1-cp35-cp35m-manylinux1_x86_64.whl 94a4cc9c9b0b9fdfd5159317a34ecf04 scipy-1.4.1-cp35-cp35m-win32.whl 00a88c31baa15561b726182b46a90bbf scipy-1.4.1-cp35-cp35m-win_amd64.whl f1ae0ec2394531c043dd66a4d87644ae scipy-1.4.1-cp36-cp36m-macosx_10_6_intel.whl f02e63505e14c1c353f01bf5355bdb6b scipy-1.4.1-cp36-cp36m-manylinux1_i686.whl 200f038910b0f92671d2ff5cb170f51b scipy-1.4.1-cp36-cp36m-manylinux1_x86_64.whl 5b2fb317f0105f1b6538a37405d6346e scipy-1.4.1-cp36-cp36m-win32.whl 2820bc38feb01d1d8a161eb07000a5b2 scipy-1.4.1-cp36-cp36m-win_amd64.whl a26c022bb638cbb105789e9586032cc7 scipy-1.4.1-cp37-cp37m-macosx_10_6_intel.whl b84878cf6419acbcc6bf9dcce8ed1ff7 scipy-1.4.1-cp37-cp37m-manylinux1_i686.whl b2a9ee8c5ee393f6a52eb387163ad785 scipy-1.4.1-cp37-cp37m-manylinux1_x86_64.whl 6f1c29d57a33d2cfd2991672543afda9 scipy-1.4.1-cp37-cp37m-win32.whl 2d5e0b3953d4e0a141f8897b39fc70c8 scipy-1.4.1-cp37-cp37m-win_amd64.whl 5fedfcb8736f41938681c8e7ef5737b8 scipy-1.4.1-cp38-cp38-macosx_10_9_x86_64.whl 19ae0bc89a8a88045bfdcdac8eba300a scipy-1.4.1-cp38-cp38-manylinux1_i686.whl 6ab0a834e656cd7314cfe28392fcebb4 scipy-1.4.1-cp38-cp38-manylinux1_x86_64.whl f8fd48b50c20fbc56e4af6c418b6c239 scipy-1.4.1-cp38-cp38-win32.whl 10b3e0755feb71100ed7a0a7c06ed69c scipy-1.4.1-cp38-cp38-win_amd64.whl 3a97689656f33f67614000459ec08585 scipy-1.4.1.tar.gz 27608d42755c1acb097c7ab3616aafe0 scipy-1.4.1.tar.xz 2586c8563cd6693161e13a0ad6fffe06 scipy-1.4.1.zip SHA256 ~~~~~~ c5cac0c0387272ee0e789e94a570ac51deb01c796b37fb2aad1fb13f85e2f97d scipy-1.4.1-cp35-cp35m-macosx_10_6_intel.whl a144811318853a23d32a07bc7fd5561ff0cac5da643d96ed94a4ffe967d89672 scipy-1.4.1-cp35-cp35m-manylinux1_i686.whl 71eb180f22c49066f25d6df16f8709f215723317cc951d99e54dc88020ea57be scipy-1.4.1-cp35-cp35m-manylinux1_x86_64.whl 770254a280d741dd3436919d47e35712fb081a6ff8bafc0f319382b954b77802 scipy-1.4.1-cp35-cp35m-win32.whl a1aae70d52d0b074d8121333bc807a485f9f1e6a69742010b33780df2e60cfe0 scipy-1.4.1-cp35-cp35m-win_amd64.whl bb517872058a1f087c4528e7429b4a44533a902644987e7b2fe35ecc223bc408 scipy-1.4.1-cp36-cp36m-macosx_10_6_intel.whl dba8306f6da99e37ea08c08fef6e274b5bf8567bb094d1dbe86a20e532aca088 scipy-1.4.1-cp36-cp36m-manylinux1_i686.whl 386086e2972ed2db17cebf88610aab7d7f6e2c0ca30042dc9a89cf18dcc363fa scipy-1.4.1-cp36-cp36m-manylinux1_x86_64.whl 8d3bc3993b8e4be7eade6dcc6fd59a412d96d3a33fa42b0fa45dc9e24495ede9 scipy-1.4.1-cp36-cp36m-win32.whl dc60bb302f48acf6da8ca4444cfa17d52c63c5415302a9ee77b3b21618090521 scipy-1.4.1-cp36-cp36m-win_amd64.whl 787cc50cab3020a865640aba3485e9fbd161d4d3b0d03a967df1a2881320512d scipy-1.4.1-cp37-cp37m-macosx_10_6_intel.whl 0902a620a381f101e184a958459b36d3ee50f5effd186db76e131cbefcbb96f7 scipy-1.4.1-cp37-cp37m-manylinux1_i686.whl 00af72998a46c25bdb5824d2b729e7dabec0c765f9deb0b504f928591f5ff9d4 scipy-1.4.1-cp37-cp37m-manylinux1_x86_64.whl 9508a7c628a165c2c835f2497837bf6ac80eb25291055f56c129df3c943cbaf8 scipy-1.4.1-cp37-cp37m-win32.whl a2d6df9eb074af7f08866598e4ef068a2b310d98f87dc23bd1b90ec7bdcec802 scipy-1.4.1-cp37-cp37m-win_amd64.whl 3092857f36b690a321a662fe5496cb816a7f4eecd875e1d36793d92d3f884073 scipy-1.4.1-cp38-cp38-macosx_10_9_x86_64.whl 8a07760d5c7f3a92e440ad3aedcc98891e915ce857664282ae3c0220f3301eb6 scipy-1.4.1-cp38-cp38-manylinux1_i686.whl 1e3190466d669d658233e8a583b854f6386dd62d655539b77b3fa25bfb2abb70 scipy-1.4.1-cp38-cp38-manylinux1_x86_64.whl cc971a82ea1170e677443108703a2ec9ff0f70752258d0e9f5433d00dda01f59 scipy-1.4.1-cp38-cp38-win32.whl 2cce3f9847a1a51019e8c5b47620da93950e58ebc611f13e0d11f4980ca5fecb scipy-1.4.1-cp38-cp38-win_amd64.whl dee1bbf3a6c8f73b6b218cb28eed8dd13347ea2f87d572ce19b289d6fd3fbc59 scipy-1.4.1.tar.gz 037e649b39b614c37f74ad4b8711bedb89b4f31385ce90716903c31140467173 scipy-1.4.1.tar.xz 4104c34c3d7226c27ed206c105c6723e5acd25af366aee4f690fa603e94e9082 scipy-1.4.1.zip -----BEGIN PGP SIGNATURE----- iQGzBAEBCAAdFiEEuinQzfUTSK0iykiguEZ+VI8xggYFAl37mmMACgkQuEZ+VI8x ggbQYgv/cwdtXoiTD7MvSKFoWpzIa+bld011ho4r6Ep9m9FCKiAL4CSDfD073HwL UXsf6ktknk4CXZD5vYsErZy8LguDygRw6pkw+E11QGnwXkq4mXK3+7A4Ngu42hWE KxYDEi6xHAtClWbYFf/v/eWAoX651o+m/SaR9DcsOAk5IEHIm9kK+HG3F0cCGnGo snwVnRncSJWiYL3bayC0loQhZh44j4XdHsK1k82sF6BbMK0VWo2tdYRRoQ+7kYId tomNJzhxtPGvgDRbakYFKekp6/5f1UF49jh5UBGx1YrD56+SfUUU91ro1XldziG2 29G8cfnFO0PT6PbLwM35Gw/s4QehGx9dQh3cuY7DoxglVE9q/TE/zLyo9SvhR7gn Y7EBMR5yqECbWLBHCDMyJ3VbwzdCx79VRofr/DUwse7u+2ndT4eAd/cuO8e3xfBg jKpgPVr9TZ1Cik+vWTjYsAdXTmPNMkNfv9ECUDULJP91Ct1nd9KE4BhvxxZgGYvi M0CyeKbq =eneK -----END PGP SIGNATURE----- -------------- next part -------------- An HTML attachment was scrubbed... URL: From warren.weckesser at gmail.com Thu Dec 19 13:52:06 2019 From: warren.weckesser at gmail.com (Warren Weckesser) Date: Thu, 19 Dec 2019 13:52:06 -0500 Subject: [SciPy-Dev] ANN: SciPy 1.4.1 In-Reply-To: References: Message-ID: On 12/19/19, Tyler Reddy wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA256 > > Hi all, > > On behalf of the SciPy development team I'm pleased to announce > the release of SciPy 1.4.1, which is a bug fix release. Thanks for the quick fix, Tyler! Warren > > Sources and binary wheels can be found at: > https://pypi.org/project/scipy/ > and at: https://github.com/scipy/scipy/releases/tag/v1.4.1 > > One of a few ways to install this release with pip: > > pip install scipy==1.4.1 > > ========================== > SciPy 1.4.1 Release Notes > ========================== > > SciPy 1.4.1 is a bug-fix release with no new features > compared to 1.4.0. Importantly, it aims to fix a problem > where an older version of pybind11 may cause a segmentation > fault when imported alongside incompatible libraries. > > Authors > ====== > > * Ralf Gommers > * Tyler Reddy > > Issues closed for 1.4.1 > --------------------------------- > > * `#11237 `__: Seg fault when > importing torch > > Pull requests for 1.4.1 > -------------------------------- > > * `#11238 `__: BLD: update > minimum pybind11 version to 2.4.0. > > Checksums > ========= > > MD5 > ~~~ > > 82a6df2d23315b9e7f7ab334ae4ed98d > scipy-1.4.1-cp35-cp35m-macosx_10_6_intel.whl > 68a72f96918911586cc3b01566c8719a > scipy-1.4.1-cp35-cp35m-manylinux1_i686.whl > 644e69ec76bc34276117aa377df6b56b > scipy-1.4.1-cp35-cp35m-manylinux1_x86_64.whl > 94a4cc9c9b0b9fdfd5159317a34ecf04 scipy-1.4.1-cp35-cp35m-win32.whl > 00a88c31baa15561b726182b46a90bbf scipy-1.4.1-cp35-cp35m-win_amd64.whl > f1ae0ec2394531c043dd66a4d87644ae > scipy-1.4.1-cp36-cp36m-macosx_10_6_intel.whl > f02e63505e14c1c353f01bf5355bdb6b > scipy-1.4.1-cp36-cp36m-manylinux1_i686.whl > 200f038910b0f92671d2ff5cb170f51b > scipy-1.4.1-cp36-cp36m-manylinux1_x86_64.whl > 5b2fb317f0105f1b6538a37405d6346e scipy-1.4.1-cp36-cp36m-win32.whl > 2820bc38feb01d1d8a161eb07000a5b2 scipy-1.4.1-cp36-cp36m-win_amd64.whl > a26c022bb638cbb105789e9586032cc7 > scipy-1.4.1-cp37-cp37m-macosx_10_6_intel.whl > b84878cf6419acbcc6bf9dcce8ed1ff7 > scipy-1.4.1-cp37-cp37m-manylinux1_i686.whl > b2a9ee8c5ee393f6a52eb387163ad785 > scipy-1.4.1-cp37-cp37m-manylinux1_x86_64.whl > 6f1c29d57a33d2cfd2991672543afda9 scipy-1.4.1-cp37-cp37m-win32.whl > 2d5e0b3953d4e0a141f8897b39fc70c8 scipy-1.4.1-cp37-cp37m-win_amd64.whl > 5fedfcb8736f41938681c8e7ef5737b8 > scipy-1.4.1-cp38-cp38-macosx_10_9_x86_64.whl > 19ae0bc89a8a88045bfdcdac8eba300a scipy-1.4.1-cp38-cp38-manylinux1_i686.whl > 6ab0a834e656cd7314cfe28392fcebb4 > scipy-1.4.1-cp38-cp38-manylinux1_x86_64.whl > f8fd48b50c20fbc56e4af6c418b6c239 scipy-1.4.1-cp38-cp38-win32.whl > 10b3e0755feb71100ed7a0a7c06ed69c scipy-1.4.1-cp38-cp38-win_amd64.whl > 3a97689656f33f67614000459ec08585 scipy-1.4.1.tar.gz > 27608d42755c1acb097c7ab3616aafe0 scipy-1.4.1.tar.xz > 2586c8563cd6693161e13a0ad6fffe06 scipy-1.4.1.zip > > SHA256 > ~~~~~~ > > c5cac0c0387272ee0e789e94a570ac51deb01c796b37fb2aad1fb13f85e2f97d > scipy-1.4.1-cp35-cp35m-macosx_10_6_intel.whl > a144811318853a23d32a07bc7fd5561ff0cac5da643d96ed94a4ffe967d89672 > scipy-1.4.1-cp35-cp35m-manylinux1_i686.whl > 71eb180f22c49066f25d6df16f8709f215723317cc951d99e54dc88020ea57be > scipy-1.4.1-cp35-cp35m-manylinux1_x86_64.whl > 770254a280d741dd3436919d47e35712fb081a6ff8bafc0f319382b954b77802 > scipy-1.4.1-cp35-cp35m-win32.whl > a1aae70d52d0b074d8121333bc807a485f9f1e6a69742010b33780df2e60cfe0 > scipy-1.4.1-cp35-cp35m-win_amd64.whl > bb517872058a1f087c4528e7429b4a44533a902644987e7b2fe35ecc223bc408 > scipy-1.4.1-cp36-cp36m-macosx_10_6_intel.whl > dba8306f6da99e37ea08c08fef6e274b5bf8567bb094d1dbe86a20e532aca088 > scipy-1.4.1-cp36-cp36m-manylinux1_i686.whl > 386086e2972ed2db17cebf88610aab7d7f6e2c0ca30042dc9a89cf18dcc363fa > scipy-1.4.1-cp36-cp36m-manylinux1_x86_64.whl > 8d3bc3993b8e4be7eade6dcc6fd59a412d96d3a33fa42b0fa45dc9e24495ede9 > scipy-1.4.1-cp36-cp36m-win32.whl > dc60bb302f48acf6da8ca4444cfa17d52c63c5415302a9ee77b3b21618090521 > scipy-1.4.1-cp36-cp36m-win_amd64.whl > 787cc50cab3020a865640aba3485e9fbd161d4d3b0d03a967df1a2881320512d > scipy-1.4.1-cp37-cp37m-macosx_10_6_intel.whl > 0902a620a381f101e184a958459b36d3ee50f5effd186db76e131cbefcbb96f7 > scipy-1.4.1-cp37-cp37m-manylinux1_i686.whl > 00af72998a46c25bdb5824d2b729e7dabec0c765f9deb0b504f928591f5ff9d4 > scipy-1.4.1-cp37-cp37m-manylinux1_x86_64.whl > 9508a7c628a165c2c835f2497837bf6ac80eb25291055f56c129df3c943cbaf8 > scipy-1.4.1-cp37-cp37m-win32.whl > a2d6df9eb074af7f08866598e4ef068a2b310d98f87dc23bd1b90ec7bdcec802 > scipy-1.4.1-cp37-cp37m-win_amd64.whl > 3092857f36b690a321a662fe5496cb816a7f4eecd875e1d36793d92d3f884073 > scipy-1.4.1-cp38-cp38-macosx_10_9_x86_64.whl > 8a07760d5c7f3a92e440ad3aedcc98891e915ce857664282ae3c0220f3301eb6 > scipy-1.4.1-cp38-cp38-manylinux1_i686.whl > 1e3190466d669d658233e8a583b854f6386dd62d655539b77b3fa25bfb2abb70 > scipy-1.4.1-cp38-cp38-manylinux1_x86_64.whl > cc971a82ea1170e677443108703a2ec9ff0f70752258d0e9f5433d00dda01f59 > scipy-1.4.1-cp38-cp38-win32.whl > 2cce3f9847a1a51019e8c5b47620da93950e58ebc611f13e0d11f4980ca5fecb > scipy-1.4.1-cp38-cp38-win_amd64.whl > dee1bbf3a6c8f73b6b218cb28eed8dd13347ea2f87d572ce19b289d6fd3fbc59 > scipy-1.4.1.tar.gz > 037e649b39b614c37f74ad4b8711bedb89b4f31385ce90716903c31140467173 > scipy-1.4.1.tar.xz > 4104c34c3d7226c27ed206c105c6723e5acd25af366aee4f690fa603e94e9082 > scipy-1.4.1.zip > -----BEGIN PGP SIGNATURE----- > > iQGzBAEBCAAdFiEEuinQzfUTSK0iykiguEZ+VI8xggYFAl37mmMACgkQuEZ+VI8x > ggbQYgv/cwdtXoiTD7MvSKFoWpzIa+bld011ho4r6Ep9m9FCKiAL4CSDfD073HwL > UXsf6ktknk4CXZD5vYsErZy8LguDygRw6pkw+E11QGnwXkq4mXK3+7A4Ngu42hWE > KxYDEi6xHAtClWbYFf/v/eWAoX651o+m/SaR9DcsOAk5IEHIm9kK+HG3F0cCGnGo > snwVnRncSJWiYL3bayC0loQhZh44j4XdHsK1k82sF6BbMK0VWo2tdYRRoQ+7kYId > tomNJzhxtPGvgDRbakYFKekp6/5f1UF49jh5UBGx1YrD56+SfUUU91ro1XldziG2 > 29G8cfnFO0PT6PbLwM35Gw/s4QehGx9dQh3cuY7DoxglVE9q/TE/zLyo9SvhR7gn > Y7EBMR5yqECbWLBHCDMyJ3VbwzdCx79VRofr/DUwse7u+2ndT4eAd/cuO8e3xfBg > jKpgPVr9TZ1Cik+vWTjYsAdXTmPNMkNfv9ECUDULJP91Ct1nd9KE4BhvxxZgGYvi > M0CyeKbq > =eneK > -----END PGP SIGNATURE----- > From charlesr.harris at gmail.com Sun Dec 22 11:57:04 2019 From: charlesr.harris at gmail.com (Charles R Harris) Date: Sun, 22 Dec 2019 09:57:04 -0700 Subject: [SciPy-Dev] NumPy 1.18.0 release Message-ID: Hi All, On behalf of the NumPy team I am pleased to announce that NumPy 1.18.0 has been released. In addition to the usual bug fixes, this NumPy release cleans up and documents the new random C-API, expires a large number of old deprecations, and improves the appearance and organization of the documentation. The Python versions supported are 3.5-3.8. This is the last NumPy release series that will support Python 3.5. The highlights of this release are: - the C-API for ``numpy.random`` has been defined and documented, - basic infrastructure for linking with 64 bit BLAS and LAPACK libraries, - many documentation improvements. Downstream developers should use Cython >= 0.29.14 for Python 3.8 support and OpenBLAS >= 3.7 to avoid wrong results on the Skylake architecture. The NumPy Wheels for this release can be downloaded from PyPI , source archives and release notes are available from Github . *Highlights* - The C-API for ``numpy.random`` has been defined and documented. - Basic infrastructure for linking with 64 bit BLAS and LAPACK libraries. - Many documentation improvements. *Contributors* A total of 114 people contributed to this release. People with a "+" by their names contributed a patch for the first time. - Abhinav Sagar - Alex Henrie + - Alexander Jung + - Allan Haldane - Andrea Pattori - Andrew Liu + - Anis Ladram + - Anne Bonner + - Antoine Dechaume + - Aryan Naraghi + - Bastian Eichenberger + - Brian Wignall + - Brigitta Sipocz - CakeWithSteak + - Charles Harris - Chris Barker - Chris Burr + - Chris Markiewicz + - Christoph Gohlke - Christopher Whelan - Colin Snyder - Dan Allan - Daniel Ching - David Stansby + - David Zwicker + - Dieter Werthm?ller - Disconnect3d + - Dmytro + - Doug Davis + - Eric Larson - Eric Wieser - Esben Haabendal + - Eugene Prilepin + - Felix Divo + - Gary Gurlaskie - Gina + - Giuseppe Cuccu + - Grzegorz Bokota + - Guanqun Lu + - Guilherme Leobas + - Guillaume Horel - G?raud Le Falher + - Hameer Abbasi - Harmon - Hiroyuki V. Yamazaki - Huang, Guangtai + - Hugo + - Hyeonguk Ryu + - Ilhan Polat + - Isaac Virshup - Jack J. Woehr + - Jack Woehr + - Jackie Leng - Jaime Fernandez - Jeff Hale + - Johann Faouzi + - Jon Dufresne + - Joseph Fox-Rabinovitz - Joseph R. Fox-Rabinovitz + - Jo?o Marcos Gris + - Justus Magin + - J?r?mie du Boisberranger - Kai Striega - Kevin Sheppard - Kexuan Sun - Kmol Yuan + - Kriti Singh - Larry Bradley + - Lars Grueter - Luis Pedro Coelho - MSeifert04 - Magdalena Proszewska + - Manny + - Mark Harfouche - Martin Reinecke - Martin Thoma - Matt Haberland + - Matt McCormick + - Matthias Bussonnier - Matti Picus - Max Bolingbroke + - Maxwell Aladago + - Michael Hudson-Doyle + - Oleksandr Pavlyk - Omar Merghany + - Pauli Virtanen - Peter Andreas Entschev - Peter Bell - Peter Cock + - Pradeep Reddy Raamana + - Qiming Sun + - Raghuveer Devulapalli - Ralf Gommers - Samesh + - Samesh Lakhotia + - Sebastian Berg - Sergei Lebedev - Seth Troisi + - Siddhesh Poyarekar + - Simon + - Simon Notley + - Stefan van der Walt - Stephan Hoyer - Steve Stagg - Thomas A Caswell - Thomas Kluyver - Tim Hoffmann + - Tirth Patel + - Tyler Reddy - Vladimir Pershin + - Warren Weckesser - Yadong Zhang + - Zieji Pohz + - Zolisa Bleki + Cheers, Charles Harris -------------- next part -------------- An HTML attachment was scrubbed... URL: From ilhanpolat at gmail.com Sun Dec 22 18:00:46 2019 From: ilhanpolat at gmail.com (Ilhan Polat) Date: Mon, 23 Dec 2019 00:00:46 +0100 Subject: [SciPy-Dev] Symmetric/Hermitian Eigenvalue Problem API and LAPACK wrappers change proposal Message-ID: Dear all, I've finally managed to create some time to put together the current status of the eigh, eigvalsh functions and possible ways to improve and maintain them. The issue is here https://github.com/scipy/scipy/issues/6502#issuecomment-241437506 I would really appreciate any feedback for this. It's in WIP format and I'll add more information as I go along. Happy holidays to all! Best, ilhan -------------- next part -------------- An HTML attachment was scrubbed... URL: From andyfaff at gmail.com Sun Dec 22 20:32:56 2019 From: andyfaff at gmail.com (Andrew Nelson) Date: Mon, 23 Dec 2019 12:32:56 +1100 Subject: [SciPy-Dev] doc git submodule causing issues Message-ID: I'm currently experiencing an issue where doc/scipy-sphinx-theme is always looking like changes have been made to it, even if I've not touched it. Several times now I've committed it by accident so have had to roll back changes. Is there a recommended way of preventing this? -------------- next part -------------- An HTML attachment was scrubbed... URL: From ralf.gommers at gmail.com Mon Dec 23 00:01:15 2019 From: ralf.gommers at gmail.com (Ralf Gommers) Date: Mon, 23 Dec 2019 06:01:15 +0100 Subject: [SciPy-Dev] doc git submodule causing issues In-Reply-To: References: Message-ID: On Mon, Dec 23, 2019 at 2:33 AM Andrew Nelson wrote: > I'm currently experiencing an issue where doc/scipy-sphinx-theme is always > looking like changes have been made to it, even if I've not touched it. > Several times now I've committed it by accident so have had to roll back > changes. Is there a recommended way of preventing this? > Just `git submodule update` should get rid of that I think. Note that `git pull` et al. don't automatically update submodules, hence the need to update explicitly. There's unfortunately no convenient way to say `git commit -a` excluding submodules afaik. Cheers, Ralf > _______________________________________________ > SciPy-Dev mailing list > SciPy-Dev at python.org > https://mail.python.org/mailman/listinfo/scipy-dev > -------------- next part -------------- An HTML attachment was scrubbed... URL: From cimrman3 at ntc.zcu.cz Mon Dec 23 16:34:32 2019 From: cimrman3 at ntc.zcu.cz (Robert Cimrman) Date: Mon, 23 Dec 2019 22:34:32 +0100 Subject: [SciPy-Dev] ANN: SfePy 2019.4 Message-ID: I am pleased to announce release 2019.4 of SfePy. Description ----------- SfePy (simple finite elements in Python) is a software for solving systems of coupled partial differential equations by the finite element method or by the isogeometric analysis (limited support). It is distributed under the new BSD license. Home page: http://sfepy.org Mailing list: https://mail.python.org/mm3/mailman3/lists/sfepy.python.org/ Git (source) repository, issue tracker: https://github.com/sfepy/sfepy Highlights of this release -------------------------- - support surface terms in 1D problems - improved Gmsh mesh format support (write .msh files) - new updating procedure in nonlinear homogenization - improved/faster log plotter For full release notes see [1]. Cheers, Robert Cimrman [1] http://docs.sfepy.org/doc/release_notes.html#id1 --- Contributors to this release in alphabetical order: Robert Cimrman Vladimir Lukes Matyas Novak Tom?? Z?tka From charlesr.harris at gmail.com Sun Dec 29 19:27:25 2019 From: charlesr.harris at gmail.com (Charles R Harris) Date: Sun, 29 Dec 2019 17:27:25 -0700 Subject: [SciPy-Dev] NumPy 1.16.6 release. Message-ID: Hi All, On behalf of the NumPy team I am pleased to announce that NumPy 1.16.6 has been released. This release fixes bugs reported against the 1.16.5 release and backports several enhancements from master that seem appropriate for an LTS series. The supported Python versions are 2.7, 3.5-3.7. This is the last release planned that supports Python 2.7. Wheels for this release can be downloaded from PyPI , source archives and release notes are available from Github . Downstream developers building this release should use Cython >= 0.29.2 and, if using OpenBLAS, OpenBLAS >= v0.3.7. *Highlights* - The ``np.testing.utils`` functions have been updated from 1.19.0-dev0. This improves the function documentation and error messages as well extending the ``assert_array_compare`` function to additional types. *Contributors* A total of 10 people contributed to this release. - CakeWithSteak - Charles Harris - Chris Burr - Eric Wieser - Fernando Saravia - Lars Grueter - Matti Picus - Maxwell Aladago - Qiming Sun - Warren Weckesser *Pull requests merged* A total of 14 pull requests were merged for this release. - `#14211 `__: BUG: Fix uint-overflow if padding with linear_ramp and negative... - `#14275 `__: BUG: fixing to allow unpickling of PY3 pickles from PY2 - `#14340 `__: BUG: Fix misuse of .names and .fields in various places (backport... - `#14423 `__: BUG: test, fix regression in converting to ctypes. - `#14434 `__: BUG: Fixed maximum relative error reporting in assert_allclose - `#14509 `__: BUG: Fix regression in boolean matmul. - `#14686 `__: BUG: properly define PyArray_DescrCheck - `#14853 `__: BLD: add 'apt update' to shippable - `#14854 `__: BUG: Fix _ctypes class circular reference. (#13808) - `#14856 `__: BUG: Fix `np.einsum` errors on Power9 Linux and z/Linux - `#14863 `__: BLD: Prevent -flto from optimising long double representation... - `#14864 `__: BUG: lib: Fix histogram problem with signed integer arrays. - `#15172 `__: ENH: Backport improvements to testing functions. - `#15191 `__: REL: Prepare for 1.16.6 release. Cheers, Charles Harris -------------- next part -------------- An HTML attachment was scrubbed... URL: From warren.weckesser at gmail.com Mon Dec 30 06:10:35 2019 From: warren.weckesser at gmail.com (Warren Weckesser) Date: Mon, 30 Dec 2019 06:10:35 -0500 Subject: [SciPy-Dev] NumPy 1.16.6 release. In-Reply-To: References: Message-ID: Thanks Chuck! Warren On 12/29/19, Charles R Harris wrote: > Hi All, > > On behalf of the NumPy team I am pleased to announce that NumPy 1.16.6 has > been released. This release fixes bugs reported against the 1.16.5 release > and backports several enhancements from master that seem appropriate for an > LTS series. The supported Python versions are 2.7, 3.5-3.7. This is the > last release planned that supports Python 2.7. Wheels for this release can > be downloaded from PyPI , source > archives and release notes are available from Github > . Downstream > developers building this release should use Cython >= 0.29.2 and, if using > OpenBLAS, OpenBLAS >= v0.3.7. > > *Highlights* > > - The ``np.testing.utils`` functions have been updated from 1.19.0-dev0. > This improves the function documentation and error messages as well > extending the ``assert_array_compare`` function to additional types. > > *Contributors* > > A total of 10 people contributed to this release. > > > - CakeWithSteak > - Charles Harris > - Chris Burr > - Eric Wieser > - Fernando Saravia > - Lars Grueter > - Matti Picus > - Maxwell Aladago > - Qiming Sun > - Warren Weckesser > > > *Pull requests merged* > > A total of 14 pull requests were merged for this release. > > > - `#14211 `__: BUG: Fix > uint-overflow if padding with linear_ramp and negative... > - `#14275 `__: BUG: fixing to > allow unpickling of PY3 pickles from PY2 > - `#14340 `__: BUG: Fix > misuse of .names and .fields in various places (backport... > - `#14423 `__: BUG: test, fix > regression in converting to ctypes. > - `#14434 `__: BUG: Fixed > maximum relative error reporting in assert_allclose > - `#14509 `__: BUG: Fix > regression in boolean matmul. > - `#14686 `__: BUG: properly > define PyArray_DescrCheck > - `#14853 `__: BLD: add 'apt > update' to shippable > - `#14854 `__: BUG: Fix > _ctypes class circular reference. (#13808) > - `#14856 `__: BUG: Fix > `np.einsum` errors on Power9 Linux and z/Linux > - `#14863 `__: BLD: Prevent > -flto from optimising long double representation... > - `#14864 `__: BUG: lib: Fix > histogram problem with signed integer arrays. > - `#15172 `__: ENH: Backport > improvements to testing functions. > - `#15191 `__: REL: Prepare > for 1.16.6 release. > > Cheers, > > Charles Harris >