[ 
https://issues.apache.org/jira/browse/FLINK-1937?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14514095#comment-14514095
 ] 

Till Rohrmann commented on FLINK-1937:
--------------------------------------

Hi [~chiwanpark],

the problem is that you're giving a tuple of (Int, Int) to the function 
{{fromCOO}} which expects a tuple of (Int, Double). Creating the 
{{SparseVector}} with
{code}
val vec2 = SparseVector.fromCoo(3, (1, 1.0))
{code}
should fix your problem.

The underlying problem is that the Scala compiler cannot cast a tuple of (Int, 
Int) to (Int, Double) even though Int values are a subset of Double. We could 
add methods which do this for us, though.

> Cannot create SparseVector with only one non-zero element.
> ----------------------------------------------------------
>
>                 Key: FLINK-1937
>                 URL: https://issues.apache.org/jira/browse/FLINK-1937
>             Project: Flink
>          Issue Type: Bug
>          Components: Machine Learning Library
>            Reporter: Chiwan Park
>            Assignee: Till Rohrmann
>              Labels: ML
>
> I tried creating SparseVector with only one non-zero element. But I couldn't 
> create it. Following code causes the problem.
> {code}
> val vec2 = SparseVector.fromCOO(3, (1, 1))
> {code}
> I got a compile error following:
> {code:none}
> Error:(60, 29) overloaded method value fromCOO with alternatives:
>   (size: Int,entries: Iterable[(Int, 
> Double)])org.apache.flink.ml.math.SparseVector <and>
>   (size: Int,entries: (Int, Double)*)org.apache.flink.ml.math.SparseVector
>  cannot be applied to (Int, (Int, Int))
>     val vec2 = SparseVector.fromCOO(3, (1, 1))
>                             ^
> {code}



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

Reply via email to