As the name indicates, my new site includes a combination notebook and blog. The blog will include content like what I've posted here, while the notebook will be more technical and include details of my current research. You can subscribe to the feed for both here:

Tuesday, August 28, 2012

NodePy is a Python package for analyzing numerical integrators for initial value ODEs. It's essentially a collection of all the kinds of analysis I've used in my time integrator research, collected in a single object-oriented package.

If you have a new Runge-Kutta method and want to know all about it, NodePy can tell you most anything. If you want to design new time integration methods, NodePy can help you.

Although I'm rather proud of it, it fills a very small niche in the world and I'm not aware of anyone using it outside of my group and close collaborators. If you've used it, please let me know in the comments.

One of the thorniest issues in NodePy previously was that floating-point representations of method coefficients were sometimes insufficient, especially when studying very high order methods. I've now updated NodePy to use Sympy Rationals (and radicals, etc.) wherever possible, allowing exact analysis of many properties.

In 2003-2004, as a senior undergraduate, I got involved in research on strong stability preserving (SSP) Runge--Kutta (RK) methods. I noticed a number of "numerical coincidences" -- certain numbers characterizing ostensibly different properties of RK methods always happened to be exactly the same. I didn't yet have the necessary background to fully prove the conjectured connection, but after months of work, I finally succeeded in completing a partial solution to the problem, which I wrote up as my undergraduate thesis. Before I could submit a manuscript for publication, I discovered that two other researchers had just published the full result. Hence my manuscript was, of course, unpublishable.

Occasionally, situations like this are inevitable. But those researchers had worked out and written up the result at least a year ahead of me -- before I even began the work in earnest. If their work had been available to me at the outset, I could have devoted my time to unanswered questions.

Refereeing is slow; distribution is fast

In my field (applied math), it often takes more than 1 year for a submitted paper to be published. This is because a thorough referee process of a manuscript takes time, and I think that time is worthwhile. In contrast, I can "publish" a new paper on the arXiv in just 48 hours, or on my professional website instantaneously.

Many readers may not wish to see my work until it has been refereed. But for those working on similar problems, reading my work 1 year earlier can be very useful by pointing out promising new avenues or avoiding duplication of effort.

The open scientist distributes his publishable research openly before the formal refereeing and publishing process, by placing completed manuscripts on a preprint server like the arXiv.

The first time you do this, you may feel worried that someone else will 'steal' your preprint and publish it before you. But posting it on the arXiv makes it public and stamps it with a date, so such theft would be obvious to everyone. You may be worried that others will steal your ideas and immediately begin working on your next planned research question. But if you're like me, the number of related research questions to pursue is essentially endless and you'd be fortunate if your efforts attract others to work on closely related topics (for the truly self-interested, note that it will increase your citation count). Finally, in some fields or subfields, there is cultural resistance to making preprints public; you can see my take on the issue in this prior blog post. But there are signs that it is gaining wider acceptance.

If everyone began to practice this, it would effectively transform the role of journals. They would no longer be the primary distribution apparatus; their role would be that of filtering the already-published literature. This would make a lot more science available a lot sooner, without sacrificing the usefulness of peer review.