You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Christos Iraklis Tsatsoulis (JIRA)" <ji...@apache.org> on 2015/12/16 19:22:46 UTC

[jira] [Created] (SPARK-12372) Unary operator "-" fails for MLlib vectors

Christos Iraklis Tsatsoulis created SPARK-12372:
---------------------------------------------------

             Summary: Unary operator "-" fails for MLlib vectors
                 Key: SPARK-12372
                 URL: https://issues.apache.org/jira/browse/SPARK-12372
             Project: Spark
          Issue Type: Bug
          Components: MLlib, PySpark
    Affects Versions: 1.5.2
            Reporter: Christos Iraklis Tsatsoulis


Consider the following snippet in pyspark 1.5.2:

{code:none}
>>> from pyspark.mllib.linalg import Vectors
>>> x = Vectors.dense([0.0, 1.0, 0.0, 7.0, 0.0])
>>> x
DenseVector([0.0, 1.0, 0.0, 7.0, 0.0])
>>> -x
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: func() takes exactly 2 arguments (1 given)
>>> y = Vectors.dense([2.0, 0.0, 3.0, 4.0, 5.0])
>>> y
DenseVector([2.0, 0.0, 3.0, 4.0, 5.0])
>>> x-y
DenseVector([-2.0, 1.0, -3.0, 3.0, -5.0])
>>> -y+x
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: func() takes exactly 2 arguments (1 given)
>>> -1*x
DenseVector([-0.0, -1.0, -0.0, -7.0, -0.0])
{code}

Clearly, the unary operator {{-}} (minus) for vectors fails, giving errors for expressions like {{-x}} and {{-y+x}}, despite the fact that {{x-y}} behaves as expected.
The last operation, {{-1*x}}, although mathematically "correct", includes minus signs for the zero entries, which again is normally not expected.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org