[Numpy-discussion] Deprecate numpy.dual?

Warren Weckesser warren.weckesser at gmail.com
Fri Jan 3 07:11:44 EST 2020

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`.

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


If you are not familiar with `numpy.dual`, you might find those notes

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

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?

SciPy currently registers some functions, but there is an open issue in
which it is proposed that SciPy no longer register its functions with


This email is to start the discussion of the future of `numpy.dual`.
Some of the options:

1. Quietly continue the status quo.
2. Deprecate `numpy.dual`.
3. Spend time improving the documentation of this feature, and
   perhaps even expand the functions that are supported.

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?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20200103/d2111ef1/attachment.html>

More information about the NumPy-Discussion mailing list