<div dir="ltr">In response to some work on improving the documentation of `numpy.linalg` and how it compares to `scipy.linalg`, Kevin Sheppard suggested that the documentation of the module `numpy.dual` should also be improved.  When I mentioned this suggestion in the community meeting on December 11, it was suggested that we should probably deprecate `numpy.dual`.<br><br>I think some current NumPy developers (myself included at the time the topic came up) are unfamiliar with the history and purpose of this module, so I spent some time reading code and github issues and wrote up some notes.  These notes are available at<br><br>    <a href="https://github.com/WarrenWeckesser/numpy-notes/blob/master/numpy-dual.md" target="_blank">https://github.com/WarrenWeckesser/numpy-notes/blob/master/numpy-dual.md</a><br><br>If you are not familiar with `numpy.dual`, you might find those notes useful.<br><br>Now that I know a bit more about `numpy.dual`, I'm not sure it should be deprecated.  It provides a hook for other libraries to selectively replace the use of the exposed functions in internal NumPy code, so if a library has a better version of, say, `linalg.eigh`, it can configure `numpy.dual` to use its version. Then, for example, NumPy multivariate normal distribution code could benefit from the use of that library's version of `eigh`.<br><br>The NumPy documentation of `numpy.dual` refers specifically to SciPy, but it could be used by any library.  Does anyone know if any other libraries use `register_func` to put their functions into the `numpy.dual` namespace?<br><br>SciPy currently registers some functions, but there is an open issue in which it is proposed that SciPy no longer register its functions with `numpy.dual`:<br><br>    <a href="https://github.com/scipy/scipy/issues/10441" target="_blank">https://github.com/scipy/scipy/issues/10441</a><br><br>This email is to start the discussion of the future of `numpy.dual`.<br>Some of the options:<br><br>1. Quietly continue the status quo.<br>2. Deprecate `numpy.dual`.<br>3. Spend time improving the documentation of this feature, and<br>   perhaps even expand the functions that are supported.<br><br><div>What do you think?  For those who were involved in the creation of `numpy.dual`: is it working out like you expected?  If not, is it worthwhile maintaining it?</div><div><br></div><div>Warren</div><div><br></div></div>