I don't understand how cosine works. It looks like it does not implement the correct functions. ``` input_matrix :thing_other, # :native => true, :similarity_func => :cosine ``` ``` recommender.thing_other.process! Traceback (most recent call last): 1: from (irb):13 RuntimeError (implemented in subclass) ``` Looking at the code, it looks like there are unimplemented methods on the class. Is this expected?