[Numpy-discussion] TypeError when using double , longdouble in numpy.dot
Christoph Gohlke
cgohlke at uci.edu
Thu Jul 8 03:27:55 EDT 2010
On 7/7/2010 9:59 PM, Charles R Harris wrote:
>
>
> On Wed, Jul 7, 2010 at 10:13 PM, Christoph Gohlke <cgohlke at uci.edu
> <mailto:cgohlke at uci.edu>> wrote:
>
> Dear NumPy developers,
>
> I am trying to solve some scipy.sparse TypeError failures reported in
> [1] and reduced them to the following example:
>
>
> > >> import numpy
> > >> a = numpy.array([[1]])
>
> > >> numpy.dot(a.astype('single'), a.astype('longdouble'))
> array([[1.0]], dtype=float64)
>
> > >> numpy.dot(a.astype('double'), a.astype('longdouble'))
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> TypeError: array cannot be safely cast to required type
>
>
> Just for laughs, what happens if you reverse the order of the arguments?
> Type promotion in numpy is not always symmetric.
>
This works as expected:
>>> numpy.dot(a.astype('longdouble'), a.astype('double'))
array([[1.0]], dtype=float64)
--
Christoph
More information about the NumPy-Discussion
mailing list