openjournals / joss

The Journal of Open Source Software
https://joss.theoj.org
MIT License
1.5k stars 183 forks source link

Pre-submission inquiry: differentiable scientific computing library #823

Closed mfkasim1 closed 3 years ago

mfkasim1 commented 3 years ago

I would like to know if my software is eligible for JOSS. Here's the abstract from my arxiv paper:

Physics-informed learning has shown to have a better generalization than learning without physical priors. However, training physics-informed deep neural networks requires some aspect of physical simulations to be written in a differentiable manner. Unfortunately, some operations and functionals commonly used in physical simulations are scattered, hard to integrate, and lack higher order derivatives which are needed in physical simulations. In this work, we present xitorch, a library of differentiable functionals for scientific simulations. Example functionals are a root finder and an initial value problem solver, among others. The gradient of functionals in xitorch are written based on their analytical expression to improve numerical stability and reduce memory requirements. xitorch also provides second and higher order derivatives of the functionals which are rarely available in existing packages. We show two applications of this library in optimizing parameters in physics simulations. The library and all test cases in this work can be found at https://github.com/mfkasim1/xitorch/ and the documentation at https://xitorch.readthedocs.io

The idea is to make a library like SciPy, but differentiable. The development repo is: https://github.com/mfkasim1/xitorch/ while the anonymous repo (for a NeurIPS workshop submission) is: https://github.com/xitorch/xitorch/ Is this within JOSS scope?

mfkasim1 commented 3 years ago

Additional note: a paper about the software is submitted to ML4PS workshop in NeurIPS (https://ml4physicalsciences.github.io/2020/). However, on the workshop page it states:

This does not constitute an archival publication or formal proceedings; authors retain full copyright of their work and are free to publish their extended work in another journal or conference

danielskatz commented 3 years ago

This topic seems reasonable to me for JOSS. One question, which I cannot easily judge, is the amount of work and lines of code in the repo. Another is the maturity of the software - which appears to now be at version 0.1.1. Other editors may have different opinions.

mfkasim1 commented 3 years ago

From git ls-files | xargs cat | wc -l, it has 18573 lines, which is way above JOSS flagged software (under 1000 lines). Most of the work is on finding the right implementation to give 2nd derivatives correctly, involving a lot of trial-and-error and multiple refactoring.

Is there a requirement from JOSS about the software version? I'm planning to have certain features implemented before moving to 0.2 and making it production-ready in 1.0. So the versioning might be slow.

danielskatz commented 3 years ago

The size seems to not be a problem.

And there's no version requirement - it's just that 0.1 seems very early to me, where many things might still be in flux. In some sense, I'm thinking about a traditional paper, where the time to publish is when you have completed some major element of work. But this is your decision as the author. (And again, this is just my thought - other editors might have other thoughts)

arfon commented 3 years ago

Closing as stale.