Exemple #1
0
    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))
Exemple #2
0
    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()))
Exemple #3
0
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))