-
-
Notifications
You must be signed in to change notification settings - Fork 197
MAINT: Replace polyfit/polyval with Polynomial class. #155
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
Conversation
The Polynomial class is recommended over the poly* functional interface for new code.
Okay, text updated - this is ready for review! |
@@ -264,25 +264,26 @@ Now, if we want to create a very simple approximation for this data, we should t | |||
dates[~china_total.mask] | |||
``` | |||
|
|||
Finally, we can use the [numpy.polyfit](https://numpy.org/devdocs/reference/generated/numpy.polyfit.html#numpy.polyfit) and [numpy.polyval](https://numpy.org/devdocs/reference/generated/numpy.polyval.html#numpy.polyval) functions to create a cubic polynomial that fits the data as best as possible: | |||
Finally, we can use the | |||
[fitting functionality of the numpy.polynomial](https://numpy.org/doc/stable/reference/generated/numpy.polynomial.polynomial.Polynomial.fit.html) |
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.
Could we use intersphinx for links like this? (not in scope in this PR, but this is where I spotted it)
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.
We could, but we've chosen not to - the reason being that the MyST extended features are currently tied to sphinx, meaning they only work for the outputs that pass through the sphinx build process. In practice this means that it would render correctly in the website, but not in the Jupyter notebook (i.e. for users running tutorials locally or on binder).
As of now we've decided to limit the tutorials only to syntax that will render correctly in both the browser and the html, but we could certainly revisit this at some point.
PS - this is also one of the major reasons I'm excited about MystJS, though I'm not sure that support for sphinx extensions like intersphinx are on the roadmap (yet).
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.
Oh, gotcha, my ignorance shows how much I dislike working in the browser with notebooks :)
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.
There are certainly things we could consider that might work within the current constraints. E.g. trying thebe instead of binder for cell-level interactivity rather than notebook-level might work, and would have the advantage that the sphinx-specific functionality (admonitions, links, etc.) could be used more extensively, as readers would be working in the website directly. I don't have any real idea because I've never tried!
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.
No worries about brute forcing a workaround for this.
Adding a link checker CI job would address my main concern about the hard-wired URLs, so I think we should just do that instead (I think we should do it anyway).
Thanks @rossbar! |
The Polynomial class is recommended over the poly* functional interface for new code.
Creating a draft for now, as the text will need to be updated too!