[Numpy-discussion] Re: [ANN] NumPy 0.9.6 released

Robert Kern robert.kern at gmail.com
Tue Mar 14 14:42:07 CST 2006


Fernando Perez wrote:
> Travis Oliphant wrote:
> 
>> This post is to announce the release of NumPy 0.9.6 which fixes some
>> important bugs and has several speed improvments.
> 
> Just curious about the svd/singular... pair:
> 
> In [2]: numpy.linalg.singular_value_decomposition??
> Definition:     numpy.linalg.singular_value_decomposition(A,
> full_matrices=0)
> Source:
> def singular_value_decomposition(A, full_matrices=0):
>     return svd(A, full_matrices)
> 
> 
> In [3]: numpy.linalg.svd?
> Definition:     numpy.linalg.svd(a, full_matrices=1)
> 
> 
> Do we really need both spellings to be different just on the default of
> the full_matrices flag?  It seems to me like the kind of unnecessary
> special-casing that just forces people to remember little details
> without a clear benefit.  If we want a long-spelling form, it would be
> cheaper to simply alias the name with a module-level
> 
> singular_value_decomposition = svd
> 
> so the same /object/ is referred to via both names.
> 
> Perhaps I'm missing the blindingly obvious solid reason, but if this  is
> just historical accident, I'd vote for unifying the two simply as
> spelling variants.  I think the flipped default is more confusion-prone
> than beneficial.

I'm pretty sure that this is historical from when we wanted scipy_core's
scipy.linalg to be compatible with both real scipy's scipy.linalg and
backwards-compatible with Numeric's LinearAlgebra.

-- 
Robert Kern
robert.kern at gmail.com

"I have come to believe that the whole world is an enigma, a harmless enigma
 that is made terrible by our own mad attempt to interpret it as though it had
 an underlying truth."
  -- Umberto Eco





More information about the Numpy-discussion mailing list