[Numpy-discussion] Not importing polynomial implementation functions by default

Ralf Gommers ralf.gommers at googlemail.com
Sun Mar 13 07:01:28 EDT 2011

On Sun, Mar 13, 2011 at 1:57 PM, David Warde-Farley
<wardefar at iro.umontreal.ca> wrote:
> On 2011-03-12, at 9:32 PM, Charles R Harris wrote:
>> I'd like to change the polynomial package to only import the Classes, leaving the large number of implementation functions to be imported directly from the different modules if needed. I always regarded those functions as implementation helpers and kept them separate from the class so that others could use them to build their own classes if they desired. For most purposes I think the classes are more useful. So I think it was a mistake to import the functions by; default and I'm looking for a graceful and acceptable way out. Any suggestions.

How about just deprecating in 1.6 and removing from the polynomial
namespace in 2.0? Then you do need to add to the docs explicitly that
the submodules contain these functions, that they are part of the
public API and are not going anywhere.

Those functions are unlikely to be heavily used already, so the impact
of a deprecation will be small.

> I hope this wouldn't include polyfit, polyval, roots and vander at least (I'd also be -1 on removing poly{add,sub,mul,div,der,int}, but more weakly so). Those 4 seem useful and "basic" enough to leave in the default namespace.

Are you talking about these functions in the numpy or numpy.polynomial
namespace? I'm guessing the former (since np.polynomial.roots does not
exist), while Charles means the latter.


More information about the NumPy-Discussion mailing list