Skip to content

Conversation

hanspi42
Copy link
Contributor

@hanspi42 hanspi42 commented Oct 3, 2023

References to other Issues or PRs

Psrt of #24561

Brief description of what is fixed or changed

This PR contains several small changes made while checking for the completeness of the laplace_transform rules. Changes:

  • wrong gamma function in simple rules corrected
  • better treatment of Heaviside(b-t) for positive b
  • rule for t**np*g for positive integer np implemented (Bateman 4.1 (6))

Other comments

Release Notes

  • integrals
    • several small changes and error corrections in laplace_transform

@sympy-bot
Copy link

sympy-bot commented Oct 3, 2023

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:

  • integrals
    • several small changes and error corrections in laplace_transform (#25755 by @hanspi42)

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.
#### References to other Issues or PRs
Psrt of #24561

#### Brief description of what is fixed or changed
This PR contains several small changes made while checking for the completeness of the laplace_transform rules.  Changes:
- wrong gamma function in simple rules corrected
- better treatment of Heaviside(b-t) for positive b
- rule for t**np*g for positive integer np implemented (Bateman 4.1 (6))

#### Other comments


#### Release Notes

<!-- BEGIN RELEASE NOTES -->
- integrals
  - several small changes and error corrections in laplace_transform 
<!-- END RELEASE NOTES -->

Update

The release notes on the wiki have been updated.

@hanspi42 hanspi42 marked this pull request as draft October 3, 2023 09:53
@github-actions
Copy link

github-actions bot commented Oct 3, 2023

Benchmark results from GitHub Actions

Lower numbers are good, higher numbers are bad. A ratio less than 1
means a speed up and greater than 1 means a slowdown. Green lines
beginning with + are slowdowns (the PR is slower then master or
master is slower than the previous release). Red lines beginning
with - are speedups.

Significantly changed benchmark results (PR vs master)

Significantly changed benchmark results (master vs previous release)

| Change   | Before [a00718ba]    | After [83fa3356]    |   Ratio | Benchmark (Parameter)                                                |
|----------|----------------------|---------------------|---------|----------------------------------------------------------------------|
| -        | 69.0±2ms             | 44.0±0.7ms          |    0.64 | integrate.TimeIntegrationRisch02.time_doit(10)                       |
| -        | 68.3±1ms             | 43.4±0.5ms          |    0.64 | integrate.TimeIntegrationRisch02.time_doit_risch(10)                 |
| +        | 19.0±0.2μs           | 30.0±0.3μs          |    1.58 | integrate.TimeIntegrationRisch03.time_doit(1)                        |
| -        | 5.28±0.08ms          | 2.83±0.01ms         |    0.54 | logic.LogicSuite.time_load_file                                      |
| -        | 73.4±0.8ms           | 28.6±0.5ms          |    0.39 | polys.TimeGCD_GaussInt.time_op(1, 'dense')                           |
| -        | 26.2±0.2ms           | 17.3±0.1ms          |    0.66 | polys.TimeGCD_GaussInt.time_op(1, 'expr')                            |
| -        | 73.9±0.4ms           | 28.9±0.07ms         |    0.39 | polys.TimeGCD_GaussInt.time_op(1, 'sparse')                          |
| -        | 256±2ms              | 123±0.3ms           |    0.48 | polys.TimeGCD_GaussInt.time_op(2, 'dense')                           |
| -        | 256±3ms              | 124±0.9ms           |    0.48 | polys.TimeGCD_GaussInt.time_op(2, 'sparse')                          |
| -        | 656±2ms              | 368±2ms             |    0.56 | polys.TimeGCD_GaussInt.time_op(3, 'dense')                           |
| -        | 654±3ms              | 369±0.9ms           |    0.56 | polys.TimeGCD_GaussInt.time_op(3, 'sparse')                          |
| -        | 494±4μs              | 284±1μs             |    0.58 | polys.TimeGCD_LinearDenseQuadraticGCD.time_op(1, 'dense')            |
| -        | 1.80±0.03ms          | 1.05±0.01ms         |    0.58 | polys.TimeGCD_LinearDenseQuadraticGCD.time_op(2, 'dense')            |
| -        | 5.79±0.03ms          | 3.08±0.01ms         |    0.53 | polys.TimeGCD_LinearDenseQuadraticGCD.time_op(3, 'dense')            |
| -        | 453±2μs              | 229±1μs             |    0.51 | polys.TimeGCD_QuadraticNonMonicGCD.time_op(1, 'dense')               |
| -        | 1.49±0.01ms          | 678±3μs             |    0.46 | polys.TimeGCD_QuadraticNonMonicGCD.time_op(2, 'dense')               |
| -        | 4.92±0.04ms          | 1.66±0ms            |    0.34 | polys.TimeGCD_QuadraticNonMonicGCD.time_op(3, 'dense')               |
| -        | 379±3μs              | 207±0.8μs           |    0.54 | polys.TimeGCD_SparseGCDHighDegree.time_op(1, 'dense')                |
| -        | 2.47±0.03ms          | 1.20±0.01ms         |    0.49 | polys.TimeGCD_SparseGCDHighDegree.time_op(3, 'dense')                |
| -        | 9.97±0.1ms           | 4.40±0.03ms         |    0.44 | polys.TimeGCD_SparseGCDHighDegree.time_op(5, 'dense')                |
| -        | 367±5μs              | 170±2μs             |    0.46 | polys.TimeGCD_SparseNonMonicQuadratic.time_op(1, 'dense')            |
| -        | 2.52±0.05ms          | 891±3μs             |    0.35 | polys.TimeGCD_SparseNonMonicQuadratic.time_op(3, 'dense')            |
| -        | 9.54±0.05ms          | 2.63±0.01ms         |    0.28 | polys.TimeGCD_SparseNonMonicQuadratic.time_op(5, 'dense')            |
| -        | 1.04±0.01ms          | 423±3μs             |    0.41 | polys.TimePREM_LinearDenseQuadraticGCD.time_op(3, 'dense')           |
| -        | 1.74±0ms             | 509±1μs             |    0.29 | polys.TimePREM_LinearDenseQuadraticGCD.time_op(3, 'sparse')          |
| -        | 5.75±0.03ms          | 1.79±0.02ms         |    0.31 | polys.TimePREM_LinearDenseQuadraticGCD.time_op(5, 'dense')           |
| -        | 8.29±0.03ms          | 1.52±0.01ms         |    0.18 | polys.TimePREM_LinearDenseQuadraticGCD.time_op(5, 'sparse')          |
| -        | 296±1μs              | 64.8±0.5μs          |    0.22 | polys.TimePREM_QuadraticNonMonicGCD.time_op(1, 'sparse')             |
| -        | 3.50±0.02ms          | 391±1μs             |    0.11 | polys.TimePREM_QuadraticNonMonicGCD.time_op(3, 'dense')              |
| -        | 4.05±0.05ms          | 281±1μs             |    0.07 | polys.TimePREM_QuadraticNonMonicGCD.time_op(3, 'sparse')             |
| -        | 7.13±0.07ms          | 1.26±0.01ms         |    0.18 | polys.TimePREM_QuadraticNonMonicGCD.time_op(5, 'dense')              |
| -        | 8.85±0.1ms           | 846±3μs             |    0.1  | polys.TimePREM_QuadraticNonMonicGCD.time_op(5, 'sparse')             |
| -        | 5.13±0.03ms          | 3.00±0.01ms         |    0.58 | polys.TimeSUBRESULTANTS_LinearDenseQuadraticGCD.time_op(2, 'sparse') |
| -        | 12.1±0.06ms          | 6.53±0.04ms         |    0.54 | polys.TimeSUBRESULTANTS_LinearDenseQuadraticGCD.time_op(3, 'dense')  |
| -        | 22.5±0.09ms          | 9.15±0.04ms         |    0.41 | polys.TimeSUBRESULTANTS_LinearDenseQuadraticGCD.time_op(3, 'sparse') |
| -        | 5.50±0.02ms          | 881±5μs             |    0.16 | polys.TimeSUBRESULTANTS_QuadraticNonMonicGCD.time_op(1, 'sparse')    |
| -        | 12.8±0.05ms          | 7.14±0.03ms         |    0.56 | polys.TimeSUBRESULTANTS_QuadraticNonMonicGCD.time_op(2, 'sparse')    |
| -        | 102±0.7ms            | 25.6±0.07ms         |    0.25 | polys.TimeSUBRESULTANTS_QuadraticNonMonicGCD.time_op(3, 'dense')     |
| -        | 168±0.4ms            | 54.0±0.2ms          |    0.32 | polys.TimeSUBRESULTANTS_QuadraticNonMonicGCD.time_op(3, 'sparse')    |
| -        | 174±0.7μs            | 111±0.3μs           |    0.63 | polys.TimeSUBRESULTANTS_SparseGCDHighDegree.time_op(1, 'dense')      |
| -        | 365±3μs              | 216±1μs             |    0.59 | polys.TimeSUBRESULTANTS_SparseGCDHighDegree.time_op(1, 'sparse')     |
| -        | 4.25±0.02ms          | 837±3μs             |    0.2  | polys.TimeSUBRESULTANTS_SparseGCDHighDegree.time_op(3, 'dense')      |
| -        | 5.26±0.06ms          | 389±4μs             |    0.07 | polys.TimeSUBRESULTANTS_SparseGCDHighDegree.time_op(3, 'sparse')     |
| -        | 19.7±0.2ms           | 2.81±0.02ms         |    0.14 | polys.TimeSUBRESULTANTS_SparseGCDHighDegree.time_op(5, 'dense')      |
| -        | 22.7±0.2ms           | 638±4μs             |    0.03 | polys.TimeSUBRESULTANTS_SparseGCDHighDegree.time_op(5, 'sparse')     |
| -        | 485±8μs              | 133±0.6μs           |    0.27 | polys.TimeSUBRESULTANTS_SparseNonMonicQuadratic.time_op(1, 'sparse') |
| -        | 4.74±0.04ms          | 610±7μs             |    0.13 | polys.TimeSUBRESULTANTS_SparseNonMonicQuadratic.time_op(3, 'dense')  |
| -        | 5.30±0.06ms          | 139±2μs             |    0.03 | polys.TimeSUBRESULTANTS_SparseNonMonicQuadratic.time_op(3, 'sparse') |
| -        | 12.9±0.2ms           | 1.28±0ms            |    0.1  | polys.TimeSUBRESULTANTS_SparseNonMonicQuadratic.time_op(5, 'dense')  |
| -        | 13.8±0.06ms          | 145±0.7μs           |    0.01 | polys.TimeSUBRESULTANTS_SparseNonMonicQuadratic.time_op(5, 'sparse') |
| -        | 133±2μs              | 73.8±0.6μs          |    0.56 | solve.TimeMatrixOperations.time_rref(3, 0)                           |
| -        | 251±1μs              | 86.8±0.5μs          |    0.35 | solve.TimeMatrixOperations.time_rref(4, 0)                           |
| -        | 24.2±0.05ms          | 10.3±0.02ms         |    0.43 | solve.TimeSolveLinSys189x49.time_solve_lin_sys                       |
| -        | 28.5±0.2ms           | 15.4±0.04ms         |    0.54 | solve.TimeSparseSystem.time_linsolve_Aaug(20)                        |
| -        | 55.3±0.3ms           | 24.7±0.1ms          |    0.45 | solve.TimeSparseSystem.time_linsolve_Aaug(30)                        |
| -        | 28.4±0.2ms           | 15.2±0.08ms         |    0.53 | solve.TimeSparseSystem.time_linsolve_Ab(20)                          |
| -        | 54.4±0.3ms           | 24.5±0.1ms          |    0.45 | solve.TimeSparseSystem.time_linsolve_Ab(30)                          |

Full benchmark results can be found as artifacts in GitHub Actions
(click on checks at the top of the PR).

@hanspi42 hanspi42 marked this pull request as ready for review January 16, 2024 08:00
@hanspi42
Copy link
Contributor Author

Hi all,

I have not found more things to change in my manual inspection of the code base, so this pull request can be merged now.

I'll re-run the checks now.

@oscarbenjamin
Copy link
Collaborator

The authors check failed I think because this branch is quite old compared to master now: a merge or rebase is needed.

Otherwise the changes look good to me.

@hanspi42
Copy link
Contributor Author

Thanks! I merged it and have enabled auto-merge.

@hanspi42 hanspi42 enabled auto-merge January 16, 2024 12:11
@hanspi42 hanspi42 merged commit 8f10f3c into sympy:master Jan 16, 2024
@hanspi42 hanspi42 deleted the small_fixes branch January 16, 2024 16:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants