New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Defined Singularity Functions for Negative Integer Exponents. #26589
Conversation
✅ Hi, I am the SymPy bot. I'm here to help you write a release notes entry. Please read the guide on how to write release notes. Your release notes are in good order. Here is what the release notes will look like: This will be added to https://github.com/sympy/sympy/wiki/Release-Notes-for-1.13. Click here to see the pull request description that was parsed.
|
Benchmark results from GitHub Actions Lower numbers are good, higher numbers are bad. A ratio less than 1 Significantly changed benchmark results (PR vs master) Significantly changed benchmark results (master vs previous release) | Change | Before [2487dbb5] | After [b412fa4b] | Ratio | Benchmark (Parameter) |
|----------|----------------------|---------------------|---------|----------------------------------------------------------------------|
| - | 69.9±2ms | 44.0±0.5ms | 0.63 | integrate.TimeIntegrationRisch02.time_doit(10) |
| - | 69.8±1ms | 42.7±0.2ms | 0.61 | integrate.TimeIntegrationRisch02.time_doit_risch(10) |
| + | 18.8±0.3μs | 30.0±0.2μs | 1.59 | integrate.TimeIntegrationRisch03.time_doit(1) |
| - | 5.26±0.02ms | 2.94±0.02ms | 0.56 | logic.LogicSuite.time_load_file |
| - | 73.4±0.4ms | 28.5±0.06ms | 0.39 | polys.TimeGCD_GaussInt.time_op(1, 'dense') |
| - | 26.0±0.3ms | 16.9±0.09ms | 0.65 | polys.TimeGCD_GaussInt.time_op(1, 'expr') |
| - | 73.9±0.4ms | 28.6±0.09ms | 0.39 | polys.TimeGCD_GaussInt.time_op(1, 'sparse') |
| - | 258±2ms | 123±0.5ms | 0.48 | polys.TimeGCD_GaussInt.time_op(2, 'dense') |
| - | 256±2ms | 124±0.2ms | 0.48 | polys.TimeGCD_GaussInt.time_op(2, 'sparse') |
| - | 654±6ms | 367±2ms | 0.56 | polys.TimeGCD_GaussInt.time_op(3, 'dense') |
| - | 660±7ms | 367±1ms | 0.56 | polys.TimeGCD_GaussInt.time_op(3, 'sparse') |
| - | 501±4μs | 284±2μs | 0.57 | polys.TimeGCD_LinearDenseQuadraticGCD.time_op(1, 'dense') |
| - | 1.78±0ms | 1.05±0ms | 0.59 | polys.TimeGCD_LinearDenseQuadraticGCD.time_op(2, 'dense') |
| - | 5.78±0.02ms | 3.01±0.02ms | 0.52 | polys.TimeGCD_LinearDenseQuadraticGCD.time_op(3, 'dense') |
| - | 448±2μs | 229±30μs | 0.51 | polys.TimeGCD_QuadraticNonMonicGCD.time_op(1, 'dense') |
| - | 1.50±0.01ms | 661±7μs | 0.44 | polys.TimeGCD_QuadraticNonMonicGCD.time_op(2, 'dense') |
| - | 4.95±0.02ms | 1.65±0ms | 0.33 | polys.TimeGCD_QuadraticNonMonicGCD.time_op(3, 'dense') |
| - | 380±3μs | 206±0.7μs | 0.54 | polys.TimeGCD_SparseGCDHighDegree.time_op(1, 'dense') |
| - | 2.44±0ms | 1.23±0ms | 0.5 | polys.TimeGCD_SparseGCDHighDegree.time_op(3, 'dense') |
| - | 10.1±0.1ms | 4.31±0.02ms | 0.43 | polys.TimeGCD_SparseGCDHighDegree.time_op(5, 'dense') |
| - | 366±1μs | 169±0.7μs | 0.46 | polys.TimeGCD_SparseNonMonicQuadratic.time_op(1, 'dense') |
| - | 2.55±0.01ms | 891±4μs | 0.35 | polys.TimeGCD_SparseNonMonicQuadratic.time_op(3, 'dense') |
| - | 9.57±0.05ms | 2.64±0.02ms | 0.28 | polys.TimeGCD_SparseNonMonicQuadratic.time_op(5, 'dense') |
| - | 1.03±0.01ms | 422±3μs | 0.41 | polys.TimePREM_LinearDenseQuadraticGCD.time_op(3, 'dense') |
| - | 1.73±0.01ms | 507±5μs | 0.29 | polys.TimePREM_LinearDenseQuadraticGCD.time_op(3, 'sparse') |
| - | 5.92±0.03ms | 1.78±0.01ms | 0.3 | polys.TimePREM_LinearDenseQuadraticGCD.time_op(5, 'dense') |
| - | 8.50±0.03ms | 1.52±0.01ms | 0.18 | polys.TimePREM_LinearDenseQuadraticGCD.time_op(5, 'sparse') |
| - | 287±2μs | 65.7±0.3μs | 0.23 | polys.TimePREM_QuadraticNonMonicGCD.time_op(1, 'sparse') |
| - | 3.54±0.03ms | 392±4μs | 0.11 | polys.TimePREM_QuadraticNonMonicGCD.time_op(3, 'dense') |
| - | 4.09±0.01ms | 283±3μs | 0.07 | polys.TimePREM_QuadraticNonMonicGCD.time_op(3, 'sparse') |
| - | 7.09±0.04ms | 1.25±0.01ms | 0.18 | polys.TimePREM_QuadraticNonMonicGCD.time_op(5, 'dense') |
| - | 8.82±0.08ms | 848±3μs | 0.1 | polys.TimePREM_QuadraticNonMonicGCD.time_op(5, 'sparse') |
| - | 5.02±0.02ms | 3.01±0.01ms | 0.6 | polys.TimeSUBRESULTANTS_LinearDenseQuadraticGCD.time_op(2, 'sparse') |
| - | 12.1±0.07ms | 6.59±0.06ms | 0.55 | polys.TimeSUBRESULTANTS_LinearDenseQuadraticGCD.time_op(3, 'dense') |
| - | 22.5±0.08ms | 9.14±0.03ms | 0.41 | polys.TimeSUBRESULTANTS_LinearDenseQuadraticGCD.time_op(3, 'sparse') |
| - | 5.24±0.03ms | 878±5μs | 0.17 | polys.TimeSUBRESULTANTS_QuadraticNonMonicGCD.time_op(1, 'sparse') |
| - | 12.5±0.05ms | 7.04±0.06ms | 0.56 | polys.TimeSUBRESULTANTS_QuadraticNonMonicGCD.time_op(2, 'sparse') |
| - | 104±0.7ms | 25.5±0.06ms | 0.25 | polys.TimeSUBRESULTANTS_QuadraticNonMonicGCD.time_op(3, 'dense') |
| - | 168±1ms | 53.8±0.1ms | 0.32 | polys.TimeSUBRESULTANTS_QuadraticNonMonicGCD.time_op(3, 'sparse') |
| - | 173±0.6μs | 113±0.8μs | 0.65 | polys.TimeSUBRESULTANTS_SparseGCDHighDegree.time_op(1, 'dense') |
| - | 359±2μs | 217±2μs | 0.6 | polys.TimeSUBRESULTANTS_SparseGCDHighDegree.time_op(1, 'sparse') |
| - | 4.40±0.02ms | 861±7μs | 0.2 | polys.TimeSUBRESULTANTS_SparseGCDHighDegree.time_op(3, 'dense') |
| - | 5.34±0.1ms | 384±1μs | 0.07 | polys.TimeSUBRESULTANTS_SparseGCDHighDegree.time_op(3, 'sparse') |
| - | 20.5±0.4ms | 2.82±0.02ms | 0.14 | polys.TimeSUBRESULTANTS_SparseGCDHighDegree.time_op(5, 'dense') |
| - | 23.5±0.3ms | 632±1μs | 0.03 | polys.TimeSUBRESULTANTS_SparseGCDHighDegree.time_op(5, 'sparse') |
| - | 480±1μs | 136±0.6μs | 0.28 | polys.TimeSUBRESULTANTS_SparseNonMonicQuadratic.time_op(1, 'sparse') |
| - | 4.76±0.02ms | 618±4μs | 0.13 | polys.TimeSUBRESULTANTS_SparseNonMonicQuadratic.time_op(3, 'dense') |
| - | 5.38±0.02ms | 140±1μs | 0.03 | polys.TimeSUBRESULTANTS_SparseNonMonicQuadratic.time_op(3, 'sparse') |
| - | 13.6±0.05ms | 1.29±0ms | 0.1 | polys.TimeSUBRESULTANTS_SparseNonMonicQuadratic.time_op(5, 'dense') |
| - | 14.3±0.1ms | 143±1μs | 0.01 | polys.TimeSUBRESULTANTS_SparseNonMonicQuadratic.time_op(5, 'sparse') |
| - | 134±0.2μs | 75.6±1μs | 0.56 | solve.TimeMatrixOperations.time_rref(3, 0) |
| - | 250±0.7μs | 89.0±0.3μs | 0.36 | solve.TimeMatrixOperations.time_rref(4, 0) |
| - | 24.1±0.1ms | 10.1±0.02ms | 0.42 | solve.TimeSolveLinSys189x49.time_solve_lin_sys |
| - | 28.4±0.2ms | 15.5±0.09ms | 0.54 | solve.TimeSparseSystem.time_linsolve_Aaug(20) |
| - | 55.7±0.2ms | 24.9±0.1ms | 0.45 | solve.TimeSparseSystem.time_linsolve_Aaug(30) |
| - | 28.5±0.2ms | 15.4±0.07ms | 0.54 | solve.TimeSparseSystem.time_linsolve_Ab(20) |
| - | 55.4±0.4ms | 24.7±0.1ms | 0.45 | solve.TimeSparseSystem.time_linsolve_Ab(30) |
Full benchmark results can be found as artifacts in GitHub Actions |
I see #26576 has been merged into master. This has led to merge conflicts in this pull request. Is this change still wanted or can I close this pull request? |
I wasn't aware of this PR when I merged the other one and don't know the difference. In the future, work in one PR as the review is occurring. |
References to other Issues or PRs
This PR follows from a conversation in this PR #26576
These functions are necessary to implement the mechanics described in this issue #26570
Brief description of what is fixed or changed
Defined Singularity Functions for negative integer exponents.
Other comments
It is now possible to use Singularity Functions with any negative integer exponent. Untill now the lowest possible exponent was -2.
Release Notes