def testSparseDot(self): s1 = SparseNDArray(self.s1) s2 = SparseNDArray(self.s2) v1 = SparseNDArray(self.v1, shape=(3, )) v2 = SparseNDArray(self.v2, shape=(2, )) self.assertArrayEqual(mls.dot(s1, s2.T), self.s1.dot(self.s2.T)) self.assertArrayEqual(s1.dot(self.d1), self.s1.dot(self.d1)) self.assertArrayEqual(self.d1.dot(s1.T), self.d1.dot(self.s1.T.toarray())) self.assertArrayEqual(mls.tensordot(s1, s2.T, axes=(1, 0)), self.s1.dot(self.s2.T)) self.assertArrayEqual(mls.tensordot(s1, self.d1, axes=(1, -1)), self.s1.dot(self.d1)) self.assertArrayEqual(mls.tensordot(self.d1, s1.T, axes=(0, 0)), self.d1.dot(self.s1.T.toarray())) self.assertArrayEqual(mls.dot(s1, v1), self.s1.dot(self.v1_data)) self.assertArrayEqual(mls.dot(s2, v1), self.s2.dot(self.v1_data)) self.assertArrayEqual(mls.dot(v2, s1), self.v2_data.dot(self.s1.A)) self.assertArrayEqual(mls.dot(v2, s2), self.v2_data.dot(self.s2.A)) self.assertArrayEqual(mls.dot(v1, v1), self.v1_data.dot(self.v1_data)) self.assertArrayEqual(mls.dot(v2, v2), self.v2_data.dot(self.v2_data)) self.assertArrayEqual(mls.dot(v2, s1, sparse=False), self.v2_data.dot(self.s1.A)) self.assertArrayEqual(mls.dot(v1, v1, sparse=False), self.v1_data.dot(self.v1_data))
def testSparseDot(self): s1 = SparseNDArray(self.s1) s2 = SparseNDArray(self.s2) self.assertArrayEqual(mls.dot(s1, s2.T), self.s1.dot(self.s2.T)) self.assertArrayEqual(s1.dot(self.d1), self.s1.dot(self.d1)) self.assertArrayEqual(self.d1.dot(s1.T), self.d1.dot(self.s1.T.toarray())) self.assertArrayEqual(mls.tensordot(s1, s2.T, axes=(1, 0)), self.s1.dot(self.s2.T)) self.assertArrayEqual(mls.tensordot(s1, self.d1, axes=(1, -1)), self.s1.dot(self.d1)) self.assertArrayEqual(mls.tensordot(self.d1, s1.T, axes=(0, 0)), self.d1.dot(self.s1.T.toarray()))
def test_sparse_dot(): s1 = SparseNDArray(s1_data) s2 = SparseNDArray(s2_data) v1_s = SparseNDArray(v1, shape=(3, )) v2_s = SparseNDArray(v2, shape=(2, )) assertArrayEqual(mls.dot(s1, s2.T), s1.dot(s2.T)) assertArrayEqual(s1.dot(d1), s1.dot(d1)) assertArrayEqual(d1.dot(s1.T), d1.dot(s1.T.toarray())) assertArrayEqual(mls.tensordot(s1, s2.T, axes=(1, 0)), s1.dot(s2.T)) assertArrayEqual(mls.tensordot(s1, d1, axes=(1, -1)), s1.dot(d1)) assertArrayEqual(mls.tensordot(d1, s1.T, axes=(0, 0)), d1.dot(s1.T.toarray())) assertArrayEqual(mls.dot(s1, v1_s), s1.dot(v1_data)) assertArrayEqual(mls.dot(s2, v1_s), s2.dot(v1_data)) assertArrayEqual(mls.dot(v2_s, s1), v2_data.dot(s1_data.A)) assertArrayEqual(mls.dot(v2_s, s2), v2_data.dot(s2_data.A)) assertArrayEqual(mls.dot(v1_s, v1_s), v1_data.dot(v1_data), almost=True) assertArrayEqual(mls.dot(v2_s, v2_s), v2_data.dot(v2_data), almost=True) assertArrayEqual(mls.dot(v2_s, s1, sparse=False), v2_data.dot(s1_data.A)) assertArrayEqual(mls.dot(v1_s, v1_s, sparse=False), v1_data.dot(v1_data))