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
Make sympy.physics.biomechanics
public
#25772
Make sympy.physics.biomechanics
public
#25772
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.
Update The release notes on the wiki have been updated. |
A lot of the doctest output in the |
b37153a
to
bd7ac65
Compare
🟠Hi, I am the SymPy bot. I've noticed that some of your commits add or delete files. Since this is sometimes done unintentionally, I wanted to alert you about it. This is an experimental feature of SymPy Bot. If you have any feedback on it, please comment at sympy/sympy-bot#75. The following commits add new files:
If these files were added/deleted on purpose, you can ignore this message. |
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 [8059df73] <sympy-1.12^0> | After [5cc71ab2] | Ratio | Benchmark (Parameter) |
|----------|------------------------------------|---------------------|---------|----------------------------------------------------------------------|
| - | 103±3ms | 69.0±1ms | 0.67 | integrate.TimeIntegrationRisch02.time_doit_risch(10) |
| + | 25.6±0.2μs | 41.0±0.2μs | 1.6 | integrate.TimeIntegrationRisch03.time_doit(1) |
| - | 8.23±0.01ms | 4.52±0.01ms | 0.55 | logic.LogicSuite.time_load_file |
| - | 2.45±0ms | 785±2μs | 0.32 | polys.TimePREM_LinearDenseQuadraticGCD.time_op(3, 'sparse') |
| - | 12.0±0.02ms | 2.35±0ms | 0.2 | polys.TimePREM_LinearDenseQuadraticGCD.time_op(5, 'sparse') |
| - | 436±0.8μs | 98.8±2μs | 0.23 | polys.TimePREM_QuadraticNonMonicGCD.time_op(1, 'sparse') |
| - | 5.60±0.02ms | 436±1μs | 0.08 | polys.TimePREM_QuadraticNonMonicGCD.time_op(3, 'sparse') |
| - | 12.2±0.04ms | 1.31±0ms | 0.11 | polys.TimePREM_QuadraticNonMonicGCD.time_op(5, 'sparse') |
| - | 7.37±0.02ms | 4.73±0.01ms | 0.64 | polys.TimeSUBRESULTANTS_LinearDenseQuadraticGCD.time_op(2, 'sparse') |
| - | 31.8±0.04ms | 14.4±0.02ms | 0.45 | polys.TimeSUBRESULTANTS_LinearDenseQuadraticGCD.time_op(3, 'sparse') |
| - | 8.74±0.09ms | 1.40±0ms | 0.16 | polys.TimeSUBRESULTANTS_QuadraticNonMonicGCD.time_op(1, 'sparse') |
| - | 19.3±0.05ms | 11.0±0.01ms | 0.57 | polys.TimeSUBRESULTANTS_QuadraticNonMonicGCD.time_op(2, 'sparse') |
| - | 245±0.4ms | 84.4±0.1ms | 0.34 | polys.TimeSUBRESULTANTS_QuadraticNonMonicGCD.time_op(3, 'sparse') |
| - | 7.35±0.01ms | 647±8μs | 0.09 | polys.TimeSUBRESULTANTS_SparseGCDHighDegree.time_op(3, 'sparse') |
| - | 31.8±0.04ms | 1.02±0ms | 0.03 | polys.TimeSUBRESULTANTS_SparseGCDHighDegree.time_op(5, 'sparse') |
| - | 718±3μs | 241±10μs | 0.34 | polys.TimeSUBRESULTANTS_SparseNonMonicQuadratic.time_op(1, 'sparse') |
| - | 7.55±0.1ms | 249±30μs | 0.03 | polys.TimeSUBRESULTANTS_SparseNonMonicQuadratic.time_op(3, 'sparse') |
| - | 19.6±0.07ms | 245±2μs | 0.01 | polys.TimeSUBRESULTANTS_SparseNonMonicQuadratic.time_op(5, 'sparse') |
| - | 191±0.3μs | 105±0.2μs | 0.55 | solve.TimeMatrixOperations.time_rref(3, 0) |
| - | 365±1μs | 128±0.6μs | 0.35 | solve.TimeMatrixOperations.time_rref(4, 0) |
| - | 38.3±0.9ms | 16.2±0.07ms | 0.42 | solve.TimeSolveLinSys189x49.time_solve_lin_sys |
Full benchmark results can be found as artifacts in GitHub Actions |
@moorepants I've added you as the code owner for |
@asmeurer and @oscarbenjamin, in case you're curious about the output from our side of the CZI grant, this PR makes public all of the biomechanics-related code that we've added in the form of a new module. |
@@ -96,7 +96,7 @@ class gamma(Function): | |||
loggamma: Log Gamma function. | |||
digamma: Digamma function. | |||
trigamma: Trigamma function. | |||
beta: Euler Beta function. | |||
sympy.functions.special.beta_functions.beta: Euler Beta function. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What are these changes for? Seems unrelated.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
MusculotendonBase
has an attribute called beta
. For some reason Sphinx was getting confused about whether to link to the beta
function from the functions.special
module or the beta
attribute on MusculotendonBase
in the physics.biomechanics
module. The solution was to provide the full paths here so that Sphinx knew which of the two to use.
What's not clear to me is why Sphinx was getting confused between a class and an attribute on a class with the same name. I'd have thought that it shouldn't be considering attributes in this case, but it was.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok. Let's merge this!
This is ready to go in other than the one comment. |
Congrats! Merging. |
References to other Issues or PRs
Makes public the majority of the CZI biomechanics work program described in #24240. Addresses many of the outstanding pieces noted in #25508.
Brief description of what is fixed or changed
This PR makes public the new
biomechanics
module insympy.physics
.Other comments
sympy.physics._biomechanics
#25744.Release Notes