SciPy 1.8.0 發行說明#
SciPy 1.8.0 是 6 個月辛勤工作的成果。它包含許多新功能、大量錯誤修復、改進的測試覆蓋率和更好的文件。此版本中有許多棄用和 API 變更,如下所述。鼓勵所有使用者升級到此版本,因為其中有大量的錯誤修復和最佳化。在升級之前,我們建議使用者檢查他們自己的程式碼是否使用了已棄用的 SciPy 功能(為此,請使用 python -Wd
執行您的程式碼,並檢查 DeprecationWarning
)。我們的開發注意力現在將轉移到 1.8.x 分支上的錯誤修復版本,以及在 master 分支上新增新功能。
此版本需要 Python 3.8+ 和 NumPy 1.17.3 或更高版本。
對於在 PyPy 上執行,需要 PyPy3 6.0+。
此版本重點#
已新增稀疏陣列 API 以進行早期測試和回饋;這項工作正在進行中,使用者應預期在接下來的幾個版本中會進行微小的 API 調整。
稀疏 SVD 函式庫 PROPACK 現在與 SciPy 一起供應,並透過 scipy.sparse.svds 與
solver='PROPACK'
公開介面。由於 Windows 上可能存在問題,我們旨在在下一個版本中解決這些問題,因此目前預設為關閉,但可以在執行時選擇性啟用,以使用環境變數設定USE_PROPACK=1
進行友善測試。新的
scipy.stats.sampling
子模組利用UNU.RAN
C 函式庫從任意單變數非均勻連續和離散分佈中取樣所有私有但名稱中碰巧缺少底線的命名空間都已被棄用。
新功能#
scipy.fft
改進#
在 scipy.fft
中的實數轉換中新增了 orthogonalize=None
參數,該參數控制是否使用 DCT/DST 的修改定義,而不會改變整體縮放。
scipy.fft
後端註冊現在更順暢,使用單一註冊呼叫進行操作,不再需要上下文管理器。
scipy.integrate
改進#
scipy.integrate.quad_vec
引入了一個新的可選僅關鍵字引數 args
。args
接受額外引數的元組(如果有的話)(預設為 args=()
),然後在內部用於傳遞到可呼叫函式(需要這些額外引數),我們希望對其進行積分。
scipy.interpolate
改進#
scipy.interpolate.BSpline
有一個新的方法 design_matrix
,它以稀疏 CSR 格式建構 b 樣條的設計矩陣。
BSpline
類別中的新方法 from_cubic
允許將 CubicSpline
物件轉換為 BSpline
物件。
scipy.linalg
改進#
scipy.linalg
獲得了三個新的公開陣列結構調查函式。scipy.linalg.bandwidth
傳回有關陣列的帶狀性的資訊,可用於測試三角結構發現,而 scipy.linalg.issymmetric
和 scipy.linalg.ishermitian
測試陣列的精確和近似對稱/埃爾米特結構。
scipy.optimize
改進#
scipy.optimize.check_grad
引入了兩個新的可選僅關鍵字引數 direction
和 seed
。direction
可以採用值 'all'
(預設),在這種情況下,所有單熱編碼方向向量將用於驗證輸入分析梯度函式,而 'random'
,在這種情況下,隨機方向向量將用於相同的目的。seed
(預設為 None
)可用於重現 check_grad
函式的傳回值。僅當 direction='random'
時才會使用它。
scipy.optimize.minimize
TNC
方法已重寫為使用 Cython 綁定。這也修復了回呼改變最佳化狀態的問題。
在 basinhopping
中為自適應步長調整新增了可選參數 target_accept_rate
和 stepwise_factor
。
現在 approx_fprime
的 epsilon
引數是可選的,因此它可以具有與 scipy.optimize
中的大多數其他函式一致的預設值。
scipy.signal
改進#
將 analog
引數(預設為 False
)新增到 zpk2sos
,並新增新的配對選項 'minimal'
以建構類比和最小離散 SOS 陣列。tf2sos
使用 zpk2sos;在此處也新增 analog
引數,並將其傳遞給 zpk2sos
。
savgol_coeffs
和 savgol_filter
現在適用於偶數視窗長度。
新增了 Chirp Z 轉換和 Zoom FFT,可作為 scipy.signal.CZT
和 scipy.signal.ZoomFFT
使用。
scipy.sparse
改進#
已新增陣列 API 以進行早期測試和回饋;這項工作正在進行中,使用者應預期在接下來的幾個版本中會進行微小的 API 調整。有關更多資訊,請參閱 scipy.sparse
文件字串。
maximum_flow
引入了可選的僅關鍵字引數 method
,它接受 'edmonds-karp'
(Edmonds Karp 演算法) 或 'dinic'
(Dinic 演算法)。此外,'dinic'
用作 method
的預設值,這表示除非另有指定,否則 Dinic 演算法用於計算最大流量。請參閱 此評論中支援的演算法之間的比較。
參數 atol
、btol
現在在 scipy.sparse.linalg.lsmr
中預設為 1e-6,以與 scipy.sparse.linalg.lsqr
中的預設值相符。
在 scipy.sparse.linalg.tfqmr
中為一般非奇異非埃爾米特線性系統新增了轉置自由準最小殘差演算法 (TFQMR)。
稀疏 SVD 函式庫 PROPACK 現在與 SciPy 一起供應,並透過 scipy.sparse.svds 與 solver='PROPACK'
公開介面。對於某些問題,這可能比預設的 ARPACK 更快和/或更準確。PROPACK 功能目前是選擇加入的 - 您必須在執行時指定 USE_PROPACK=1
才能使用它,因為 Windows 上可能存在問題,我們旨在在下一個版本中解決這些問題。
sparse.linalg
迭代求解器現在具有非零初始猜測選項,可以指定為 x0 = 'Mb'
。
已為稀疏矩陣新增 trace
方法。
scipy.spatial
改進#
scipy.spatial.transform.Rotation
現在支援項目分配,並具有新的 concatenate
方法。
新增 scipy.spatial.distance.kulczynski1
以取代 scipy.spatial.distance.kulsinski
,後者將在下一個版本中棄用。
scipy.spatial.distance.minkowski
現在也支援 0<p<1
。
scipy.special
改進#
新函式 scipy.special.log_expit
計算 logistic sigmoid 函式的對數。該函式的制定旨在為大的正輸入和負輸入提供準確的結果,因此它避免了在 naive 實作 log(expit(x))
中會發生的問題。
一組五個用於橢圓積分的新函式:scipy.special.ellipr{c,d,f,g,j}
。這些是 Carlson 對稱橢圓積分,與經典 Legendre 積分相比,它們具有計算優勢。先前的版本包含來自 Cephes 函式庫的一些橢圓積分 (scipy.special.ellip{k,km1,kinc,e,einc}
),但缺少第三類積分 (Legendre 的 Pi),可以使用新的 Carlson 函式進行評估。新的 Carlson 橢圓積分函式可以在複數平面中評估,而 Cephes 函式庫的函式僅針對實數輸入定義。
已更正 scipy.special.hyp2f1
中的幾個缺陷。現在為接近 exp(+-i*pi/3)
的 z
傳回近似正確的值,修復了 #8054。現在透過 López 和 Temme (2013) 推導出的級數計算此類 z
的評估,該級數在這些區域中收斂。此外,現在以與 mpmath 的 hyp2f1 實作一致的方式處理具有一個或多個 a
、b
和/或 c
為非正整數的退化情況,這修復了 #7340。這些修復是作為逐步重寫 Cython 中 hyp2f1 的 Fortran 77 實作的一部分而進行的。此重寫現在已完成大約 50%。
scipy.stats
改進#
scipy.stats.qmc.LatinHypercube
引入了兩個新的可選僅關鍵字引數 optimization
和 strength
。optimization
要么是 None
要么是 random-cd
。在後者中,執行隨機排列以改善中心差異。strength
要么是 1 要么是 2。1 對應於經典 LHS,而 2 具有更好的子投影屬性。此結構稱為強度為 2 的正交陣列型 LHS。在這兩種情況下,輸出仍然是 LHS。
由於底層的 Van der Corput 序列已移植到 Cython,因此 scipy.stats.qmc.Halton
更快。
將 alternative
參數新增到 kendalltau
和 somersd
函式,以允許單側假設檢定。同樣,skewtest
、kurtosistest
、ttest_1samp
、ttest_ind
和 ttest_rel
的遮罩版本現在也具有 alternative
參數。
新增 scipy.stats.gzscore
以計算幾何 z 分數。
隨機變數產生器,用於從任意單變數非均勻連續和離散分佈中取樣,已新增到新的 scipy.stats.sampling
子模組。C 函式庫 UNU.RAN 的實作用於效能。新增的產生器是
TransformedDensityRejection
DiscreteAliasUrn
NumericalInversePolynomial
DiscreteGuideTable
SimpleRatioUniforms
binned_statistic
函式集現在針對 std
、min
、max
和 median
統計計算具有改進的效能。
somersd
和 _tau_b
現在具有更快的基於 Pythran 的實作。
對處理幾個 stats
函式中的 nan
值進行了一些一般效率改進。
新增了 Tukey-Kramer 檢定,如 scipy.stats.tukey_hsd
。
改進了 scipy.stats.argus
rvs
方法的效能。
將參數 keepdims
新增到 scipy.stats.variation
,並防止在某些情況下從函式傳回不需要的遮罩陣列。
permutation_test
對提供的資料執行給定統計量的精確或隨機排列檢定。
已棄用的功能#
公開和私有 API 之間清晰的劃分#
SciPy 始終在其 API 參考文件 中記錄其公開 API 的組成,但是程式碼庫中從來沒有公開和私有名稱空間之間的清晰劃分。在此版本中,所有私有但碰巧缺少底線的命名空間都已被棄用。這些包括(作為範例,還有更多)
scipy.signal.spline
scipy.ndimage.filters
scipy.ndimage.fourier
scipy.ndimage.measurements
scipy.ndimage.morphology
scipy.ndimage.interpolation
scipy.sparse.linalg.solve
scipy.sparse.linalg.eigen
scipy.sparse.linalg.isolve
這些命名空間中所有旨在公開的函數和其他物件,都可以從各自的公開命名空間存取(例如,scipy.signal
)。設計原則是任何公開物件都必須僅從單一命名空間存取;少數例外情況主要是出於歷史原因(例如,stats
和 stats.distributions
有重疊)。對於其他旨在提供與 SciPy 相容 API 的函式庫,現在可以明確遵循的命名空間結構。請參閱 gh-14360 以取得更多詳細資訊。
其他棄用#
NumericalInverseHermite
已從 scipy.stats
中棄用,並移至 scipy.stats.sampling
子模組。它現在使用 UNU.RAN 函式庫的 C 實作,因此 ppf
等方法的結果可能會略有不同。參數 tol
已被棄用,並重新命名為 u_resolution
。參數 max_intervals
也已被棄用,並將在 SciPy 的未來版本中移除。
向後不相容的變更#
SciPy 已將最低編譯器版本提高到 Linux 上的 GCC 6.3 和 Windows 上的 VS2019。特別是,這表示 SciPy 現在可以使用 C99 和 C++14 功能。有關更多詳細資訊,請參閱此處。
scipy.stats.binned_statistic
搭配內建'std'
指標的空 bins 結果現在為nan
,以與np.std
保持一致。函數 scipy.spatial.distance.wminkowski 已被移除。若要達到與之前相同的結果,請使用
minkowski
距離函數,並搭配(可選的)w=
關鍵字引數來指定權重。
其他變更#
一些 Fortran 77 程式碼已現代化,以與 NAG 的 nagfor Fortran 編譯器相容(例如,請參閱 PR 13229)。
我們的測試套件現在可以使用 threadpoolctl
,以大幅提高平行測試套件執行的效率。
針對 1.8.0 版關閉的 Issues#
#592: Statistics Review: variation (Trac #65)
#857: A Wrapper for PROPACK (Trac #330)
#2009: “Kulsinski” dissimilarity seems wrong (Trac #1484)
#2063: callback functions for COBYLA and TNC (Trac #1538)
#2358: ndimage.center_of_mass doesnt return all for all labelled objects…
#5668: Need zpk2sos for analog filters
#7340: SciPy Hypergeometric function hyp2f1 producing infinities
#8774: In `optimize.basinhopping`, the target acceptance rate should…
#10497: scipy.sparse.csc_matrix.toarray docstring is wrong
#10888: Check finite difference gradient approximation in a random direction
#10974: Non explicit error message in lobpcg
#11452: Normalisation requirement for `Wn` unclear in `scipy.signal.butter`
#11700: solve_ivp errors out instead of simply quitting after the solve…
#12006: newton: Shouldn’t it take a Jacobian for multivariate problems…
#12100: solve_ivp: custom t_eval list and the terminating event
#12106: `axis` option for `stats.tmean` do not appear to be working…
#12192: `scipy.stats.rv_continuous.moment` does not accept array input
#12502: Divide by zero in Jacobian numerical differentiation when equality…
#12981: SLSQP constrained minimization error in 1.5.2
#12999: Bug in scipy.stats.ks_2samp for two-sided auto and exact modes…
#13402: ENH: Faster Max Flow algorithm in scipy.sparse.csgraph
#13580: truncnorm gives incorrect means and variances
#13642: stats.truncnorm variance works incorrectly when input is an array.
#13659: Orthogonal Array for Latin hypercube in `scipy.stats.qmc`
#13737: brentq can overflow / underflow
#13745: different default atol, btol for lsqr, lsmr
#13898: Savitzky-Golay filter for even number data
#13902: Different solvers of `svds` return quite different results
#13922: Need Exception / Error for Incorrect and/or misleading analog…
#14122: Item assignement for spatial.transform.Rotation objects
#14140: Likely unnecessary invalid value warning from PchipInterpolator
#14152: zpk2sos not working correctly when butterworth band-pass filter…
#14165: scipy.optimize.minimize method=’Nelder-Mead’: ‘maxfev’ is not…
#14168: Missing “inverse” word in the multidimensional Discrete Cosine/Sine…
#14189: Incorrect shape handling in `scipy.stat.multivariate_t.rvs`…
#14190: Links in documentation of Dirichlet distribution are a mess
#14193: Implementation of scrambled Van der Corput sequence differs from…
#14217: Error in documentation for `scipy.stats.gaussian_kde.factor`
#14235: Should this be $y$ only, instead of $m_y$?
#14236: BUG: discrete isf is wrong at boundary if loc != 0
#14277: Broken reference in docstring of scipy.stats.power_divergence
#14324: BUG: scipy.stats.theilslopes intercept calculation can produce…
#14332: Strange output of `binned_statistic_dd` with `statistic=sum`
#14340: Initialize Rotation using list or array of Rotations
#14346: scipy.stats.rv_continuous.fit returns wrapper instead of fit…
#14360: Making clearer what namespaces are public by use of underscores
#14385: csgraph.maximum_flow can cause Python crash for large but very…
#14409: Lagrange polynomials and numpy Polynomials
#14412: Extra function arguments to `scipy.integrate.quad_vec`
#14416: Is the r-value outputted by scipy.stats.linregress always the…
#14420: BUG: RBFInterpolator fails when calling it with a slice of a…
#14425: Running tests in parallel is not any faster than without pytest-xdist…
#14445: BUG: out of bounds indexing issue in `prini.f`
#14482: Azure CI jobs do not set exit status for build stage correctly
#14491: MAINT: Replace np.rollaxis with np.moveaxis
#14501: runtests.py overrides `$PYTHONPATH`
#14514: linprog kwargs not recognised
#14529: CI: Azure pipelines don’t appear to be running
#14535: hess option does not work in minimize function
#14551: Cannot create Compressed sparse column matrix of shape N x N-2
#14568: `stats.norminvgauss` incorrect implementation?
#14585: DOC: toolchain updates and max Python
#14607: scipy.sparse.linalg.inv cannot take ndarray as argument despite…
#14608: BUG: scipy.stats.multivariate_t distribution math documentation
#14623: BUG: Error constructing sparse matrix with indices larger than…
#14654: DOC: Linux Devdocs workflow requires installing packages that…
#14680: BUG: misleading documentation in scipy.stats.entropy
#14683: DOC: OptimizeResult Notes are placed before attribute section,…
#14733: BUG: resample_poly does not preserve dtype
#14746: site.cfg: [ALL] or [DEFAULT]?
#14770: BUG: lpmn ref broken link
#14807: BUG: wrong weights of the 7-point gauss rule in QUADPACK: dqk15w.f
#14830: do CDF inversion methods have to be public?
#14859: BUG: constraint function is overwritten when equal bounds are…
#14873: ENH: get the driver used in scipy.linalg.eigh
#14879: BUG: TNC output is different if a callback is used.
#14891: DOC: `directed_hausdorff` expects 2D array despite docs stating…
#14910: `stats.contingency` not listed as public API
#14911: MAINT, DOC: CI failure for doc building
#14942: DOC: Ambiguous command instruction for running tests in Mac docs
#14968: Debug build CI job crashes on `stats._unuran` threading test
#14984: BUG: scipy.sparse.linalg.spsolve: runtime memory error caused…
#14987: ENH: The knot interval lookup for BSpline.design_matrix is inefficient
#15025: Might be j<=i+k?
#15033: BUG: scipy.fft.dct type I with norm = “ortho” leads to wrong…
#15051: BUG: test failures on aarch in wheel builder repo
#15064: MAINT: `interpolation` keyword is renamed to `method` in…
#15103: BUG: scipy.stats.chi.mean returns nan for large df due to use…
#15186: Fix use of `pytest.warns(None)` for pytest 7.0.0
#15206: BUG: Minor issue with suggestions in scipy.sparse DeprecationWarnings…
#15224: BUG: 0th power of sparse array/matrix always returns the identity…
#15228: BUG: bounded L-BFGS-B doesn’t work with a scalar.
#15254: BUG: `DeprecationWarning: distutils Version classes are deprecated`
#15267: Windows CI jobs have a build issue with Pythran 0.11
#15276: Boost and PROPACK git submodules are too easy to commit changes…
#15316: BUG: Failed to install scipy 1.7.x with pypy 3.7 in aarch64
#15339: BUG: `highs-ds` returns memoryviews instead of np.arrays for…
#15375: BUG: axis argument to scipy.stats.mode does not accept negative…
#15517: BUG: Link to mailing list seems broken
針對 1.8.0 版的 Pull Requests#
#4607: Add Chirp Z-transform, zoom FFT
#10504: ENH: Carlson symmetric elliptic integrals.
#11263: MAINT:optimize: Comply with user-specified rel_step
#11754: ENH: stats: Updates to `variation`.
#11954: ENH: improve ARGUS rv generation in scipy.stats
#12143: BUG: Correctly use `axis` in `scipy.stats.tmean`
#12146: DOC: add docs to explain behaviour of newton’s mehod on arrays
#12197: BUG: fix moments method to support arrays and list
#12889: MAINT: deal with cases in `minimize` for `(bounds.lb == bounds.ub).any()
#13002: ENH: stats: Tukey’s honestly significant difference test
#13096: BUG: optimize: alternative fix for minimize issues with lb==ub
#13143: MAINT: deal with cases in `minimize` for `(bounds.lb == bounds.ub).any()…
#13229: ENH: modernise some Fortran code, needed for nagfor compiler
#13312: ENH: stats: add `axis` and `nan_policy` parameters to functions…
#13347: CI: bump gcc from 4.8 to 5.x
#13392: MAINT: streamlined kwargs for minimizer in dual_annealing
#13419: BUG: Fix group delay singularity check
#13471: ENH: LHS based OptimalDesign (scipy.stats.qmc)
#13581: MAINT: stats: fix truncnorm stats with array shapes
#13839: MAINT: set same tolerance between LSMR and LSQR
#13864: Array scalar conversion deprecation
#13883: MAINT: move LSAP maximization handling into solver code
#13899: ENH: stats: add general permutation hypothesis test
#13921: BUG: optimize: fix max function call validation for `minimize`…
#13958: ENH: stats: add `alternative` to masked version of T-Tests
#13960: ENH: stats: add `alternative` to masked normality tests
#14007: BUG: Fix root bracketing logic in Brent’s method (issue #13737)
#14024: ENH: Add annotations for `scipy.spatial.cKDTree`
#14049: MAINT: Change special.orthogonal.orthopoly1d type hints to ArrayLike
#14132: DOC: badge with version of the doc in the navbar
#14144: REL: set version to 1.8.0.dev0
#14151: BLD: update pyproject.toml - add macOS M1, drop py36
#14153: BUG: stats: Implementing boost’s hypergeometric distribution…
#14160: ENH: sparse.linalg: Add TFQMR algorithm for non-Hermitian sparse…
#14163: BENCH: add benchmark for energy_distance and wasserstein_distance
#14173: BUG: Fixed an issue wherein `geometric_slerp` would return…
#14174: ENH: Add annotations to `scipy.spatial.geometric_slerp`
#14183: DOC: add examples/ update mstats doc of pearsonr in scipy.stats
#14186: TST, MAINT: hausdorff test cleanups
#14187: DOC: interpolate: rbf has kwargs too.
#14191: MAINT:TST:linalg modernize the test assertions
#14192: BUG: stats: fix shape handing in multivariate_t.rvs
#14197: CI: azure: Fix handling of ‘skip azp’.
#14200: DOC: Remove link to alpha in scipy.stats.dirichlet
#14201: TST: cleanup in lsqr and lsmr tests
#14204: Improve error message for index dimension
#14208: MAINT: add invalid=’ignore’ to np.errstate block in PchipInterpolator
#14209: ENH: stats: kendalltau: add alternative parameter
#14210: BUG: Fix Nelder-Mead logic when using a non-1D x0 and adapative
#14211: Fixed doc for gaussian_kde (kde.factor description)
#14213: ENH: stats: somersd: add alternative parameter
#14214: ENH: Improve the `scipy.spatial.qhull` annotations
#14215: ENH: stats: Integrate library UNU.RAN in `scipy.stats` [GSoC…
#14218: DOC: clarify `ndimage.center_of_mass` docstring
#14219: ENH: sparse.linalg: Use the faster “sqrt” from “math” and be…
#14222: MAINT: stats: remove unused ‘type: ignore’ comment
#14224: MAINT: Modify to use new random API in benchmarks
#14225: MAINT: fix missing LowLevelCallable in `dir(scipy)`
#14226: BLD: fix warning for missing dependency, and dev version number
#14227: MAINT: fix maybe-uninitialized warnings in lbfgbf.f
#14228: BENCH: add more benchmarks for inferential statistics tests
#14237: Removes unused variable
#14240: ENH: sparse.linalg: Normalize type descriptions
#14242: BUG: stats: fix discrete `.isf` to work at boundaries when…
#14250: Error in parameter checking in cdfbin.f
#14254: BUG: Fixed an issue wherein `SphericalVoronoi` could raise…
#14255: BUG: Numerical stability for large N BarycentricInterpolator
#14257: MAINT: Fixed deprecated API calls in scipy.optimize
#14258: DOC: fix stats.pearsonr example that was failing in CI
#14259: CI: pin mypy to 0.902 and fix one CI failure
#14260: BLD: optimize: fix some warnings in moduleTNC and minpack.h
#14261: BLD: fix include order and build warnings for `optimize/_trlib`
#14263: DOC: forward port 1.7.0 relnotes
#14268: MAINT: Replaced direct field access in PyArrayObject* with wrapper…
#14274: MAINT: more scalar array conversion fixes for optimize
#14275: MAINT: Update vendored uarray, required for auto-dispatching
#14278: MAINT: two small fixes for implicit scalar-array-conversions
#14281: ENH: Annotate the array dtypes of `scipy.spatial.qhull`
#14285: DEV: remove scikit-umfpack from environment.yml
#14287: TST: Add testing for hyp2f1 for complex values in anticipation…
#14291: TST: split combined LSAP input validation tests up
#14293: MAINT: remove the last deprecated `PyEval_*` usages
#14294: ENH: Annotate array dtypes in `scipy.spatial.ckdtree` and `distance`
#14295: MAINT: move LSAP input validation into lsap_module
#14297: DOC: Make code block an Item List
#14301: MAINT: fix the last build warning in `optimize/_trlib/`
#14302: BLD: fix build warnings for `stats/biasedurn`
#14305: MAINT: silence warning in odepackmodule.c
#14308: ENH: use Pythran to speedup somersd and _tau_b
#14309: BLD: fix build warnings for scipy.special
#14310: ENH: make epsilon optional in optimize.approx_fprime.
#14311: MAINT: Corrected NumPy API usage in scipy.spatial
#14312: ENH: Using random directional derivative to check grad
#14326: MAINT: Removed redifinition of trace1 in spatial/qhull
#14328: MAINT: _lib: add __dealloc__ to MessageStream
#14331: ENH: Complement `trace` method of sparse matrices like `csr_matrix/csc_matrix/coo_matrix`
#14338: BUG: fix `stats.binned_statistic_dd` issue with values close…
#14339: TST: fix `sparse.linalg.spsolve` test with singular input
#14341: MAINT: Add missing parenthesis in _nnls.py
#14342: ENH: make `savgol_coeffs`, `savgol_filter` work for even…
#14344: ENH: scipy.interpolate b-splines (design_matrix)
#14350: MAINT: make fit method of rv_continuous pickleable
#14358: ENH: Dinic’s algorithm for maximum_flow
#14359: ENH: Set fft backend with try_last=True
#14362: Use list comprehension
#14367: BUG: Check for NULL pointer in `memmove`
#14377: Fix behavior of binary morphology with output=input when iterations=1
#14378: MAINT: Removing deprecated NumPy C API from `interpolate`
#14380: ENH: Fixed intercept computation in theilslopes
#14381: BENCH: add benchmark for somersd
#14387: MAINT: Removed deprecated NumPy C api from `sparse`
#14392: BUG/ENH: rework maximum flow preprocessing
#14393: CI: Lint checks failures are reporting success
#14403: Fix off by one error in doc string.
#14404: DOC: docstring fix for default of n param of interpolate.pade
#14406: MAINT: Use numpy_nodepr_api in `spatial`
#14411: MAINT: minor cleanups in usage of `compute_uv` keyword of `svd`
#14413: DOC:interpolate: Fix the docstring example of “lagrange”
#14419: DEP: deprecate private but non-underscored `signal.spline`…
#14422: MAINT: csgraph: 將 Dinic 演算法變更為迭代實作
#14423: CI: 移除 Azure 測試中跳過和 xfailed 測試的列印...
#14426: ENH: 為 quad_vec 中的可呼叫物件新增 args 參數
#14427: MAINT: i686 支援的額外 pythran 註解
#14432: BUG/ENH: 針對 2 樣本 ks 檢定精確 p 值,提供更穩定的遞迴
#14433: ENH: 新增 PROPACK 包裝器以改善稀疏 SVD
#14440: MAINT: stats: 消除 mypy 抱怨
#14441: ENH: TST: 新增 threadpoolctl hook 以限制 OpenBLAS 平行處理
#14442: MAINT: 修復 `sparse/linalg/dsolve` 中未初始化的警告
#14447: MAINT: 重新命名 scipy.ndimage 模組
#14449: ENH: Cython 化 van der corput
#14454: MAINT: 開始將複數的 hyp2f1 翻譯成 Cython
#14456: CI: 使用 flake8 而非 pyflakes + pycodestyle 進行程式碼檢查
#14458: DOC: 釐清 stats.linregress 中 rvalue 的意義
#14459: MAINT: 修復 `interpolate` 和 `cluster` 中未初始化的警告
#14463: 修復文件概述中的錯字:「pandas」改為「SciPy」
#14474: DEP: 棄用私有但非底線 ndimage.<module> 命名空間
#14477: MAINT: 為 bspline (signal) 使用 Tempita 檔案
#14479: 在 `idstn` 和 `idctn` 文件字串中新增 `Inverse` 字詞
#14487: TST: 修改受限最小化的不穩定測試
#14489: MAINT: 清理一些 line_search 程式碼
#14492: CI: 確保建置 SciPy wheel 時 Azure 工作步驟失敗...
#14496: MAINT: 切換為使用 spmatrix.toarray 而非 .todense
#14499: DOC: 修復 toarray/todense 文件字串
#14507: CI: 新增 lint_diff 文件和選項,僅在指定檔案/目錄上執行
#14513: DOC: 在 jacobi 文件字串中新增參考和範例
#14520: BUG: diffev maxfun 可能在族群中途達到
#14524: ENH: Rotation.concatenate
#14532: ENH: sparse.linalg: 當 R.H.S. 為零時,解為零
#14538: CI: 還原「CI: 確保 Azure 工作步驟在建置時失敗...」
#14539: DOC: 新增 scipy.special 中 chebyt 和 chebyu 文件字串範例
#14546: ENH: 正交拉丁超立方採樣至 QMC
#14547: ENH: Rotation 類別的 __setitem__ 方法
#14549: 針對 pypy + win + mmap 的小型測試修復
#14554: ENH: scipy.interpolate.BSpline from_power_basis
#14555: BUG: sparse: 修復 DIA.tocsc 錯誤
#14556: 修復連結至強連通元件詳細資訊的連結...
#14559: WIP: TST: 為 Pythran somersd 新增測試
#14561: DOC: 在 (gen)laguerre 文件字串中新增參考和範例...
#14564: ENH: 新增threaded Van Der Corput
#14571: 修復 _mannwhitneyu.py 範例中重複的單字
#14572: 設定 BSpline.design_matrix 節點陣列的最小長度
#14578: DOC: 在球形 Bessel 文件字串中新增範例
#14581: MAINT: 重構 `linalg.tests.test_interpolative::TestInterpolativeDecomposition::test_id`
#14588: ENH: 將 ``kulczynski1`` 新增至 ``scipy.spatial.distance``
#14592: DOC: 釐清 scipy.stats 中 norminvgauss 的參數
#14595: 移除 ``scipy/linalg/src/id_dist/src/prini.f`` 中未使用的子程式
#14601: 修復 numpy 和 scipy interp 之間的不一致
#14602: MAINT: 修復 `sparse/linalg/dsolve` 中的 `-Wunused-result` 警告
#14603: DEV: 初始化 Gitpod Dockerfile 中的所有子模組
#14609: MAINT: 修復 `optimize/_highs` 中的 `-Wmaybe-uninitialized` 警告
#14610: MAINT: 忽略 ``scipy/signal/bspline_util.c``
#14613: MAINT: interpolate: 為 Cython 索引變數宣告類型。
#14619: ENH: stats.unuran: 新增基於多項式插值的數值...
#14620: CI: 修復使用預發行版本 wheel + Python 3.7 的 Azure 工作
#14625: ENH: optimize scipy.stats.binned_statistic 的最小值、最大值和中位數
#14626: MAINT: 修復 sparse.construct.bmat 中的類型縮減加法
#14627: MAINT: 提高容差以通過 Apple 上的 ``special.tests``...
#14628: DOC: 釐清 scipy.optimize.linprog 中 options 參數的用法
#14629: ENH: optimize scipy.stats.binned_statistic 中的標準差
#14630: DOC: 新增引用檔案
#14631: 修復舊編譯器的 unuran 建置
#14633: BUG: scipy.stats._unran: 僅傳送字串至 include_dirs
#14634: DOC: 修復 Wikipedia bootstrap 連結
#14635: DOC: stats: 修復 multivariate_t 文件 pdf 方程式
#14637: MAINT: 複製離散分佈字典
#14643: MAINT: 處理 gh6019,minimize_scalar 的 disp
#14644: DOC: stats: 在教學中新增 UNU.RAN 參考文獻
#14649: DOC: 釐清 SciPy 與 Python 和 NumPy 的相容性。
#14655: MAINT: 移除 Python 3.7 (因此也移除 NumPy 1.16) 的支援
#14656: MAINT: 將
assert_
取代為 assert#14658: DOC: 在 Ubuntu 快速入門中使用 conda-forge
#14660: MAINT: 重構「for ... in range(len(」陳述式
#14663: MAINT: 更新 pyproject.toml 中剩餘的 Python 和 NumPy 版本
#14665: BLD: 修復應該被捕捉到的令人困惑「import pip」失敗
#14666: MAINT: 移除不必要的 seed 設定並更新 `check_random_state`
#14669: ENH: 重構 GitHub Issue 表單範本
#14673: BLD: 修復 include 順序,Python.h 在標準標頭之前
#14676: BUG: 修復 optimize_qap.QuadraticAssignment.track_score 基準測試失敗
#14677: MAINT: 檔案路徑上的 github labeler
#14682: DOC: 修復 mannwhitneyu 文件字串中的錯字
#14684: DOC: optimize: 修復零星的 linprog doctest 失敗
#14685: MAINT: entropy 的靜態類型
#14686: BUG: 修復最近 commit 中 lsqr.py 引入的問題
#14689: MAINT: 將 IOError 別名取代為 OSError 或其他適當的...
#14692: MAINT: 將複數的 hyp2f1 翻譯成 Cython,...
#14693: DOC: 更新 OptimizeResult 註解
#14694: 簡化 PythranBuildExt 用法
#14695: BLD: 將 Pythran 版本提高至 0.9.12
#14697: CI: 在基準測試 CI 工作和 environment.yml 中新增 `cffi`
#14699: BUG: 修復 `stats._discrete_distns` 中的 TypeError
#14700: DOC: 更新詳細路線圖
#14701: ENH:linalg: 新增 Cython 化的 get_array_bandwidth、issymmetric,...
#14706: BUG: 修復 hyp2f1 以傳回 exp(±iπ/3) 附近區域的正確值。
#14707: 更新 constants.py
#14708: BENCH: 縮短在 CI 中超時的 svds 基準測試
#14709: CI: 移除 labeler 同步
#14712: MAINT: special: _cosine.c 的更新。
#14720: DOC: 優化 hess 和一致性
#14721: MAINT: 更正 PR 範本連結
#14723: DOC: 在 `stats.binned_statistic_2d` 文件中新增關於 padding 的註解
#14727: ENH: sparse.linalg: 新增有用的非零初始猜測選項
#14729: DOC: 修復 scipy.optimize.brenth 的文件
#14737: BUG:signal: 比對視窗 dtype 至輸入
#14739: TST: sparse.linalg: 新增 2-D Poisson 方程式的測試案例
#14743: TST:sparse.linalg: 使用更方便的「assert_normclose」...
#14748: DOC: 修復 scipy.sparse.csgraph 中的矩陣表示法
#14751: ENH: refguide-check 中的 numpy masked_arrays
#14755: BUG: 當 `ts` 為空時,避免 `solve_ivp` 失敗
#14756: MAINT: 來自公開 numpy.linalg 的 LinAlgError
#14759: BLD: 變更 site.cfg.example 中的區段名稱,從 ALL 改為 DEFAULT
#11160: TST: 抑制 jinja2 棄用警告
#14761: CI: 從 Azure CI 中移除 `pre_release_deps_source_dist` 工作...
#14762: TST: 在 RBFInterpolator 的 pickling 測試中新增 seed
#14763: MAINT: 使 solve_ivp 對於 t_span 稍微嚴格。
#14772: DOC:special: 修復斷開的 jburkardt 連結
#14787: MAINT: 增加容差值以避免測試失敗
#14789: MAINT: 修復 signal/spectral.py 中的一個微小錯字
#14790: [MRG] BUG: 當迭代無法繼續時,避免 lobpcg 失敗
#14794: 修復 bspline 文件 (和註解) 中的錯字
#14796: MAINT: 允許模組初始化檔案中的 F401 和 F403
#14798: BUG: 更正 test_arpack.eval_evec 中的測試迴圈
#14801: CI, MAINT: 為 azure pre-rel 固定 Cython
#14805: BUG: optimize: 修復 minimize 的最大函數呼叫驗證...
#14808: 修復錯誤 #14807
#14814: MAINT:integrate: 新增上游 quadpack 變更
#14817: ENH: stats: 新增幾何 zscore
#14820: MAINT: 使用 `np.moveaxis` 和... 移除 `np.rollaxis` 用法
#14821: DOC: 更新 interp1d 的文件
#14822: 為 scipy.sparse 新增陣列 API
#14832: MAINT: 在更多工作中使用 py3.10,並將一些 3.8 升級至 3.9
#14833: FIX: 在 Boost.Math 錯誤時引發 Python OverflowError 例外
#14836: 錯誤修復:dqc25f.f
#14837: DOC: sparse.linalg: 修復初始...時不正確的註解
#14838: TST: 設定 stats 測試的 seed
#14841: MAINT: 增加測試中的容差以避免 Nightly CPython3.10...
#14844: DOC: 將 refguide_check 選項詳細資訊新增至 runtests.rst
#14845: DOC: 更新 `radau.py` 文件字串中的類型指定符
#14848: 錯字「copmlex」
#14852: DOC: 修復 `lstsq` 中的文件錯誤
#14860: minimize: 如果參數被分解出來...,則複製使用者約束。
#14865: BUG: stats: 修復 stats.skew 中的崩潰
#14868: [MRG] BUG: 更新 lobpcg.py 以驗證準確性並發布...
#14871: MAINT: 移除內建名稱被遮蔽的陷阱
#14872: DEP: 棄用 `scipy.linalg` 中的私有命名空間
#14878: TST: 提高 equal_bounds 的 rtol
#14881: DEP: 棄用 `scipy.special` 中的私有命名空間
#14882: BUG: 將 TNC C 模組轉換為 cython
#14883: DOC:linalg: 釐清 eigh 中的驅動程式預設值
#14884: BUG: optimize: 為 `OptimizeResult` 新增遺失的屬性...
#14892: DOC: 更正 Hausdorff 距離的文件
#14898: DEP: 棄用 `scipy.stats` 中的私有命名空間
#14902: MAINT:linalg: 將 func 重新命名為「bandwidth」
#14906: DEP: 棄用 `scipy.constants` 中的私有命名空間
#14913: DEP: 棄用 `scipy.fftpack` 中的私有命名空間
#14916: DEP: 棄用 `stats.biasedurn` 並使其成為私有
#14918: DEP: 棄用 ``scipy.interpolate`` 中的私有命名空間
#14919: DEP: 棄用 `scipy.integrate` 中的私有命名空間
#14920: 修復複數 Fresnel
#14923: DEP: 棄用 ``scipy.spatial`` 中的私有命名空間
#14924: 修復 scipy.signal.cwt 範例的範圍
#14925: MAINT: 忽略 ``scipy.stats`` 中建置產生的檔案
#14927: DEP: 棄用 `scipy.misc` 中的私有命名空間
#14928: MAINT: 修復 runtest.py 覆寫 `$PYTHONPATH`:改為前置
#14934: BUG: optimize: 在 `basinhopping` 中為 OptimizeResult 新增遺失的屬性
#14939: DEP: 棄用 ``scipy.sparse`` 中的私有命名空間
#14941: ENH: optimize: 新增自適應步長的可選參數...
#14943: DOC: 釐清 mac pytest;新增空白行
#14944: BUG: 具有特定 QMCEngine 的 MultivariateNormalQMC 移除不需要的...
#14947: DOC: 為 decimate 函數新增範例
#14950: MAINT: 在 scipy.sparse.linalg 中使用 matmul 二元運算子
#14954: DOC: 為 minres 文件字串新增遺失的參數。
#14955: BUG: stats: 修復 argsreduce 的廣播行為
#14960: 更新新網站的連結
#14961: CI: 為 CircleCI 中的 git 使用 https 協定
#14962: DEP: 棄用 `scipy.signal` 中的私有命名空間
#14963: MAINT: `.gitignore` 中遺失 `integrate.lsoda`
#14965: DOC: 更新 logo 並新增 favicon。
#14966: DEP: 棄用 ``scipy.optimize`` 中的私有命名空間
#14969: CI: 修復文件建置中的 pyparsing 版本
#14972: 指令名稱後方不要加空格。
#14979: BUG: scipy.sparse.linalg.spsolve: 修復由...引起的記憶體錯誤
#14988: BLD: 更新 Python 3.10 的 pyproject.toml
#14989: ENH: 加速 BSpline.design_matrix 的節點區間查找
#14992: _matfuncs_sqrtm 的 Pythran 化版本
#14993: MAINT: 向前移植 1.7.2 版本說明
#15004: ENH: 使 `get_matfile_version` 和其他 `io.matlab` 物件...
#15007: DOC: 在 `gammainccinv` 文件中新增遺失的「regularized」
#15008: MAINT: 還原對已棄用私有命名空間的存取權限
#15010: TST: 移除檢查 g77 是否連結的脆弱測試
#15013: MAINT: 修復 Py_FindObjects 中的 use-after-free 錯誤
#15018: CI: 繞過 Sphinx 錯誤
#15019: Scipy Optimize Solvers (Newton-CG) 中的有限差分 Hessian
#15020: ENH: sparse.linalg: 修復初始猜測「x0」...的問題
#15022: DOC: 減輕 newton 優化不收斂的問題。
#15023: CI: 取消固定 Sphinx
#15027: DOC: linalg: 修復小的條件文件錯誤
#15029: DEP: 棄用 `scipy.sparse.linalg` 中的私有命名空間
#15034: DOC: 為 `_superlumodule.c` 中的 C 函數使用 numpydoc 格式
#15035: MAINT: 簡化 stats 中的 UNU.RAN api
#15037: gaussian_filter 的新範例
#15040: MAINT: 為公開 API 新增測試
#15041: DOC: 在 dct 文件中新增關於 norm='ortho' 的警告
#15045: DOC: 更新 toolchain.rst
#15053: TST: 新增一些測試跳過以再次使 wheel builder CI 變綠
#15054: MAINT: 移除 wminkowski
#15055: ENH: 允許 Minkowski 距離的 p>0
#15061: MAINT:sparse: expm() 修復多餘的匯入
#15062: MAINT:BLD: 以文字模式開啟 tempita 的檔案
#15066: CI: 將 gcc 從 4.8 升級至 6
#15067: DOC: 更新斷開的 SuperLU 函式庫連結。
#15078: MAINT: 更新 `stats.iqr` 以用於已棄用的 `np.percentile`...
#15083: MAINT: stats: 將 UNU.RAN 功能分離到其自己的子模組
#15084: MAINT: 將 `scipy.io.matlab` 包含在公開 API 中
#15085: ENH: 支援建立類比 SOS 輸出
#15087: TST: 檢閱 ``_assert_within_tol`` 位置引數
#15095: MAINT: 更新 gitignore 以忽略私有目錄
#15099: MAINT: ScalarFunction 記住 best_x
#15100: MAINT: 將 `stats.contingency` 包含在公開 API 中
#15102: ENH: 為 DCT/DST 新增 orthogonalize 引數
#15105: MAINT: 在已棄用的模組中新增遺失的匯入
#15107: BUG: 更新 chi_gen 以使用 scipy.special.gammaln
#15109: MAINT: 從 scipy.stats 移除 NaiveRatioUniforms
#15111: ENH: 新增 special.log_expit 並在 stats.logistic 中使用它
#15112: DOC: 更新 signal.butter 中的「Wn」定義
#15114: DOC: 以名稱新增 Fermi-Dirac 分佈
#15119: DOC: 修復 `stats.logistic` 中 `logistic.sf` 的符號連結
#15120: MAINT: 安裝 `sparse.linalg._eigen` 測試並修復測試失敗
#15123: MAINT: interpolate: 從 cython...移動 `sparse` 相依性
#15127: DOC: 更新 linux 建置指示以提及 C++
#15134: DOC: 改善 Lomb-Scargle 範例
#15135: ENH: Carlson 對稱橢圓積分。
#15137: DOC: special: 為 multigammaln 和 roots_legendre...新增「Examples」
#15139: 在 Lomb-Scargle 範例中使用 constrained_layout
#15142: ENH: stats.sampling: 新增 SROU 方法
#15143: MAINT: 移除一些未使用的匯入。
#15144: BUG: 為 runtests.py 新增遺失的 ‘errno’ 匯入
#15157: ENH: gh-14279 的 rebase 版本
#15159: DOC: stats: 修復 `stats.sampling` 教學中的標題
#15161: DOC: 1.8.0 版本說明更新
#15175: MAINT: 1.8.0 版本說明和 .gitignore 的 backport
#15181: BUG: 條件式跳過的 pytest 裝飾器是 ‘skipif’
#15191: MAINT: 1.8.0rc1 之前的版本界限
#15192: MAINT: 將 `pytest.warns(None)` 的使用替換為 `warnings.catch_warnings`
#15194: BUG: stats: 修正 recipinvgauss 的數值問題
#15214: TST: sparse.linalg: 僅儲存 PROPACK 測試矩陣;產生…
#15220: BUG: sparse.linalg: 修正棄用警告。
#15225: 使稀疏陣列/矩陣的 0 次方回傳帶有身分…
#15229: BUG: minimize 應該能與純量一起運作 closes #15228
#15232: BUG: 為稀疏陣列新增 rmul
#15236: BLD: 更新 Python 3.10 的 setup.py
#15248: MAINT: 1.8.0rc2 backports
#15249: FIX: PROPACK MKL 相容性
#15253: BUG: special: 修正無限 df 的 `stdtr` 和 `stdtrit`
#15256: MAINT: 使用 PEP440 而非 distutils
#15268: CI: 將 setuptools 固定為 59.6.0,Pythran 固定為 0.10.0 以用於 Windows…
#15270: MAINT: 將 `moduleTNC` 擴充功能重新命名回 `_moduleTNC`
#15271: TST: 為新的 lobpcg 測試稍微增加測試容忍度
#15275: MAINT: 修正 `signal._signaltools` 中的 imports
#15278: MAINT: 移除 `.gitmodules` 中非預設設定 (除了 `shallow`)
#15288: BLD 尊重 setup.py 中的 –skip-build 旗標
#15293: BUG: 修正 Hausdorff int 溢位
#15301: TST: 更新 `sparse.linalg` 測試以應對因容忍度造成的失敗
#15318: BLD: 更新 pyproject.toml 以不為 aarch64 + PyPy 固定 numpy
#15322: BLD: 更新 SciPy 1.8.0 的最低 Pythran 版本至 0.10.0
#15323: MAINT: 過濾 stats 函數中的 RuntimeWarnings
#15328: MAINT: interpolate: csr_matrix -> csr_array
#15331: BUG: stats._unuran: 修正無效的屬性查找
#15332: CI: 將 numpy 固定為 CircleCI 上文件建置的 1.21.5
#15334: BUG: stats._unuran: 修正剩餘的屬性查找錯誤
#15335: CI: 將 numpy 固定為 Azure refguide 檢查工作的 1.21.5
#15341: BUG: `highs-ds` 為… 回傳 memoryviews 而非 np.arrays
#15397: BUG: 確保 vendored pep440 已匯入
#15416: BUG: 修正 wasm 目標的 PyUFunc
#15418: MAINT: 1.8.0 rc3 backports round 1
#15421: BUG: stats: mode: 修正使用 np.moveaxis 而非… 的負軸問題
#15432: MAINT: 發佈分支 PROPACK 切換 (預設關閉)
#15515: MAINT: 修正損壞的連結並移除 CI 徽章