-
-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: vsoch <vsochat@stanford.edu>
- Loading branch information
Showing
3 changed files
with
102 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,102 @@ | ||
--- | ||
layout: post | ||
title: "nodepy" | ||
date: 2020-11-22 | ||
author: "@vsoch" | ||
annotate_criteria: https://rseng.github.io/software/repository/github/ketch/nodepy/annotate-criteria/index.html | ||
annotate_taxonomy: https://rseng.github.io/software/repository/github/ketch/nodepy/annotate-taxonomy/ | ||
categories: | ||
- Software | ||
--- | ||
|
||
Nodepy is a package for the analysis of numerical ODE solvers. Why is an ODE solver? Read on to learn more! | ||
|
||
<br> | ||
|
||
![{{ site.baseurl }}/assets/img/posts/showcase/nodepy-ploi.png]({{ site.baseurl }}/assets/img/posts/showcase/nodepy-plot.png) | ||
|
||
<br> | ||
|
||
Are you already familiar with nodepy? We encourage you to contribute to the [research software encyclopedia](https://rseng.github.io/rse/tutorials/annotation/) and annotate the respository: | ||
|
||
<ul> | ||
<li><a href="{{ page.annotate_criteria }}" target="_blank">Annotate the software criteria</a></li> | ||
<li><a href="{{ page.annotate_taxonomy }}" target="_blank">Annotate the software taxonomy</a></li> | ||
</ul> | ||
|
||
otherwise, keep reading! | ||
|
||
<!--more--> | ||
|
||
- [What is nodepy?](#what-is) | ||
- [How do I cite it?](#cite) | ||
- [How do I get started?](#getting-started) | ||
- [How do I contribute to the software survey](#contribute) | ||
- [Where can I learn more?](#learn-more) | ||
|
||
<a id="what-is"> | ||
## What is Nodepy? | ||
|
||
Ordinary differential equations (ODEs) are extremely useful tools for describing multiple coupled quantities changing over time in deterministic settings. For example, they are used for modelling the motion of planets, electrical circuits, and dynamics of biological systems. In many cases they cannot be solved exactly and require numerical solutions. Numerical ODEs have developed as their own branch of mathematics, concerned with both accuracy and stability of solutions. NodePy is a Python library for numerical ODEs. | ||
|
||
NodePy has been cited multiple times by practitioners, fuelling further development for years. It is based on Python's SymPy and NumPy libraries, and optionally NetworkX, CVXPY, and Scipy for specific algorithms. | ||
|
||
|
||
#### Why is it useful? | ||
|
||
In addition to having multiple algorithms 'out of the box', it also allows users to experiment with their own. There is a collection of tools with a common interface that helps users study the properties of these various algorithms. For example, it can determine stability and numerical accuracy automatically. NodePy is not meant to just be a collection of algorithms, but a tool to help students and practitioners develop and understand their own algorithms. | ||
|
||
|
||
<a id="cite"> | ||
## How do I cite it? | ||
|
||
There is an accompanying paper, which you can cite using: | ||
|
||
``` | ||
@article{Ketcheson2020, | ||
doi = {10.21105/joss.02515}, | ||
url = {https://doi.org/10.21105/joss.02515}, | ||
year = {2020}, | ||
publisher = {The Open Journal}, | ||
volume = {5}, | ||
number = {55}, | ||
pages = {2515}, | ||
author = {David I. Ketcheson and Hendrik Ranocha and Matteo Parsani and Umair Bin Waheed and Yiannis Hadjimichael}, | ||
title = {`NodePy`: A package for the analysis of numerical ODE solvers}, | ||
journal = {Journal of Open Source Software} | ||
} | ||
``` | ||
|
||
<a id="getting-started"> | ||
## How do I get started? | ||
|
||
- [Nodepy Documentation](https://nodepy.readthedocs.io/) | ||
- [JOSS paper](https://joss.theoj.org/papers/10.21105/joss.02515#). | ||
|
||
|
||
<a id="contribute"> | ||
## How do I contribute to the software survey? | ||
|
||
<ul> | ||
<li><a href="{{ page.annotate_criteria }}" target="_blank">Annotate the software criteria</a></li> | ||
<li><a href="{{ page.annotate_taxonomy }}" target="_blank">Annotate the software taxonomy</a></li> | ||
</ul> | ||
|
||
or read more about annotation [here]({{ site.baseurl }}/tutorials/annotate-your-software). You can clone the software repository to do | ||
bulk annotation, or annotation any repository in the <a href="https://rseng.github.io/software/" target="_blank">software database</a>, | ||
We want annotation to be fun, straight-forward, and easy, so we will be showcasing one repository to annotate per week. | ||
If you'd like to request annotation of a particular repository (or addition to the software database) | ||
please don't hesitate to [open an issue](https://github.com/rseng/software/issues) or even a pull request. | ||
|
||
<a id="learn-more"> | ||
## Where can I learn more? | ||
|
||
You might find these other resources useful: | ||
|
||
- [The Research Software Database](https://github.com/rseng/software) on GitHub | ||
- [RSEpedia Documentation](https://rseng.github.io/rse) | ||
- [Google Docs Manuscript](https://docs.google.com/document/d/1wDb0udH9OrFWrMBsAVb8RrUMCKKRHoyEep7yveJ1d0k/edit) you are invited to contribute to. | ||
- [Annotation Documentation for RSEpedia](https://rseng.github.io/rse/tutorials/annotation/) | ||
- [Annotation Tutorial in RSEng docs](https://rseng.github.io/rse/tutorials/annotation/) | ||
|
||
For any resource, you are encouraged to give feedback and contribute! |
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.